Skip to content

Latest commit

 

History

History
25 lines (21 loc) · 4.27 KB

File metadata and controls

25 lines (21 loc) · 4.27 KB

Capability signals

The memory bank is shaped by the concerns the project genuinely has, not by a single project type. The templates live in one folder per capability under assets/templates/memory/. The folder is the gate: generate core/ always, plus the folder of each capability the project has.

A capability holds when a concrete fact in the repo matches the capability's definition. The listed signals are canonical evidence, not a closed set: an equivalent concrete fact (a dedicated module, a set of ports) counts too. What never counts is an inferred dominant domain ("it is a web app, so it probably has auth"). There is no fallback type and no unknown. Every fire is shown to the user with its evidence at the Confirm step, so a judged match is never silent.

Capability, definition, and folder

Folder Definition (the concern) Evidence (any concrete one, or an equivalent fact) Concerns (files)
core always always project-brief, architecture, codebase-map, coding-assertions, testing, vcs
ui renders a user-facing interface a web frontend framework in the manifest (not React Native), or a components/, pages/ web UI dir design, forms, navigation
api exposes an HTTP or RPC surface a server framework in the manifest, or a routes/, controllers/, api/ dir api, integration
database persists data in a store an ORM or driver in the manifest, a migrations/ dir, or a schema file database
auth authenticates a user or service, or authorizes access an auth library (passport, next-auth, clerk, auth0, devise), auth middleware, or a dedicated auth module (oauth, token, credential, or session handling) auth
realtime pushes live updates over a persistent connection a websocket or SSE library (socket.io, ws, pusher, ably) realtime
messaging produces or consumes asynchronous messages a queue or broker (kafka, rabbitmq, sqs, bullmq) with producers or consumers messaging
deployment is built and shipped to a runtime a CI config, or a Dockerfile deployment
infra provisions infrastructure as code Terraform, Pulumi, Kubernetes, or Helm files infra
mobile ships a native or cross-platform mobile app an ios/ or android/ dir, a pubspec.yaml, a Podfile, or React Native or Flutter mobile
desktop ships a native desktop app Electron or Tauri desktop
package ships a reusable library others import an importable entry (main, module, exports) that is not the CLI bin target, and publishable (not private) package
cli is run as a command-line tool a bin field, or a CLI-parser dependency (commander, yargs, oclif, clap, click) cli
data processes data or trains models notebooks, a data-versioning or ML tool, or pipeline and model files data
monorepo hosts several packages in one repo workspaces, or a monorepo tool (Turborepo, Nx, Lerna) enriches core/codebase-map (the Packages section), no folder