inicontent
| Install | |
|---|---|
npm install inicontent |
|
| Latest Version: | 1.5.0 |
| Vue: | 3 |
| License: | Apache-2.0 |
| Last Updated: | Oct 11, 2026 |
| Links: | GitHub · npm |
Inicontent CMS
License: Inicontent CMS is open source under the Apache License 2.0. This repository contains the client layer only — the Inicontent backend API (
inicontent/api) is proprietary.
Introduction
Inicontent CMS is a content management system built using Nuxt as its framework. It leverages modern tools such as:
- Naive UI for a sleek component library.
- Tabler Icons for intuitive and attractive icons.
- Tiptap for a powerful Rich Text Editor.
Features
- Multi-database admin - manage one or many databases from a single
/admininterface. - Rich text editing via Tiptap.
- Sleek UI built with Naive UI and Tabler Icons.
- PWA-ready out of the box.
- Drop-in as a Nuxt Layer, or clone and customize directly.
Custom blocks
Block types don't have to ship with the CMS. Declare one in
app/components/Block/customBlocks.ts — a config schema, a
Liquid template, and optional CSS — and it appears in the
builder's block picker, the design picker, the config editor, and page rendering,
with no component to write and no registry to edit.
Templates can read their own config fields ({{ heading }}), the row a dynamic
page matched ({{ item.column }}), and loop over table rows ({% for %}).
Output is HTML-escaped unless you pipe through | raw.
See AGENTS.md for the full contract.
Ecosystem
inicontent/starter— the minimal layer app to build on: a starting point with routing and the project wiring already done.@inicontent/mcp— the MCP server that connects code agents (ChatGPT, Claude, Cursor, OpenCode, …) to a database: REST tools, context resources (the query language, table schemas and flows, authentication, custom-route registration), and starter scaffolding. This replaced the in-app AI assistant and chatbot, and is where the AI-agent context now lives.inicontent/api (private)— the server behindhttps://api.inicontent.com/: REST CRUD per table, authentication, assets.
REST API & authentication (short version)
Every database gets a public REST API at https://api.inicontent.com/{databaseSlug}:
PUT {db}/auth/signinwith{ "username": ..., "password": ... }→ returns asessionID; pass it on every request as the{db}_sidquery param.- Table data:
GET/POST/PUT/DELETE {db}/{table}— list pagination/projection live in the Inison-stringifiedoptionsquery param and filters inwhere. - Structure:
GET/POST/PUT/DELETE inicontent/databases/{db}[/{table}]for metadata, schemas, flows (onRequest/onResponse), and table CRUD. - AI access goes through the
@inicontent/mcpserver (there are no in-app/aiendpoints): itsinicontent_*tools wrap the endpoints above and scaffoldinicontent/starterfor custom code.
For the full reference — query language, schema field types, flows, routing —
connect a client to the @inicontent/mcp
server, which serves it as context resources.
Usage
There are two ways to use this project:
1. Recommended Method: Install from npm and Add as a Nuxt Layer
The easiest way to integrate Inicontent CMS is to install it from npm and use it as a Nuxt Layer.
Steps:
- Install the package:
(ornpm install inicontentpnpm add inicontent,yarn add inicontent,bun add inicontent) - Add it as a layer in your
nuxt.configfile:// nuxt.config.ts export default defineNuxtConfig({ extends: ["inicontent"] }); - Remove your existing
app.vuefile to avoid conflicts. - To override specific admin routes, create corresponding files in the
pagesdirectory. These will automatically override the default routes provided by the CMS.
Database Configuration:
- By default, the CMS is a multi-database manager.
- When no
databaseis set in.env, the admin interface (/admin) will display all available databases. Users can then navigate to a specific database's admin panel at/admin/<dbName>. - If a
databaseis specified in.env, the/adminroute will directly display the tables for the specified database, removing the need to include the database name in the path.
- When no
# .env
database=DATABASE_SLUG
This method keeps your project clean and makes updates to the CMS easy: you stay on the inicontent version pinned in your package.json and upgrade intentionally with npm update inicontent.
2. Advanced Method: Clone and Edit the Repository
If you need extensive customization, clone the repository and modify it directly.
git clone https://github.com/inicontent/inicontent.git
cd inicontent
pnpm install
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
database |
No | inicontent |
Database slug the admin panel targets directly. |
apiBase |
No | https://api.inicontent.com/ |
Base URL for the Inicontent API. |
idOne |
No | (built-in default) | Public identifier used by the API client. |
Copy these into a local .env file as needed; none are required to start the dev server.
Setup
Install the dependencies to get started (any package manager works — npm, pnpm, yarn, or bun):
npm install
Development
Start the development server at http://localhost:3434:
npm run dev
Production
Build the application for production:
npm run build
Preview the production build locally:
npm run preview
Linting
This project uses Biome for linting and formatting:
pnpm lint # check
pnpm format # check and write
Contributing
Contributions are welcome. See CONTRIBUTING.md for setup, branch/commit conventions, and the PR process.
Related Packages
revenexx hard fork of blökkli — interactive page building experience for Nuxt. I...
Blokowy edytor wizualny treści dla aplikacji Vue 3 — kanwa, konspekt, panel właś...
Visual page editor and renderer for Vue. Register the components you already shi...
Version History
| Version | Released | License |
|---|---|---|
| 1.5.0 | Apache-2.0 | |
| 1.4.0 | Apache-2.0 | |
| 1.3.0 | Apache-2.0 | |
| 1.2.0 | Apache-2.0 | |
| 1.1.0 | Apache-2.0 | |
| 1.0.7 | Apache-2.0 | |
| 1.0.6 | Apache-2.0 | |
| 1.0.5 | Apache-2.0 | |
| 1.0.4 | Apache-2.0 | |
| 1.0.3 | Apache-2.0 | |
| 1.0.2 | ||
| 1.0.1 | ||
| 1.0.0 |