nocobase-app-development

Guides development of pages, routes, endpoints, migrations, and tests in NocoBase 3 applications.

9|3|Updated Aug 14, 2026
One-click install
npx skills add https://github.com/nocobase/nocobase3 --skill nocobase-app-development-nocobase
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: nocobase-app-development
Source: https://github.com/nocobase/nocobase3/tree/main/packages/templates/app-template-hub/skills/nocobase-app-development
Command: npx skills add https://github.com/nocobase/nocobase3 --skill nocobase-app-development-nocobase

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building features in a NocoBase 3 application requires coordinating many layers—client routes, server endpoints, database migrations, translations, and tests—while respecting framework conventions and plugin boundaries. This Skill provides the authoritative workflow and reference documentation so features are built correctly the first time, avoiding costly mistakes like hand-implementing capabilities that registered plugins already provide or bypassing security rules. ## Core Features & Use Cases - Task-based reference routing: Directs you to the exact reference document for your task—client pages and routes, child routes and Tabs, components and styling, server routes, database access, migrations, i18n, services, or testing. - Plugin boundary enforcement: Checks installed plugins (authorization, authentication, users, i18n) before writing features by hand, and clearly separates application development from plugin package development. - Non-negotiable guardrails: Enforces rules like per-route authentication, immutable migrations, translation keys for all user-visible strings, and PageContainer wrapping. - Use Case: When asked to add an orders management page with an API endpoint, this Skill walks you through creating the migration, the authenticated server route, the lazy-loaded client page with navigation, translations, and tests—then verifying with typecheck, test, lint, and build. ## Quick Start Use the nocobase-app-development skill to add a new orders page with a corresponding authenticated API endpoint and database table to this NocoBase application.

Frequently Asked Questions about nocobase-app-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new page with navigation in a NocoBase 3 application?▼

Declare the route in client/routes.ts using defineAppRoutes with a lazy componentLoader and a navigation title, then create the page component in client/pages/ wrapped in PageContainer. Add translation keys to client/locales/ so the sidebar label renders in every supported language.

How do I create an authenticated API endpoint in NocoBase?▼

Define the endpoint in server/routes/ using defineApiRoutes and apply auth.required() middleware from the authentication plugin. Mounting under /api does not authenticate anything, so every route must own its own authentication and authorization checks.

When should I build a plugin instead of an application feature?▼

Build in the application by default; create a plugin only when the user explicitly asks for an independently published, reusable package. This Skill does not apply to plugin packages, which have their own protocol and repository.

Can I edit an existing NocoBase migration after merging?▼

No. Once the branch that introduced a migration is merged, never edit it—every change becomes a new migration. Migrations are immutable, self-contained history and must never import evolving definitions from runtime code.

Does NocoBase support databases other than SQLite?▼

Yes. Register the dialect driver (postgres, mysql, oracle, mssql, kingbase, oceanbase, dameng) in server/config/database.ts via defineAppDatabaseConfig, then override connection settings in config.yml. YAML alone cannot register a driver.

Why should I check installed plugins before writing a feature?▼

The application ships with plugins for authorization, authentication, users, and i18n that already implement whole requirement categories. Hand-implementing a capability a registered plugin provides is described as the most expensive mistake available.