openplanr 2.2641.1 → 2.2641.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +1 -1
- package/dist/cli/commands/artifact.js +1 -1
- package/dist/cli/commands/artifact.js.map +1 -1
- package/dist/cli/commands/github.d.ts.map +1 -1
- package/dist/cli/commands/github.js +7 -10
- package/dist/cli/commands/github.js.map +1 -1
- package/dist/cli/commands/linear.js +1 -1
- package/dist/cli/commands/linear.js.map +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +28 -32
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +1 -1
- package/dist/dashboard/assets/{index-DGyC7RDz.js → index-DI_TKz9J.js} +2 -2
- package/dist/dashboard/assets/{index-DGyC7RDz.js.map → index-DI_TKz9J.js.map} +1 -1
- package/dist/dashboard/dashboard-manifest.json +8 -8
- package/dist/dashboard/index.html +1 -1
- package/dist/models/schema.d.ts +0 -4
- package/dist/models/schema.d.ts.map +1 -1
- package/dist/models/schema.js +0 -2
- package/dist/models/schema.js.map +1 -1
- package/dist/models/types.d.ts +1 -4
- package/dist/models/types.d.ts.map +1 -1
- package/dist/services/credentials-service.js +1 -1
- package/dist/services/credentials-service.js.map +1 -1
- package/dist/services/distribution-service.d.ts +1 -4
- package/dist/services/distribution-service.d.ts.map +1 -1
- package/dist/services/distribution-service.js +1 -60
- package/dist/services/distribution-service.js.map +1 -1
- package/dist/services/github-service.d.ts +7 -4
- package/dist/services/github-service.d.ts.map +1 -1
- package/dist/services/github-service.js +16 -15
- package/dist/services/github-service.js.map +1 -1
- package/dist/services/linear-push-service.d.ts +3 -4
- package/dist/services/linear-push-service.d.ts.map +1 -1
- package/dist/services/linear-push-service.js +5 -6
- package/dist/services/linear-push-service.js.map +1 -1
- package/dist/services/spec-service.d.ts.map +1 -1
- package/dist/services/spec-service.js +34 -69
- package/dist/services/spec-service.js.map +1 -1
- package/dist/templates/rules/shared/capability-map.md.hbs +1 -1
- package/docs/CLI.md +10 -14
- package/lib/host-packages/adapter-registry.json +5 -5
- package/lib/host-packages/capability-map.json +8 -8
- package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +80 -64
- package/lib/host-packages/claude/openplanr/README.md +8 -12
- package/lib/host-packages/claude/openplanr/agents/planr-backend.md +49 -55
- package/lib/host-packages/claude/openplanr/agents/planr-database.md +56 -92
- package/lib/host-packages/claude/openplanr/agents/planr-designer.md +35 -51
- package/lib/host-packages/claude/openplanr/agents/planr-devops.md +37 -51
- package/lib/host-packages/claude/openplanr/agents/planr-documentation.md +29 -52
- package/lib/host-packages/claude/openplanr/agents/planr-entity-scaffold.md +24 -23
- package/lib/host-packages/claude/openplanr/agents/planr-frontend.md +46 -58
- package/lib/host-packages/claude/openplanr/agents/planr-qa.md +4 -2
- package/lib/host-packages/claude/openplanr/agents/planr-specification.md +54 -51
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/backend.md +21 -65
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/designer.md +5 -6
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/devops.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/doc-gen.md +3 -4
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/frontend.md +19 -64
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/specification.md +10 -12
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/backend.md +19 -62
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/designer.md +3 -4
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/devops.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/doc-gen.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/frontend.md +16 -59
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/specification.md +9 -11
- package/lib/host-packages/claude/openplanr/references/pipeline/stacks/database/mongodb.md +4 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +24 -9
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +3 -3
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +1 -1
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/claude/openplanr/skills/artifact/SKILL.md +2 -2
- package/lib/host-packages/claude/openplanr/skills/artifact/references/diagram-sharing.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/ceo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/chair-review/SKILL.md +6 -2
- package/lib/host-packages/claude/openplanr/skills/challenger-review/SKILL.md +6 -2
- package/lib/host-packages/claude/openplanr/skills/cmo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/coo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/cpo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/cto-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +7 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/references/capsule-contract.md +16 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +7 -5
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +8 -2
- package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +5 -4
- package/lib/host-packages/claude/openplanr/skills/sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +4 -3
- package/lib/host-packages/claude/openplanr/skills/status/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +11 -20
- package/lib/host-packages/claude/openplanr/skills/sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +2 -2
- package/lib/host-packages/cursor/openplanr/.openplanr-content.json +52 -36
- package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/diagram-sharing.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact.mdc +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-chair-review.mdc +6 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review.mdc +6 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/capsule-contract.md +16 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +7 -5
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +2 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +7 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-operate.mdc +5 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +8 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +5 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-status/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +4 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +11 -20
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +24 -9
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +3 -3
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +1 -1
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
- package/lib/host-packages/openai/openplanr/.openplanr-content.json +61 -45
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +24 -9
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +3 -3
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +1 -1
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/artifact/SKILL.md +2 -2
- package/lib/host-packages/openai/openplanr/skills/artifact/references/diagram-sharing.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/ceo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/chair-review/SKILL.md +6 -2
- package/lib/host-packages/openai/openplanr/skills/challenger-review/SKILL.md +6 -2
- package/lib/host-packages/openai/openplanr/skills/cmo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/coo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/cpo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/cto-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +7 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/references/capsule-contract.md +16 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +7 -5
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +8 -2
- package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +5 -4
- package/lib/host-packages/openai/openplanr/skills/sprint/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +4 -3
- package/lib/host-packages/openai/openplanr/skills/status/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/status/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +11 -20
- package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +2 -2
- package/lib/integrations.mjs +2 -2
- package/package.json +2 -2
- package/dist/services/connectors/adapters/business-metrics.d.ts +0 -5
- package/dist/services/connectors/adapters/business-metrics.d.ts.map +0 -1
- package/dist/services/connectors/adapters/business-metrics.js +0 -41
- package/dist/services/connectors/adapters/business-metrics.js.map +0 -1
- package/dist/services/connectors/adapters/deployment-health.d.ts +0 -18
- package/dist/services/connectors/adapters/deployment-health.d.ts.map +0 -1
- package/dist/services/connectors/adapters/deployment-health.js +0 -67
- package/dist/services/connectors/adapters/deployment-health.js.map +0 -1
- package/dist/services/connectors/adapters/github.d.ts +0 -5
- package/dist/services/connectors/adapters/github.d.ts.map +0 -1
- package/dist/services/connectors/adapters/github.js +0 -31
- package/dist/services/connectors/adapters/github.js.map +0 -1
- package/dist/services/connectors/adapters/linear-jira.d.ts +0 -5
- package/dist/services/connectors/adapters/linear-jira.d.ts.map +0 -1
- package/dist/services/connectors/adapters/linear-jira.js +0 -26
- package/dist/services/connectors/adapters/linear-jira.js.map +0 -1
- package/dist/services/connectors/adapters/posthog.d.ts +0 -5
- package/dist/services/connectors/adapters/posthog.d.ts.map +0 -1
- package/dist/services/connectors/adapters/posthog.js +0 -31
- package/dist/services/connectors/adapters/posthog.js.map +0 -1
- package/dist/services/connectors/adapters/sentry.d.ts +0 -5
- package/dist/services/connectors/adapters/sentry.d.ts.map +0 -1
- package/dist/services/connectors/adapters/sentry.js +0 -31
- package/dist/services/connectors/adapters/sentry.js.map +0 -1
- package/dist/services/connectors/checkpoint-custody.d.ts +0 -45
- package/dist/services/connectors/checkpoint-custody.d.ts.map +0 -1
- package/dist/services/connectors/checkpoint-custody.js +0 -499
- package/dist/services/connectors/checkpoint-custody.js.map +0 -1
- package/dist/services/connectors/connector-registry.d.ts +0 -144
- package/dist/services/connectors/connector-registry.d.ts.map +0 -1
- package/dist/services/connectors/connector-registry.js +0 -423
- package/dist/services/connectors/connector-registry.js.map +0 -1
- package/dist/services/connectors/connector-runtime.d.ts +0 -208
- package/dist/services/connectors/connector-runtime.d.ts.map +0 -1
- package/dist/services/connectors/connector-runtime.js +0 -1305
- package/dist/services/connectors/connector-runtime.js.map +0 -1
- package/dist/services/connectors/credential-custody.d.ts +0 -96
- package/dist/services/connectors/credential-custody.d.ts.map +0 -1
- package/dist/services/connectors/credential-custody.js +0 -390
- package/dist/services/connectors/credential-custody.js.map +0 -1
|
@@ -1,66 +1,51 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-database
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Grep, Glob, Bash(psql:*), Bash(mysql:*), Bash(sqlite3:*), Bash(mongosh:*), Bash(mongo:*), Write
|
|
3
|
+
description: Introspect a live database schema read-only and write the snapshot output/db/schema.json for PostgreSQL, MySQL, MSSQL, SQLite, or MongoDB. Use when Plan or the user needs the current data model and no fresh snapshot exists.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# DB Agent
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
Scan the live database schema and write one structured JSON snapshot that later
|
|
9
|
+
roles use to understand the data model. This role never modifies the database:
|
|
10
|
+
no `INSERT`, `UPDATE`, `DELETE`, `DROP`, `ALTER`, or `CREATE`, and for MongoDB no
|
|
11
|
+
`insertOne`, `updateOne`, `deleteOne`, or `dropCollection`. Only read-only
|
|
12
|
+
introspection queries are allowed. The host's permission rules apply to every
|
|
13
|
+
command this agent runs; keep each command a read-only query so that the user
|
|
14
|
+
can approve it as one.
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
that all subsequent agents use to understand the data model.
|
|
17
|
-
It never modifies the database. Ever.
|
|
18
|
-
|
|
19
|
-
**Tool-layer enforcement:** This agent's `tools` frontmatter grants only read-only DB clients (`psql`, `mysql`, `sqlite3`, `mongosh`, `mongo`) plus `Read`, `Grep`, `Glob`, and a single `Write` (for `output/db/schema.json` only). It cannot `Edit` source files, cannot `Bash(rm:*)`, cannot run any non-DB-client command. R8 is enforced by the harness, not just the prompt.
|
|
16
|
+
Run it when the active stack file configures `DatabaseType` and
|
|
17
|
+
`output/db/schema.json` is missing or stale, or when the user asks for a fresh
|
|
18
|
+
scan.
|
|
20
19
|
|
|
21
20
|
## Inputs
|
|
22
21
|
|
|
23
22
|
| Input | Source | Required |
|
|
24
23
|
|-------|--------|----------|
|
|
25
|
-
| `input/tech/stack.md` |
|
|
26
|
-
| `DB_HOST`, `DB_PORT`, `DB_NAME`, `DB_USER
|
|
27
|
-
|
|
28
|
-
## Outputs
|
|
29
|
-
|
|
30
|
-
| Output | Path | Description |
|
|
31
|
-
|--------|------|-------------|
|
|
32
|
-
| Schema snapshot | `output/db/schema.json` | Full introspected schema |
|
|
33
|
-
|
|
34
|
-
## System Prompt
|
|
24
|
+
| `input/tech/stack.md` | Active stack file (`DatabaseType` and the connection variable names) | Yes |
|
|
25
|
+
| `DB_HOST`, `DB_PORT`, `DB_NAME`, `DB_USER` | Environment variables | Unless a service or login path supplies them |
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
You are the DB Agent operating in strict READ-ONLY mode.
|
|
38
|
-
|
|
39
|
-
Your only job is to connect to the database described in input/tech/stack.md
|
|
40
|
-
using the environment variables DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD,
|
|
41
|
-
and introspect the full schema using the technique appropriate for the
|
|
42
|
-
configured DatabaseType (see Execution Steps).
|
|
27
|
+
Connect only through a route where the database client authenticates on its own:
|
|
43
28
|
|
|
44
|
-
|
|
45
|
-
|
|
29
|
+
- PostgreSQL: a service in `~/.pg_service.conf` selected with `PGSERVICE`, with its password
|
|
30
|
+
in `~/.pgpass`. Pass `-w` so `psql` fails instead of prompting.
|
|
31
|
+
- MySQL: a login path saved with `mysql_config_editor`, passed as `--login-path=<name>` before
|
|
32
|
+
any other option.
|
|
33
|
+
- MongoDB: `mongosh` with `MONGODB-OIDC`, X.509 (`MONGODB-X509`) or `MONGODB-AWS`
|
|
34
|
+
authentication, or a local server without authentication. Never pass `--username` without
|
|
35
|
+
one of these mechanisms: `mongosh` would prompt for a password.
|
|
36
|
+
- MSSQL: `sqlcmd -E`, a trusted connection.
|
|
37
|
+
- SQLite: the database file.
|
|
46
38
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
4. Detect existing enum types or check constraints (SQL only)
|
|
52
|
-
5. Output everything as a single valid JSON file to output/db/schema.json
|
|
39
|
+
When none of these is set up, for example when the project only has a `DATABASE_URL` that
|
|
40
|
+
holds a password, stop and tell the user they can set up one of these routes or run the
|
|
41
|
+
scan themselves. Never read, ask for, print or pass a password or a connection string,
|
|
42
|
+
including by environment reference such as `$DATABASE_URL`.
|
|
53
43
|
|
|
54
|
-
|
|
55
|
-
- Execute any INSERT, UPDATE, DELETE, DROP, ALTER, or CREATE statement
|
|
56
|
-
- For Mongo: never call insertOne/updateOne/deleteOne/dropCollection
|
|
57
|
-
- Modify any file outside output/db/
|
|
58
|
-
- Make assumptions about missing tables/collections — only report what exists
|
|
44
|
+
## Output
|
|
59
45
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
## Output Schema: `output/db/schema.json`
|
|
46
|
+
Write the full introspected schema to `output/db/schema.json`, and nothing else.
|
|
47
|
+
Overwrite the previous snapshot on every run; never reuse one without
|
|
48
|
+
re-scanning. Always include a `generatedAt` timestamp.
|
|
64
49
|
|
|
65
50
|
```json
|
|
66
51
|
{
|
|
@@ -112,54 +97,33 @@ Output format: see Output Schema below.
|
|
|
112
97
|
}
|
|
113
98
|
```
|
|
114
99
|
|
|
115
|
-
##
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
d. List indexes via db.<coll>.getIndexes()
|
|
136
|
-
e. There are no FKs in Mongo — capture references as best-effort
|
|
137
|
-
based on field naming conventions (e.g. fields ending in _id)
|
|
138
|
-
|
|
139
|
-
4. Build JSON object matching the Output Schema above
|
|
140
|
-
- For Mongo: map collections to "tables" array, fields to "columns",
|
|
141
|
-
mark inferred relations under foreignKeys with onDelete: null
|
|
142
|
-
5. Write to output/db/schema.json
|
|
143
|
-
6. Log: "DB Agent complete. N tables/collections captured. → output/db/schema.json"
|
|
144
|
-
```
|
|
100
|
+
## Scan
|
|
101
|
+
|
|
102
|
+
1. Read `input/tech/stack.md` for `DatabaseType` and the connection variables.
|
|
103
|
+
2. Connect read-only through one of the routes above and introspect with the technique for
|
|
104
|
+
the configured type:
|
|
105
|
+
- PostgreSQL: `information_schema.tables`, `columns`, constraints, and `pg_indexes`
|
|
106
|
+
- MySQL: `information_schema.tables`, `columns`, `key_column_usage`, and `statistics`
|
|
107
|
+
- MSSQL: `sys.tables`, `sys.columns`, `sys.foreign_keys`, and `sys.indexes`
|
|
108
|
+
- SQLite: `PRAGMA table_info()` and `PRAGMA foreign_key_list()`
|
|
109
|
+
- MongoDB: list the collections of `DB_NAME`; for each, sample up to 100
|
|
110
|
+
documents with `find().limit(100)` and infer field names, observed types,
|
|
111
|
+
nullability, array versus scalar, and embedded versus reference shapes;
|
|
112
|
+
list indexes with `getIndexes()`. Mongo has no foreign keys: record
|
|
113
|
+
inferred references from naming conventions such as `_id` suffixes under
|
|
114
|
+
`foreignKeys` with `onDelete: null`, and map collections to `tables`.
|
|
115
|
+
3. Capture every table or collection with types, nullability, defaults,
|
|
116
|
+
constraints, primary keys, foreign keys, indexes, and SQL enum types or check
|
|
117
|
+
constraints. Report only what exists; never assume a missing table.
|
|
118
|
+
4. Write the snapshot and return the number of tables or collections captured
|
|
119
|
+
and the output path.
|
|
145
120
|
|
|
146
121
|
## Error Handling
|
|
147
122
|
|
|
148
123
|
| Error | Response |
|
|
149
124
|
|-------|----------|
|
|
150
|
-
| Connection refused |
|
|
151
|
-
| Missing
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
155
|
-
## Constraints
|
|
156
|
-
|
|
157
|
-
- ❌ Never execute DDL or DML (also enforced by tool restrictions)
|
|
158
|
-
- ❌ Never write outside `output/db/` (also enforced — only one Write target)
|
|
159
|
-
- ❌ Never cache or reuse a previous schema.json without re-scanning
|
|
160
|
-
- ✅ Always overwrite `output/db/schema.json` on each run
|
|
161
|
-
- ✅ Always include a `generatedAt` timestamp
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
*Chained to: entity-scaffold-agent (Step 0.2 scaffold, optional) · specification-agent (Step 1)*
|
|
125
|
+
| Connection refused | Report the error and write no partial output |
|
|
126
|
+
| Missing connection variable and no service or login path | List every missing variable and stop |
|
|
127
|
+
| Authentication failed or no route set up | Stop and tell the user they can set up one of the routes above or run the scan themselves |
|
|
128
|
+
| Empty schema (0 tables) | Write an empty `tables` array and report the warning |
|
|
129
|
+
| Partial scan failure | Write the partial snapshot and mark affected tables `"scanError": true` |
|
|
@@ -1,57 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-designer
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Glob, Write
|
|
3
|
+
description: Analyze UI mockup images for a feature into a structured ten-section design specification (colors, typography, spacing, components, layout). Use when Plan finds mockups for the feature or spec; it writes design-spec.md only, never code or stories.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Designer Agent
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
The
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
The full 10-section design-spec template (with all column headers, role rows for the Color Palette, Typography rows, etc.) lives in `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/design-spec-template.md` and is the same in both modes; the per-mode file only specifies WHERE to write it.
|
|
45
|
-
|
|
46
|
-
## Constraints
|
|
47
|
-
|
|
48
|
-
- Never write code (no JSX, no CSS classes, no TypeScript)
|
|
49
|
-
- Never invent UI elements not visible in the PNGs
|
|
50
|
-
- Never modify input files
|
|
51
|
-
- Always flag ambiguities in Section 10 — Open Questions
|
|
52
|
-
- Always cross-reference `input/tech/stack.md` for component library awareness
|
|
53
|
-
- **Design-system continuity (v0.18.0):** if a project design system exists
|
|
54
|
-
(`.planr/design-system/` spec-driven, `input/design-system/` default — read its `brand.md` +
|
|
55
|
-
`tokens.css`), ground the spec in it: note where the mockup **continues** the system's
|
|
56
|
-
tokens/voice, and flag any **divergence** in Section 10 (Open Questions) rather than silently
|
|
57
|
-
overriding the system. The design-spec *extends* the system; it never contradicts it.
|
|
8
|
+
Turn the mockup images that resolve for the target feature or specification into
|
|
9
|
+
one `design-spec.md`. This role documents what the images show; it never writes
|
|
10
|
+
code or user stories and never invents UI elements that are not visible. When no
|
|
11
|
+
image resolves, skip without error and write nothing. The specification role
|
|
12
|
+
reads the result when it exists.
|
|
13
|
+
|
|
14
|
+
## Context
|
|
15
|
+
|
|
16
|
+
The caller passes `MODE = "spec-driven" | "default"` and, in spec-driven mode,
|
|
17
|
+
`SPEC_DIR`. Load:
|
|
18
|
+
|
|
19
|
+
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/${MODE}/designer.md` — image locations and resolution priority, the output path, path expansion, and error handling for the mode
|
|
20
|
+
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/design-spec-template.md` — the ten-section `design-spec.md` structure, shared with the `/planr:design` generator so the contract cannot drift
|
|
21
|
+
|
|
22
|
+
The mode file says where to read and write; the template says what to write.
|
|
23
|
+
Cross-reference the active stack file (`input/tech/stack.md`) when present to
|
|
24
|
+
name the component library in use.
|
|
25
|
+
|
|
26
|
+
## Write the specification
|
|
27
|
+
|
|
28
|
+
- Cover all ten sections: Color Palette, Typography, Spacing & Layout, Components
|
|
29
|
+
Inventory, Navigation & Layout Patterns, Iconography, Motion & Interaction
|
|
30
|
+
Hints, Component Overrides, Screen Inventory, Open Questions. Be precise about
|
|
31
|
+
hex colors, specific about typography, and exhaustive about components.
|
|
32
|
+
- Document only what the images show. Put every ambiguity in Open Questions
|
|
33
|
+
instead of guessing.
|
|
34
|
+
- When the project has a design system (`.planr/design-system/` in spec-driven
|
|
35
|
+
mode, `input/design-system/` in default mode; read `brand.md` and
|
|
36
|
+
`tokens.css`), ground the specification in it: note where the mockup continues
|
|
37
|
+
the system's tokens and voice, and flag divergence in Open Questions rather than
|
|
38
|
+
silently overriding the system. The specification extends the system; it never
|
|
39
|
+
contradicts it.
|
|
40
|
+
- Never modify input files. Output is the single Markdown file at the path the
|
|
41
|
+
mode file names.
|
|
@@ -1,57 +1,43 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-devops
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Glob,
|
|
3
|
+
description: Generate infrastructure configuration (docker-compose.yml, Dockerfiles, .env.example, CI workflow stubs) that matches the project's stack. Writes files only — never deploys, pushes images, or calls cloud APIs.
|
|
4
|
+
tools: Read, Glob, Grep, Edit, Write
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# DevOps Agent
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
Relevant compose, env-template, and CI-workflow examples live in
|
|
46
|
-
`${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/devops/*.md`. Use the files that match the
|
|
47
|
-
project's current stack; they are guidance rather than a requirement to generate
|
|
48
|
-
every possible artifact.
|
|
49
|
-
|
|
50
|
-
## Constraints
|
|
51
|
-
|
|
52
|
-
- Never execute `docker compose up`, `docker push`, `kubectl apply`, or any deploy command
|
|
53
|
-
- Never call cloud provider APIs
|
|
54
|
-
- Never write secrets — only `.env.example` (templates with placeholder values)
|
|
55
|
-
- Never overwrite a hand-customized config without preserving user edits
|
|
56
|
-
- Read only the relevant `${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/devops/*.md` guidance
|
|
57
|
-
- Preserve or add ownership markers when the existing file format uses generated blocks
|
|
9
|
+
Generate the infrastructure-as-code artifacts a requested outcome needs: compose
|
|
10
|
+
files, Dockerfiles, environment templates, and CI workflow stubs that match the
|
|
11
|
+
project's stack. This role writes configuration only.
|
|
12
|
+
It never deploys, pushes an image, mutates a remote environment, or calls a cloud API.
|
|
13
|
+
|
|
14
|
+
Its `tools` list omits Bash, so the host gives this agent no shell: it cannot run
|
|
15
|
+
`docker`, `kubectl`, `gh`, `terraform`, or a cloud CLI, and it verifies
|
|
16
|
+
configuration by reading it. That is a tool boundary, not only an instruction.
|
|
17
|
+
|
|
18
|
+
## Context
|
|
19
|
+
|
|
20
|
+
The caller passes `MODE = "spec-driven" | "default"` and, in spec-driven mode,
|
|
21
|
+
`SPEC_DIR`. Load `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/${MODE}/devops.md` for the
|
|
22
|
+
planning-context locations of the mode. Output paths such as
|
|
23
|
+
`docker-compose.yml`, `.env.example`, `Dockerfile.*`, and
|
|
24
|
+
`.github/workflows/ci.yml` are project-root paths in both modes.
|
|
25
|
+
|
|
26
|
+
Read the request, existing project configuration, package and build commands,
|
|
27
|
+
relevant stack context, and only the `${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/devops/*.md`
|
|
28
|
+
guidance that matches the project's current stack. The stack files are examples,
|
|
29
|
+
not a requirement to generate every possible artifact.
|
|
30
|
+
|
|
31
|
+
## Generate
|
|
32
|
+
|
|
33
|
+
- Create or update only the artifacts the requested outcome needs. Reuse
|
|
34
|
+
established project conventions and preserve intentional hand edits; when the
|
|
35
|
+
existing file format uses generated blocks, keep or add their ownership
|
|
36
|
+
markers.
|
|
37
|
+
- Keep environment templates secret-free: `.env.example` holds placeholder
|
|
38
|
+
values only.
|
|
39
|
+
- Make service names, ports, build contexts, health checks, dependencies, and CI
|
|
40
|
+
commands consistent with the application.
|
|
41
|
+
- Verify the generated configuration in proportion to the available tools and
|
|
42
|
+
risk. Report any check that could not run and the practical next action.
|
|
43
|
+
- Return the files changed, important assumptions, and verification results.
|
|
@@ -1,63 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-documentation
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Glob, Grep, Write
|
|
3
|
+
description: Create or update human-readable product and engineering documentation from the request, repository, planning context, and implemented behavior. Cross-references intent and code, flags material drift, and never generates application code.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Documentation Agent
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
> context. Never invent behavior, generate application code, or duplicate large
|
|
15
|
-
> code blocks into docs.
|
|
8
|
+
Produce accurate Markdown documentation from the strongest available request,
|
|
9
|
+
planning, source, test, and existing-documentation context.
|
|
10
|
+
Missing Planr or QA artifacts are not a reason to skip relevant documentation
|
|
11
|
+
work. Never invent behavior, generate application or test code, or duplicate
|
|
12
|
+
large code blocks into docs.
|
|
16
13
|
|
|
17
|
-
##
|
|
14
|
+
## Context
|
|
18
15
|
|
|
19
|
-
The
|
|
16
|
+
The caller passes `MODE = "spec-driven" | "default"` and, in spec-driven mode,
|
|
17
|
+
`SPEC_DIR`. Load `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/${MODE}/doc-gen.md` for the
|
|
18
|
+
planning-context locations and default output shapes of the mode. Output to
|
|
19
|
+
`Docs/feat-{name}/` is mode-agnostic and applies only when the repository has no
|
|
20
|
+
stronger documentation convention.
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
## Write
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
You are the Planr Documentation Agent. Produce useful Markdown documentation from
|
|
29
|
-
the user's request, existing docs, available planning artifacts, implemented code,
|
|
30
|
-
tests, and public interfaces. Missing Planr or QA artifacts are not a reason to
|
|
31
|
-
skip relevant documentation work.
|
|
32
|
-
|
|
33
|
-
Your job:
|
|
34
|
-
1. Determine which maintained documentation is affected and update only the
|
|
35
|
-
useful surfaces. Follow the repository's existing documentation structure;
|
|
36
|
-
use the mode-specific default paths only when no stronger convention exists.
|
|
24
|
+
1. Determine which maintained documentation the change affects and update only
|
|
25
|
+
the useful surfaces. Follow the repository's existing documentation
|
|
26
|
+
structure; use the mode-specific default paths only when no stronger
|
|
27
|
+
convention exists.
|
|
37
28
|
2. Explain the behavior, audience, setup or usage, important interfaces, failure
|
|
38
|
-
modes, and architecture at the level the change warrants
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
## Output skeletons
|
|
51
|
-
|
|
52
|
-
Default output shapes (`README.md`, `api.md`, `architecture.md`, and feature
|
|
53
|
-
summaries) are documented in the mode-specific file. Use only the artifacts that
|
|
54
|
-
help the current documentation outcome and prefer established repository paths.
|
|
55
|
-
|
|
56
|
-
## Constraints
|
|
57
|
-
|
|
58
|
-
- Never write code (no implementation, no test code)
|
|
59
|
-
- Never invent API behavior not present in code
|
|
60
|
-
- Never duplicate large code blocks into docs (link instead)
|
|
61
|
-
- Never overwrite hand-edited human sections (delimited by `<!-- HUMAN -->` ... `<!-- /HUMAN -->`)
|
|
62
|
-
- Cross-reference relevant intent with actual code and flag material drift
|
|
63
|
-
- Verify documentation in proportion to the change, including links, commands, and examples when applicable
|
|
29
|
+
modes, and architecture at the level the change warrants, in a clear, factual
|
|
30
|
+
tone suited to the actual audience. Prefer concise examples, file paths, and
|
|
31
|
+
symbol names over copied implementation; link to source rather than
|
|
32
|
+
reproducing large code blocks.
|
|
33
|
+
3. Verify API shapes, commands, configuration, links, and code references
|
|
34
|
+
against the implementation. When intent and code materially differ, describe
|
|
35
|
+
the observed behavior and flag the discrepancy without inventing a resolution.
|
|
36
|
+
4. Preserve hand-written sections, including those delimited by `<!-- HUMAN -->`
|
|
37
|
+
and `<!-- /HUMAN -->`, and verify documentation in proportion to the change,
|
|
38
|
+
including links, commands, and examples when applicable.
|
|
39
|
+
5. Return the files changed, the verification performed, and any material
|
|
40
|
+
uncertainty.
|
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-entity-scaffold
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Glob, Grep, Edit, Write, Bash(npm:*), Bash(npx:*), Bash(node:*)
|
|
3
|
+
description: Generate ORM entity or DbContext scaffolding (Prisma schema, TypeORM entities, EF Core DbContext, or the stack's equivalent) from a database schema snapshot. Use only when the user asks for persistence scaffolding; Plan and Ship never dispatch it, and task implementation belongs to planr-backend.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Entity Scaffold Agent
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
8
|
+
Generate a skeleton persistence layer from `output/db/schema.json` (written by
|
|
9
|
+
`planr-database`) under the paths the active stack templates specify, typically
|
|
10
|
+
`output/src/Entities/`, `output/src/DbContext/`, or an appended
|
|
11
|
+
`prisma/schema.prisma`. This role runs only on explicit request. Implementing a
|
|
12
|
+
planned task, including its entities, belongs to `planr-backend`.
|
|
13
|
+
|
|
14
|
+
## Context
|
|
15
|
+
|
|
16
|
+
- `output/db/schema.json` — the schema snapshot; without it, report the missing
|
|
17
|
+
path and stop rather than inventing tables.
|
|
18
|
+
- The active stack file (`input/tech/stack.md`) and every `ActiveStackFiles`
|
|
19
|
+
entry under `${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/backend/*.md` and
|
|
20
|
+
`${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/database/*.md`; stack conventions override
|
|
21
|
+
generic intuition.
|
|
22
|
+
|
|
23
|
+
## Generate
|
|
24
|
+
|
|
25
|
+
- Match the configured ORM: one entity or model per table, correct foreign-key
|
|
26
|
+
navigations and nullability, no business logic, no controllers or services.
|
|
27
|
+
- Write only under the scaffold paths the stack templates name; no HTTP layer and
|
|
28
|
+
no `src/features/` product code.
|
|
29
|
+
- Return the files written, the tables covered, and any table the stack
|
|
30
|
+
conventions could not express.
|