ワンクリックで
add-feature
// Use when the user asks to add a feature, implement functionality, or build something spanning database, API, and frontend. ALWAYS use for multi-layer feature work.
// Use when the user asks to add a feature, implement functionality, or build something spanning database, API, and frontend. ALWAYS use for multi-layer feature work.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Design system for Activepieces (open-source AI automation platform, "open source replacement for Zapier"). Use whenever designing, mocking, or building UI for Activepieces — the web app (flow builder, runs, connections, dashboard), docs, or marketing surfaces. Provides brand purple `#8142E3`, Inter type ramp with `sm` (14px) as body default, Tailwind neutrals, Lucide icons, Shadcn/Radix primitive conventions, the signature dotted-canvas builder background, and a recreated web UI kit.
Use when adding a new API endpoint, route, or HTTP handler. ALWAYS use for new Fastify controller endpoints.
Use when creating a new database table, entity, or data model. ALWAYS use for any new TypeORM EntitySchema creation.
Creates TypeORM database migrations for the Activepieces server. Use when the user asks to add a column, create a table, add an index, or make any schema change to the database.
Maintains feature documentation in .agents/features/ and performs mandatory feature overlap detection before any new feature is proposed. Also builds a shared domain vocabulary for Activepieces. Use when the user asks to define domain terms, build a glossary, harden terminology, create ubiquitous language, references "domain model" or "DDD", or asks about adding a new feature.
| name | add-feature |
| description | Use when the user asks to add a feature, implement functionality, or build something spanning database, API, and frontend. ALWAYS use for multi-layer feature work. |
Implement feature described in $ARGUMENTS across the full stack.
Before writing code, answer:
hooksFactory (CE default + EE override in app.ts)PlatformPlan entity + LicenseKeyEntity type + plan constants in sharedPermission enum in sharedEmbeddingState in frontendpackages/shared)z.infer types in src/lib/{domain}/src/index.ts barrelpackage.json (patch for fix, minor for new export)packages/server/api)Read .agents/features/<module-name>.md first (e.g. .agents/features/tables.md for the tables module).
EntitySchema + BaseColumnSchemaPart + ApIdSchema. See tables/table/table.entity.ts.getEntities() in database-connection.ts (REQUIRED — TypeORM doesn't auto-discover)postgres-connection.ts → add to getMigrations() → handle PGlite(log: FastifyBaseLogger) => ({...}) if logging needed, plain object otherwise. See tables/table/table.service.ts.FastifyPluginAsyncZod. Route configs AFTER controller. securityAccess required. See tables/table/table.controller.ts.entitiesMustBeOwnedByCurrentProject hook if returning project-scoped dataapp.ts (CE or EE section)src/app/ee/, gate with platformMustHaveFeatureEnabled((p) => p.plan.myFlag)*-side-effects.ts file if mutations trigger events/webhooksSystemJobName or WorkerJobType enum in sharedapp.ts via systemJobHandlers.registerJobHandler()packages/web)src/features/{feature}/api/, hooks/, components/features/tables/api/tables-api.tsfeatures/tables/hooks/table-hooks.tsReact.lazy() + ProjectRouterWrapper() + RoutePermissionGuard + SuspenseWrapperpackages/web/public/locales/en/translation.json onlyflagsHooks.useFlag() or <FlagGuard>packages/server/api/test/integration/ce/{feature}.test.tssetupTestEnvironment() + createTestContext(app)npm run lint-dev
npm run test-api