@jaimevalasek/aioson 1.5.1 → 1.7.0
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 +49 -0
- package/README.md +729 -226
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/integrations/sdlc-genius-boundary.md +76 -0
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
- package/docs/integrations/sdlc-genius-review-samples.md +86 -0
- package/docs/pt/README.md +10 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +9 -2
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/comandos-cli.md +915 -1
- package/docs/pt/design-hybrid-forge.md +356 -0
- package/docs/pt/devlog-pipeline.md +270 -0
- package/docs/pt/fluxo-artefatos.md +178 -0
- package/docs/pt/hooks-session-guard.md +454 -0
- package/docs/pt/inicio-rapido.md +54 -3
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +158 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/sdd-automation-scripts.md +557 -0
- package/docs/pt/site-forge.md +309 -0
- package/docs/pt/skills.md +98 -6
- package/docs/pt/spec-learnings-pipeline.md +265 -0
- package/package.json +1 -1
- package/src/a2a/client.js +165 -0
- package/src/a2a/server.js +223 -0
- package/src/agent-loader.js +280 -0
- package/src/cli.js +329 -1
- package/src/commands/agent-audit.js +397 -0
- package/src/commands/agent-export-skill.js +229 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/artifact-validate.js +189 -0
- package/src/commands/brief-gen.js +405 -0
- package/src/commands/brief-validate.js +65 -0
- package/src/commands/classify.js +256 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-compact.js +49 -0
- package/src/commands/context-health.js +175 -0
- package/src/commands/context-monitor.js +163 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/context-trim.js +177 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/detect-test-runner.js +55 -0
- package/src/commands/devlog-export-brains.js +27 -0
- package/src/commands/devlog-process.js +292 -0
- package/src/commands/devlog-watch.js +131 -0
- package/src/commands/feature-close.js +165 -0
- package/src/commands/gate-check.js +228 -0
- package/src/commands/health.js +214 -0
- package/src/commands/hooks-emit.js +253 -0
- package/src/commands/hooks-install.js +347 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-auto-promote.js +195 -0
- package/src/commands/learning-evolve.js +364 -0
- package/src/commands/learning-export.js +103 -0
- package/src/commands/learning-rollback.js +164 -0
- package/src/commands/live.js +59 -1
- package/src/commands/pattern-detect.js +33 -0
- package/src/commands/preflight-context.js +30 -0
- package/src/commands/preflight.js +208 -0
- package/src/commands/pulse-update.js +130 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/runner-daemon.js +274 -0
- package/src/commands/runner-plan.js +70 -0
- package/src/commands/runner-queue-from-plan.js +166 -0
- package/src/commands/runner-queue.js +189 -0
- package/src/commands/runner-run.js +129 -0
- package/src/commands/runtime.js +47 -1
- package/src/commands/sandbox.js +37 -0
- package/src/commands/self-implement-loop.js +256 -0
- package/src/commands/session-guard.js +218 -0
- package/src/commands/setup-context.js +22 -2
- package/src/commands/setup.js +178 -0
- package/src/commands/sizing.js +165 -0
- package/src/commands/skill.js +144 -32
- package/src/commands/spec-checkpoint.js +177 -0
- package/src/commands/spec-status.js +79 -0
- package/src/commands/spec-sync.js +190 -0
- package/src/commands/spec-tasks.js +288 -0
- package/src/commands/squad-autorun.js +1220 -0
- package/src/commands/squad-bus.js +217 -0
- package/src/commands/squad-card.js +149 -0
- package/src/commands/squad-daemon.js +134 -0
- package/src/commands/squad-dependency-graph.js +164 -0
- package/src/commands/squad-review.js +106 -0
- package/src/commands/squad-scaffold.js +55 -0
- package/src/commands/squad-tool-register.js +157 -0
- package/src/commands/state-save.js +122 -0
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +9 -0
- package/src/commands/verify-gate.js +572 -0
- package/src/commands/workflow-execute.js +241 -0
- package/src/constants.js +18 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +32 -2
- package/src/i18n/messages/es.js +30 -2
- package/src/i18n/messages/fr.js +30 -2
- package/src/i18n/messages/pt-BR.js +32 -2
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +475 -0
- package/src/installer.js +44 -10
- package/src/lib/health-check.js +158 -0
- package/src/lib/hook-protocol.js +76 -0
- package/src/mcp/apps/squad-dashboard/app.js +163 -0
- package/src/mcp/apps/squad-dashboard/index.html +261 -0
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
- package/src/mcp/resources/squad-state.js +130 -0
- package/src/parser.js +7 -1
- package/src/preflight-engine.js +443 -0
- package/src/recovery-context-session.js +154 -0
- package/src/runner/cascade.js +97 -0
- package/src/runner/cli-launcher.js +109 -0
- package/src/runner/plan-importer.js +63 -0
- package/src/runner/queue-store.js +159 -0
- package/src/runtime-store.js +158 -4
- package/src/sandbox.js +177 -0
- package/src/squad/agent-teams-adapter.js +264 -0
- package/src/squad/brief-validator.js +350 -0
- package/src/squad/bus-bridge.js +140 -0
- package/src/squad/context-compactor.js +265 -0
- package/src/squad/cross-ai-synthesizer.js +250 -0
- package/src/squad/hooks-generator.js +196 -0
- package/src/squad/inter-squad-events.js +175 -0
- package/src/squad/intra-bus.js +345 -0
- package/src/squad/learning-extractor.js +213 -0
- package/src/squad/pattern-detector.js +365 -0
- package/src/squad/preflight-context.js +296 -0
- package/src/squad/recovery-context.js +242 -71
- package/src/squad/reflection.js +365 -0
- package/src/squad/squad-scaffold.js +177 -0
- package/src/squad/state-manager.js +310 -0
- package/src/squad/task-decomposer.js +652 -0
- package/src/squad/verify-gate.js +303 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +10 -3
- package/src/worker-runner.js +186 -1
- package/template/.aioson/agents/analyst.md +119 -3
- package/template/.aioson/agents/architect.md +98 -0
- package/template/.aioson/agents/design-hybrid-forge.md +141 -0
- package/template/.aioson/agents/dev.md +335 -14
- package/template/.aioson/agents/deyvin.md +117 -2
- package/template/.aioson/agents/discovery-design-doc.md +44 -0
- package/template/.aioson/agents/genome.md +14 -0
- package/template/.aioson/agents/neo.md +78 -1
- package/template/.aioson/agents/orache.md +50 -4
- package/template/.aioson/agents/orchestrator.md +197 -1
- package/template/.aioson/agents/pm.md +93 -0
- package/template/.aioson/agents/product.md +77 -4
- package/template/.aioson/agents/profiler-enricher.md +14 -0
- package/template/.aioson/agents/profiler-forge.md +14 -0
- package/template/.aioson/agents/profiler-researcher.md +14 -0
- package/template/.aioson/agents/qa.md +249 -19
- package/template/.aioson/agents/setup.md +144 -12
- package/template/.aioson/agents/sheldon.md +237 -11
- package/template/.aioson/agents/site-forge.md +1753 -0
- package/template/.aioson/agents/squad.md +162 -0
- package/template/.aioson/agents/tester.md +209 -0
- package/template/.aioson/agents/ux-ui.md +34 -1
- package/template/.aioson/brains/README.md +128 -0
- package/template/.aioson/brains/_index.json +16 -0
- package/template/.aioson/brains/scripts/query.js +103 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
- package/template/.aioson/config.md +158 -13
- package/template/.aioson/constitution.md +33 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/project-pulse.md +34 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/docs/LAYERS.md +79 -0
- package/template/.aioson/docs/README.md +76 -0
- package/template/.aioson/docs/example-external-api-context.md +72 -0
- package/template/.aioson/locales/en/agents/architect.md +17 -0
- package/template/.aioson/locales/en/agents/dev.md +79 -13
- package/template/.aioson/locales/en/agents/orache.md +6 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
- package/template/.aioson/locales/en/agents/product.md +50 -0
- package/template/.aioson/locales/en/agents/setup.md +33 -1
- package/template/.aioson/locales/en/agents/sheldon.md +115 -0
- package/template/.aioson/locales/en/agents/squad.md +14 -0
- package/template/.aioson/locales/en/agents/tester.md +6 -0
- package/template/.aioson/locales/es/agents/analyst.md +2 -0
- package/template/.aioson/locales/es/agents/architect.md +19 -0
- package/template/.aioson/locales/es/agents/dev.md +64 -4
- package/template/.aioson/locales/es/agents/deyvin.md +2 -0
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/es/agents/genome.md +2 -0
- package/template/.aioson/locales/es/agents/neo.md +2 -0
- package/template/.aioson/locales/es/agents/orache.md +2 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/pair.md +2 -0
- package/template/.aioson/locales/es/agents/pm.md +2 -0
- package/template/.aioson/locales/es/agents/product.md +52 -0
- package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/es/agents/qa.md +2 -0
- package/template/.aioson/locales/es/agents/setup.md +35 -1
- package/template/.aioson/locales/es/agents/sheldon.md +117 -0
- package/template/.aioson/locales/es/agents/squad.md +16 -0
- package/template/.aioson/locales/es/agents/tester.md +9 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/fr/agents/analyst.md +2 -0
- package/template/.aioson/locales/fr/agents/architect.md +19 -0
- package/template/.aioson/locales/fr/agents/dev.md +64 -4
- package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/fr/agents/genome.md +2 -0
- package/template/.aioson/locales/fr/agents/neo.md +2 -0
- package/template/.aioson/locales/fr/agents/orache.md +2 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/pair.md +2 -0
- package/template/.aioson/locales/fr/agents/pm.md +2 -0
- package/template/.aioson/locales/fr/agents/product.md +52 -0
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/fr/agents/qa.md +2 -0
- package/template/.aioson/locales/fr/agents/setup.md +35 -1
- package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
- package/template/.aioson/locales/fr/agents/squad.md +16 -0
- package/template/.aioson/locales/fr/agents/tester.md +9 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
- package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
- package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
- package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
- package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
- package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
- package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
- package/template/.aioson/rules/README.md +69 -0
- package/template/.aioson/rules/data-format-convention.md +136 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
- package/template/.aioson/skills/static/context-budget-guide.md +46 -0
- package/template/.aioson/skills/static/harness-sensors.md +74 -0
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
- package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
- package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
- package/template/.aioson/skills/static/threejs-patterns.md +929 -0
- package/template/.aioson/skills/static/web-research-cache.md +112 -0
- package/template/.aioson/tasks/implementation-plan.md +21 -1
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/orache.md +5 -0
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
- package/template/AGENTS.md +75 -1
- package/template/CLAUDE.md +31 -0
- package/template/OPENCODE.md +4 -0
- package/template/researchs/.gitkeep +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Guide to the three project memory layers: rules, docs, and design-docs — when to use each"
|
|
3
|
+
agents: []
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AIOSON Project Memory Layers
|
|
7
|
+
|
|
8
|
+
Three directories accumulate project knowledge over time.
|
|
9
|
+
Each has a different purpose and a different update cadence.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Layer 1 — `.aioson/rules/`
|
|
14
|
+
|
|
15
|
+
**What it is:** behavioral overrides for agents.
|
|
16
|
+
**Who writes it:** the user, or promoted from recurring @dev patterns.
|
|
17
|
+
**When to use:** when you want to enforce a convention that overrides agent defaults — globally or for specific agents.
|
|
18
|
+
**Cadence:** stable. Rules change rarely; only when a convention is proven wrong or superseded.
|
|
19
|
+
|
|
20
|
+
Examples of good rules:
|
|
21
|
+
- "All API routes must follow REST naming conventions in this project"
|
|
22
|
+
- "Never use float for monetary values — use integer cents"
|
|
23
|
+
- "The @dev agent must always write a migration for schema changes"
|
|
24
|
+
|
|
25
|
+
See `rules/README.md` for format and frontmatter reference.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Layer 2 — `.aioson/docs/`
|
|
30
|
+
|
|
31
|
+
**What it is:** domain knowledge and technical reference that agents load on demand.
|
|
32
|
+
**Who writes it:** the user or @architect, based on real integration and domain complexity.
|
|
33
|
+
**When to use:** when multiple agents across different features need the same external context — API behavior, third-party quirks, data model explanations, integration patterns.
|
|
34
|
+
**Cadence:** updated when the referenced system changes, not after every feature.
|
|
35
|
+
|
|
36
|
+
Examples of good docs:
|
|
37
|
+
- `stripe-integration-context.md` — describes webhook event model, idempotency keys used
|
|
38
|
+
- `auth-rbac-model.md` — explains the role/permission system as it stands in production
|
|
39
|
+
- `legacy-api-behavior.md` — documents known quirks of an external API affecting multiple features
|
|
40
|
+
|
|
41
|
+
See `docs/README.md` for format and naming conventions.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Layer 3 — `.aioson/context/design-doc*.md`
|
|
46
|
+
|
|
47
|
+
**What it is:** living decision document for the current feature or project scope.
|
|
48
|
+
**Who writes it:** @discovery-design-doc.
|
|
49
|
+
**Who updates it:** @dev at feature close, @discovery-design-doc when resuming.
|
|
50
|
+
**When to use:** automatically — one per feature (`design-doc-{slug}.md`) or one project-wide (`design-doc.md`).
|
|
51
|
+
**Cadence:** updated at the end of each feature implementation session. Decisions are append-only — never deleted.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Decision Guide
|
|
56
|
+
|
|
57
|
+
| Situation | Where it goes |
|
|
58
|
+
|-----------|--------------|
|
|
59
|
+
| Enforce a coding convention for this project | `rules/` |
|
|
60
|
+
| Agents must always know about an external API behavior | `docs/` |
|
|
61
|
+
| Document the scope and decisions for a specific feature | `design-doc-{slug}.md` |
|
|
62
|
+
| Log a global project-wide architecture decision | `design-doc.md` |
|
|
63
|
+
| Promote a recurring @dev pattern | `rules/` via @dev promotion |
|
|
64
|
+
| Document an integration used by 3+ features | `docs/` |
|
|
65
|
+
| Record what was decided during a single feature session | `design-doc-{slug}.md` (Decisions already made section) |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## What NOT to put in these layers
|
|
70
|
+
|
|
71
|
+
| Content | Where it actually belongs |
|
|
72
|
+
|---------|--------------------------|
|
|
73
|
+
| Feature requirements | `requirements-{slug}.md` |
|
|
74
|
+
| PRD / product scope | `prd-{slug}.md` |
|
|
75
|
+
| Execution sequence | `implementation-plan-{slug}.md` |
|
|
76
|
+
| Current implementation state | `spec-{slug}.md` |
|
|
77
|
+
| Project-wide context | `project.context.md` |
|
|
78
|
+
| Domain entity map | `discovery.md` |
|
|
79
|
+
| Technical architecture | `architecture.md` |
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Guide to the docs layer: domain knowledge and technical reference for agents"
|
|
3
|
+
agents: []
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Project Docs
|
|
7
|
+
|
|
8
|
+
Files in this directory are domain knowledge and technical reference that agents load on demand.
|
|
9
|
+
|
|
10
|
+
Unlike `rules/` (which enforce conventions), docs explain **how something works** — external APIs, data models, integration patterns, legacy behavior, third-party quirks.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Frontmatter Format
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
---
|
|
18
|
+
description: "Short description of what this doc covers — used by agents to decide relevance"
|
|
19
|
+
scope: "global" # or a feature slug if doc is scoped to one area
|
|
20
|
+
agents: [] # empty = any agent may load; or restrict: [dev, architect]
|
|
21
|
+
---
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Field Reference
|
|
27
|
+
|
|
28
|
+
| Field | Required | Description |
|
|
29
|
+
|-------|----------|-------------|
|
|
30
|
+
| `description` | yes | What this doc covers — agents use this to decide whether to load it |
|
|
31
|
+
| `scope` | no | `global` (default) or a feature slug for narrow scope |
|
|
32
|
+
| `agents` | no | If empty, any agent may load; if listed, only those agents load it |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Loading Behavior
|
|
37
|
+
|
|
38
|
+
Agents load docs when the `description` frontmatter is relevant to the current task.
|
|
39
|
+
An empty `agents:` field means any agent can load the doc.
|
|
40
|
+
Docs are loaded in addition to the current context — not as replacements.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## When to Create a Doc
|
|
45
|
+
|
|
46
|
+
Create a doc when:
|
|
47
|
+
- Two or more features need the same external context
|
|
48
|
+
- An integration has non-obvious behavior that has caused bugs or would cause rework
|
|
49
|
+
- A data model exists only in production and is not derivable from the codebase
|
|
50
|
+
- A third-party API has quirks that affect how agents implement against it
|
|
51
|
+
|
|
52
|
+
Do NOT create a doc for:
|
|
53
|
+
- Feature-specific decisions (use `design-doc-{slug}.md` instead)
|
|
54
|
+
- Project conventions (use `rules/` instead)
|
|
55
|
+
- Current implementation state (use `spec-{slug}.md` instead)
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Naming Convention
|
|
60
|
+
|
|
61
|
+
Use kebab-case. Name the file after the system or concept, not the feature:
|
|
62
|
+
|
|
63
|
+
| Good | Bad |
|
|
64
|
+
|------|-----|
|
|
65
|
+
| `stripe-webhook-behavior.md` | `billing-feature-notes.md` |
|
|
66
|
+
| `auth-rbac-model.md` | `auth-stuff.md` |
|
|
67
|
+
| `legacy-api-quirks.md` | `misc-notes.md` |
|
|
68
|
+
| `email-delivery-constraints.md` | `sendgrid.md` (too generic) |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Example
|
|
73
|
+
|
|
74
|
+
See `example-external-api-context.md` in this directory for a working template.
|
|
75
|
+
|
|
76
|
+
For the layer separation guide (when to use `docs/` vs `rules/` vs `design-doc`), see `LAYERS.md`.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Template for documenting an external API integration context — replace with real content"
|
|
3
|
+
scope: "global"
|
|
4
|
+
agents: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# External API Context — [API Name]
|
|
8
|
+
|
|
9
|
+
> Replace this file with real context for your integration.
|
|
10
|
+
> Rename it to reflect the actual system: e.g., `stripe-webhook-behavior.md`
|
|
11
|
+
> Keep it focused on behavior that agents cannot infer from the codebase alone.
|
|
12
|
+
> Delete sections that are not applicable.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## What This API Does
|
|
17
|
+
|
|
18
|
+
[One paragraph: what service this is, what it provides, why this project uses it, when it was integrated]
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Authentication
|
|
23
|
+
|
|
24
|
+
[Auth method, where keys are stored, any refresh/rotation behavior, scopes required]
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Key Endpoints Used
|
|
29
|
+
|
|
30
|
+
| Endpoint | Purpose | Notes |
|
|
31
|
+
|----------|---------|-------|
|
|
32
|
+
| `POST /resource` | Creates X | Idempotency key required |
|
|
33
|
+
| `GET /resource/{id}` | Reads X | Returns 404 if not found (not 403) |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Non-Obvious Behavior
|
|
38
|
+
|
|
39
|
+
[Anything that caused or could cause bugs if an agent doesn't know it:]
|
|
40
|
+
|
|
41
|
+
- **Idempotency:** [describe if required and how to implement]
|
|
42
|
+
- **Rate limits:** [requests/minute, burst behavior, retry guidance]
|
|
43
|
+
- **Async callbacks:** [webhook events, polling, event ordering guarantees]
|
|
44
|
+
- **Pagination:** [cursor-based, offset, page size limits]
|
|
45
|
+
- **Error format:** [how errors are structured — not always standard HTTP semantics]
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Webhook Events (if applicable)
|
|
50
|
+
|
|
51
|
+
| Event | When it fires | Payload shape | Idempotent? |
|
|
52
|
+
|-------|--------------|---------------|-------------|
|
|
53
|
+
| `resource.created` | When X is created | `{ id, data, timestamp }` | Yes |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Known Limitations
|
|
58
|
+
|
|
59
|
+
[What the API cannot do, versioning constraints, known bugs, deprecation status]
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Integration Points in This Codebase
|
|
64
|
+
|
|
65
|
+
[Where the integration lives — file paths, service names, which agents should know this]
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Last Verified
|
|
70
|
+
|
|
71
|
+
Date this doc was last confirmed accurate: [YYYY-MM-DD]
|
|
72
|
+
Verified by: [agent name or user]
|
|
@@ -12,6 +12,23 @@ Transform discovery into technical architecture with concrete implementation dir
|
|
|
12
12
|
- `.aioson/context/readiness.md` (if present)
|
|
13
13
|
- `.aioson/context/discovery.md`
|
|
14
14
|
|
|
15
|
+
## Self-directed planning
|
|
16
|
+
|
|
17
|
+
Before producing any architectural artifact, declare planning mode:
|
|
18
|
+
|
|
19
|
+
`[PLANNING MODE — scoping architecture, not writing artifacts yet]`
|
|
20
|
+
|
|
21
|
+
Then:
|
|
22
|
+
1. **List** which sections of `architecture.md` will be produced and why
|
|
23
|
+
2. **Identify** constraints from discovery.md, design-doc, and any Sheldon plan
|
|
24
|
+
3. **Sequence** decisions that are dependencies (e.g., data model before service boundaries)
|
|
25
|
+
4. **Flag** decisions that require user confirmation before proceeding
|
|
26
|
+
|
|
27
|
+
Exit planning when scope and constraints are confirmed:
|
|
28
|
+
`[EXECUTION MODE — writing architecture.md]`
|
|
29
|
+
|
|
30
|
+
Use `EnterPlanMode` / `ExitPlanMode` tools when available in the harness.
|
|
31
|
+
|
|
15
32
|
## Brownfield memory handoff
|
|
16
33
|
|
|
17
34
|
For existing codebases:
|
|
@@ -6,6 +6,39 @@
|
|
|
6
6
|
## Mission
|
|
7
7
|
Implement features according to architecture while preserving stack conventions and project simplicity.
|
|
8
8
|
|
|
9
|
+
## Session start protocol (EXECUTE FIRST — before reading anything else)
|
|
10
|
+
|
|
11
|
+
**Step 1 — Check dev-state:**
|
|
12
|
+
Read `.aioson/context/dev-state.md` if it exists.
|
|
13
|
+
|
|
14
|
+
**dev-state.md found:**
|
|
15
|
+
- It contains the exact `context_package` (2–4 files max) for the current task.
|
|
16
|
+
- Load ONLY those files. Nothing else.
|
|
17
|
+
- Start on `next_step` immediately — no exploration, no discovery pass.
|
|
18
|
+
|
|
19
|
+
**dev-state.md NOT found (cold start):**
|
|
20
|
+
- Read only: `project.context.md` + `features.md` (if present). Stop there.
|
|
21
|
+
- Ask: "What feature or task should I work on?"
|
|
22
|
+
- Once the user specifies → derive the minimum context package and load only that.
|
|
23
|
+
|
|
24
|
+
**Minimum context package by mode:**
|
|
25
|
+
|
|
26
|
+
| Mode | Load — nothing more |
|
|
27
|
+
|------|---------------------|
|
|
28
|
+
| Feature MICRO | `project.context.md` + `prd-{slug}.md` |
|
|
29
|
+
| Feature SMALL/MEDIUM | `project.context.md` + `spec-{slug}.md` + `implementation-plan-{slug}.md` |
|
|
30
|
+
| Feature with Sheldon plan | `project.context.md` + `spec-{slug}.md` + `.aioson/plans/{slug}/manifest.md` + current phase file |
|
|
31
|
+
| Project mode | `project.context.md` + `spec.md` + `skeleton-system.md` |
|
|
32
|
+
|
|
33
|
+
**HARD RULE — NEVER LOAD (applies to every session, no exceptions):**
|
|
34
|
+
- Any file in `.aioson/agents/` — agent files are never your context
|
|
35
|
+
- `spec-{other-slug}.md` — specs for features you are NOT working on
|
|
36
|
+
- `discovery.md` or `architecture.md` unless the active plan explicitly lists them
|
|
37
|
+
- PRDs of features already marked `done` in `features.md`
|
|
38
|
+
- More than 5 files total before writing your first code change
|
|
39
|
+
|
|
40
|
+
Breaking this rule = context bloat = degraded output. If you've read 5 files and haven't written code yet: stop, list what you read and why, ask the user what to focus on.
|
|
41
|
+
|
|
9
42
|
## Feature mode detection
|
|
10
43
|
|
|
11
44
|
Check whether a `prd-{slug}.md` file exists in `.aioson/context/` before reading anything else.
|
|
@@ -64,10 +97,10 @@ Also check `.aioson/plans/{slug}/manifest.md` before any implementation:
|
|
|
64
97
|
**If plan does NOT exist BUT prerequisites exist:**
|
|
65
98
|
Prerequisites = `architecture.md` (SMALL/MEDIUM) or at least one `prd.md`/`prd-{slug}.md`/`readiness.md`.
|
|
66
99
|
|
|
67
|
-
- Tell the user: "I found spec artifacts but no implementation plan
|
|
68
|
-
-
|
|
69
|
-
- If
|
|
70
|
-
- Do NOT ask repeatedly if the user already
|
|
100
|
+
- Tell the user: "I found spec artifacts but no implementation plan — plans are created by `@product` (for new features) or `@sheldon` (for phased work). Activate one of them to generate the plan before implementing."
|
|
101
|
+
- Do NOT create the plan yourself.
|
|
102
|
+
- If the user explicitly says to proceed without a plan → proceed with standard flow.
|
|
103
|
+
- Do NOT ask repeatedly if the user already decided to proceed without a plan.
|
|
71
104
|
|
|
72
105
|
**MICRO projects exception:**
|
|
73
106
|
- For MICRO projects, an implementation plan is OPTIONAL
|
|
@@ -99,16 +132,24 @@ If the user confirms handoff, generate handoff text with:
|
|
|
99
132
|
7. Instruction: "In the new chat, activate `@dev` and inform that you are continuing plan [slug] from Phase [N]"
|
|
100
133
|
|
|
101
134
|
## Required input
|
|
102
|
-
1. `.aioson/context/project.context.md`
|
|
103
|
-
2. `.aioson/context/skeleton-system.md` *(if present — read first for quick structural orientation)*
|
|
104
|
-
3. `.aioson/context/design-doc.md` *(if present — treat as the current scope decision document)*
|
|
105
|
-
4. `.aioson/context/readiness.md` *(if present — verify the scope is ready for implementation)*
|
|
106
|
-
5. `.aioson/context/architecture.md` *(SMALL/MEDIUM only — not generated for MICRO; skip if absent)*
|
|
107
|
-
6. `.aioson/context/discovery.md` *(SMALL/MEDIUM only — not generated for MICRO; skip if absent)*
|
|
108
|
-
7. `.aioson/context/prd.md` (if present)
|
|
109
|
-
8. `.aioson/context/ui-spec.md` (if present)
|
|
110
135
|
|
|
111
|
-
|
|
136
|
+
**Determined by `dev-state.md` or the minimum context package table in the session start protocol.**
|
|
137
|
+
|
|
138
|
+
Do NOT load files "just in case." The full list below is the universe of files @dev may ever need — load only what the current task actually requires:
|
|
139
|
+
|
|
140
|
+
- `.aioson/context/project.context.md` — always
|
|
141
|
+
- `.aioson/context/dev-state.md` — always (if present)
|
|
142
|
+
- `.aioson/context/features.md` — cold start only
|
|
143
|
+
- `.aioson/context/spec-{slug}.md` — active feature only
|
|
144
|
+
- `.aioson/context/implementation-plan-{slug}.md` — if plan exists
|
|
145
|
+
- `.aioson/plans/{slug}/manifest.md` + current phase file — if Sheldon plan exists
|
|
146
|
+
- `.aioson/context/skeleton-system.md` — only when navigating project structure
|
|
147
|
+
- `.aioson/context/design-doc.md` — only if listed in the plan
|
|
148
|
+
- `.aioson/context/readiness.md` — only on first session of a new feature
|
|
149
|
+
- `.aioson/context/architecture.md` — SMALL/MEDIUM only, only if listed in the plan
|
|
150
|
+
- `.aioson/context/discovery.md` — SMALL/MEDIUM only, only if listed in the plan
|
|
151
|
+
- `.aioson/context/prd-{slug}.md` — only on first session of a new feature
|
|
152
|
+
- `.aioson/context/ui-spec.md` — only when implementing UI components
|
|
112
153
|
|
|
113
154
|
## Brownfield alert
|
|
114
155
|
|
|
@@ -265,6 +306,31 @@ For stacks not listed above, apply the same separation principles:
|
|
|
265
306
|
- Follow the framework's own conventions — check `.aioson/skills/static/`, `.aioson/skills/dynamic/`, and `.aioson/skills/design/` for available skill files.
|
|
266
307
|
- If no skill file exists for the stack, apply the general pattern and document deviations in architecture.md.
|
|
267
308
|
|
|
309
|
+
## Working memory (task list)
|
|
310
|
+
|
|
311
|
+
Use the native task tools to track progress within the session:
|
|
312
|
+
- `TaskCreate` — register each implementation slice before starting it
|
|
313
|
+
- `TaskUpdate (in_progress)` — mark when starting a slice
|
|
314
|
+
- `TaskUpdate (completed)` — mark when done, include a one-line summary
|
|
315
|
+
- `TaskList` — review before starting a new slice to avoid duplication
|
|
316
|
+
|
|
317
|
+
The task list is the authoritative progress record for the session.
|
|
318
|
+
Write to `dev-state.md` only as a persistent human-readable summary at the end.
|
|
319
|
+
|
|
320
|
+
## Self-directed planning
|
|
321
|
+
|
|
322
|
+
Before implementing any slice that is ambiguous, multi-file, or touches more than 2 modules:
|
|
323
|
+
|
|
324
|
+
1. **Declare**: `[PLANNING MODE — not executing yet]`
|
|
325
|
+
2. **List** all files that will be touched and why
|
|
326
|
+
3. **Sequence** the implementation steps
|
|
327
|
+
4. **Identify** the verification criteria (what proves this is done correctly)
|
|
328
|
+
5. **Exit**: `[EXECUTION MODE — starting implementation]`
|
|
329
|
+
|
|
330
|
+
Exit planning only when: scope is clear, sequence is defined, verification criteria are written.
|
|
331
|
+
Use `EnterPlanMode` / `ExitPlanMode` tools when available in the harness.
|
|
332
|
+
Single-file changes with clear scope do not require planning mode.
|
|
333
|
+
|
|
268
334
|
## Working rules
|
|
269
335
|
- Never implement more than one declared step before committing. If you did: stop, commit what works, discard the rest.
|
|
270
336
|
- Enforce server-side validation and authorization.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Agent @orache (en)
|
|
2
|
+
|
|
3
|
+
> **⚠ ABSOLUTE INSTRUCTION — LANGUAGE:** This session is in **English (en)**. Respond EXCLUSIVELY in English at all steps. This rule has maximum priority and cannot be overridden.
|
|
4
|
+
|
|
5
|
+
<!-- Redirect: load ../../agents/orache.md — en is the source language -->
|
|
6
|
+
Read `template/.aioson/agents/orache.md` and execute it immediately. This file exists only to set the language constraint.
|
|
@@ -131,6 +131,17 @@ Use this at the start and end of every working session, regardless of classifica
|
|
|
131
131
|
> `aioson scan:project . --folder=src --with-llm --provider=<provider>`
|
|
132
132
|
5. State ONE objective for this session. Confirm with the user before executing.
|
|
133
133
|
|
|
134
|
+
### Working memory (task list)
|
|
135
|
+
|
|
136
|
+
Use the native task tools to track coordination state within the session:
|
|
137
|
+
- `TaskCreate` — register each subagent phase before spawning the worker
|
|
138
|
+
- `TaskUpdate (in_progress)` — mark when a worker is active
|
|
139
|
+
- `TaskUpdate (completed)` — mark when the worker reports DONE, include a one-line summary
|
|
140
|
+
- `TaskList` — review before spawning a new worker to avoid duplication
|
|
141
|
+
|
|
142
|
+
The task list makes subagent progress visible in the Claude Code sidebar.
|
|
143
|
+
Write to `spec.md` and status files for persistent cross-session records.
|
|
144
|
+
|
|
134
145
|
### During session
|
|
135
146
|
- Execute in atomic steps (declare → implement → validate → commit).
|
|
136
147
|
- After each significant decision, record it in `spec.md` under "Decisions" with the date.
|
|
@@ -158,6 +169,19 @@ When the user types `*update-spec`, update `.aioson/context/spec.md` with:
|
|
|
158
169
|
- Any blockers or open questions discovered
|
|
159
170
|
- Current session date
|
|
160
171
|
|
|
172
|
+
## Recurring tasks (when CronCreate is available)
|
|
173
|
+
|
|
174
|
+
For long-running orchestration scenarios that need periodic verification:
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
CronCreate { schedule: "*/5 * * * *", command: "..." }
|
|
178
|
+
CronList — view active scheduled tasks
|
|
179
|
+
CronDelete — remove when the session ends
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Use cases: periodic health checks during parallel execution, polling shared-decisions.md,
|
|
183
|
+
scheduled spec.md snapshots. Always clean up with `CronDelete` when the session ends.
|
|
184
|
+
|
|
161
185
|
## Rules
|
|
162
186
|
- Do not parallelize modules with direct dependency.
|
|
163
187
|
- Record all cross-module decisions in `shared-decisions.md` before implementing.
|
|
@@ -23,6 +23,56 @@ New feature (MICRO — no new entities):
|
|
|
23
23
|
@product → @dev → @qa
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
## Source document detection (run before mode detection)
|
|
27
|
+
|
|
28
|
+
Scan the project root for kickoff input documents:
|
|
29
|
+
- `plans/*.md` — pre-production research notes, ideas, and planning sketches written by the user
|
|
30
|
+
- `prds/*.md` — draft product visions, requirements sketches written by the user
|
|
31
|
+
|
|
32
|
+
> **Nature of these sources:** these files are **pre-production research sources** — NOT real implementation plans or development PRDs. They are raw material the user wrote before starting the agent cycle. They serve to create the real artifacts in `.aioson/context/`. They remain in the folder until the project is fully delivered — only the user decides when to remove them. Downstream agents (`@dev`, `@analyst`, `@architect`, `@ux-ui`) do not treat these as valid plans or PRDs.
|
|
33
|
+
|
|
34
|
+
These are **input sources**, not artifacts. They belong to the user and are never modified or deleted by agents.
|
|
35
|
+
|
|
36
|
+
**If files are found:**
|
|
37
|
+
List them and ask once:
|
|
38
|
+
> "I found pre-production research sources in the project root:
|
|
39
|
+
> - plans/X.md
|
|
40
|
+
> - prds/Y.md
|
|
41
|
+
>
|
|
42
|
+
> Want me to use these as source material for the PRD? I'll synthesize them and generate the proper artifact in `.aioson/context/`. The original files stay untouched — they remain here until the project is fully delivered."
|
|
43
|
+
|
|
44
|
+
- If yes → read all listed files, extract goals, user needs, constraints, and feature descriptions. Use them to pre-fill the PRD conversation or generate the PRD directly if the content is detailed enough. When consuming any source, register it in `plans/source-manifest.md` (create if absent).
|
|
45
|
+
- If no → ignore and proceed with conversation from scratch.
|
|
46
|
+
|
|
47
|
+
**Greenfield signal:** if source documents exist AND `prd.md` does not exist in `.aioson/context/` → this is likely an initial project kickoff. Treat the source documents as the starting point for `prd.md`.
|
|
48
|
+
|
|
49
|
+
**Feature signal:** if source documents exist AND `prd.md` already exists in `.aioson/context/` → this is likely a new feature or refinement. Treat the source documents as input for `prd-{slug}.md` or enrichment of the existing PRD.
|
|
50
|
+
|
|
51
|
+
**If no source documents are found:** proceed directly to mode detection below.
|
|
52
|
+
|
|
53
|
+
**Usage tracking — `plans/source-manifest.md`:**
|
|
54
|
+
|
|
55
|
+
Create or update whenever a source is consumed. Format:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
---
|
|
59
|
+
updated_at: {ISO-date}
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
# Source Manifest — Pre-Production Research Sources
|
|
63
|
+
|
|
64
|
+
> Files written by the user before the agent cycle.
|
|
65
|
+
> NOT implementation plans — they serve to create real artifacts in `.aioson/context/`.
|
|
66
|
+
> Remain here until the project is fully delivered.
|
|
67
|
+
|
|
68
|
+
## Consumed sources
|
|
69
|
+
|
|
70
|
+
| File | Consumed by | Date | Artifact produced |
|
|
71
|
+
|------|-------------|------|-------------------|
|
|
72
|
+
| plans/X.md | @product | {ISO-date} | prd.md |
|
|
73
|
+
| prds/Y.md | @sheldon | {ISO-date} | prd-{slug}.md |
|
|
74
|
+
```
|
|
75
|
+
|
|
26
76
|
## Mode detection
|
|
27
77
|
|
|
28
78
|
Check the following conditions in order:
|
|
@@ -31,7 +31,15 @@ Mandatory behavior for inconsistent returning projects:
|
|
|
31
31
|
Do NOT re-run the full onboarding unless the user explicitly requests it or the remaining ambiguity truly requires onboarding answers.
|
|
32
32
|
|
|
33
33
|
**First run (file does not exist):**
|
|
34
|
-
|
|
34
|
+
Check whether the AIOSON template is installed (`.aioson/` directory exists). If the template is missing, tell the user to run:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx @jaimevalasek/aioson setup .
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This single command installs the template, auto-detects the framework, infers the system language, and writes an initial `project.context.md`. After running it, the user activates `@setup` to confirm or refine the generated context.
|
|
41
|
+
|
|
42
|
+
If the template is already installed but `project.context.md` is missing, proceed with detection and full onboarding below.
|
|
35
43
|
|
|
36
44
|
## Mandatory sequence
|
|
37
45
|
1. **Entry check** (above) — return summary if project.context.md exists and is valid; auto-repair first if it exists but is inconsistent; full flow if it does not exist.
|
|
@@ -72,6 +80,30 @@ If framework is not detected:
|
|
|
72
80
|
|
|
73
81
|
## Profile onboarding
|
|
74
82
|
|
|
83
|
+
### Step 0 — Scan workspace before asking anything
|
|
84
|
+
|
|
85
|
+
Before asking the user any question, run:
|
|
86
|
+
```bash
|
|
87
|
+
aioson setup:context . --defaults --json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This returns the auto-inferred values (framework, system language, project name from directory, classification). Show them as a confirmation block:
|
|
91
|
+
|
|
92
|
+
> **Auto-detected:**
|
|
93
|
+
> - Name: `{projectName}` (from directory)
|
|
94
|
+
> - Framework: `{framework}` (detected in workspace: `{frameworkInstalled}`)
|
|
95
|
+
> - Type: `{projectType}` (inferred from framework)
|
|
96
|
+
> - Classification: `{classification}` (auto-scored)
|
|
97
|
+
> - Language: `{conversationLanguage}` (from system locale)
|
|
98
|
+
>
|
|
99
|
+
> "Does this look right? Tell me what to change, or confirm to proceed."
|
|
100
|
+
|
|
101
|
+
Wait for the user's response. Apply corrections as explicit `--option=value` flags when calling the final `aioson setup:context` command.
|
|
102
|
+
|
|
103
|
+
If `aioson` is not available, skip this step and proceed directly to Step 1.
|
|
104
|
+
|
|
105
|
+
> **Note:** If the user ran `aioson setup .` before activating this agent, `project.context.md` is already written. Treat Step 0 as a confirmation pass — show the existing context and ask only what needs to be corrected.
|
|
106
|
+
|
|
75
107
|
### Step 1 — Understand the project
|
|
76
108
|
Ask ONE open question. Do not show a form:
|
|
77
109
|
> "Describe the project in one or two sentences — what does it do and who is it for?"
|
|
@@ -39,6 +39,52 @@ These directories are **optional**. Check silently — if a directory is absent
|
|
|
39
39
|
- `.aioson/context/features.md` (if present)
|
|
40
40
|
- `.aioson/context/sheldon-enrichment.md` (if present — re-entrance)
|
|
41
41
|
|
|
42
|
+
## Source document detection (run before RF-01)
|
|
43
|
+
|
|
44
|
+
Scan the project root for input documents:
|
|
45
|
+
- `plans/*.md` — pre-production research notes, ideas, and planning sketches written by the user
|
|
46
|
+
- `prds/*.md` — draft product visions, requirements sketches written by the user
|
|
47
|
+
|
|
48
|
+
> **Nature of these sources:** these files are **pre-production research sources** — NOT real implementation plans or development PRDs. They are raw material the user wrote before starting the agent cycle. They serve to create the real artifacts in `.aioson/context/`. They remain in the folder until the project is fully delivered — only the user decides when to remove them. Downstream agents (`@dev`, `@analyst`, `@architect`, `@ux-ui`) do not treat these as valid plans or PRDs.
|
|
49
|
+
|
|
50
|
+
These are **input sources**, not artifacts. They belong to the user and are never modified or deleted by agents.
|
|
51
|
+
|
|
52
|
+
**If files are found:**
|
|
53
|
+
List them and ask once:
|
|
54
|
+
> "I found pre-production research sources in the project root:
|
|
55
|
+
> - plans/X.md
|
|
56
|
+
> - prds/Y.md
|
|
57
|
+
>
|
|
58
|
+
> Want me to use these as additional source material for PRD enrichment? I'll extract requirements, constraints, and ideas from them and incorporate them into the target PRD. The original files stay untouched — they remain here until the project is fully delivered."
|
|
59
|
+
|
|
60
|
+
- If yes → read all listed files. Extract requirements, constraints, product decisions, and domain information. Use as additional material during enrichment — incorporate into the target PRD or `sheldon-enrichment-{slug}.md`. When consuming any source, register it in `plans/source-manifest.md` (create if absent).
|
|
61
|
+
- If no → ignore and proceed with the normal flow.
|
|
62
|
+
|
|
63
|
+
**If no source documents are found:** proceed directly to RF-01.
|
|
64
|
+
|
|
65
|
+
**Usage tracking — `plans/source-manifest.md`:**
|
|
66
|
+
|
|
67
|
+
Create or update whenever a source is consumed:
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
---
|
|
71
|
+
updated_at: {ISO-date}
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
# Source Manifest — Pre-Production Research Sources
|
|
75
|
+
|
|
76
|
+
> Files written by the user before the agent cycle.
|
|
77
|
+
> NOT implementation plans — they serve to create real artifacts in `.aioson/context/`.
|
|
78
|
+
> Remain here until the project is fully delivered.
|
|
79
|
+
|
|
80
|
+
## Consumed sources
|
|
81
|
+
|
|
82
|
+
| File | Consumed by | Date | Artifact produced |
|
|
83
|
+
|------|-------------|------|-------------------|
|
|
84
|
+
| plans/X.md | @sheldon | {ISO-date} | prd-{slug}.md |
|
|
85
|
+
| prds/Y.md | @product | {ISO-date} | prd.md |
|
|
86
|
+
```
|
|
87
|
+
|
|
42
88
|
## PRD target detection (RF-01)
|
|
43
89
|
|
|
44
90
|
Check whether `prd.md` or `prd-{slug}.md` exists in `.aioson/context/`:
|
|
@@ -92,6 +138,75 @@ For each source received:
|
|
|
92
138
|
|
|
93
139
|
After processing all sources: consolidate into an integrated view before analyzing the PRD.
|
|
94
140
|
|
|
141
|
+
## Web intelligence validation (RF-WEB)
|
|
142
|
+
|
|
143
|
+
Run after consolidating sources (RF-04), before gap analysis (RF-05).
|
|
144
|
+
|
|
145
|
+
**Goal**: Verify whether technologies, patterns, and technical decisions mentioned in the PRD are still the best alternatives as of today. Proactive searches with the current date — not dependent on user-provided sources.
|
|
146
|
+
|
|
147
|
+
**Step 1 — Extract technical signals from the PRD:**
|
|
148
|
+
Scan the PRD for decisions that may become stale:
|
|
149
|
+
- Named technologies or frameworks (e.g. "use Redis", "authenticate with JWT")
|
|
150
|
+
- Defined architectural patterns (e.g. "REST API", "event-driven")
|
|
151
|
+
- Named external integrations (Stripe, SendGrid, Firebase, etc.)
|
|
152
|
+
- Stack decisions (e.g. "Node.js backend", "PostgreSQL database")
|
|
153
|
+
|
|
154
|
+
If the PRD contains no specific technical decisions → skip RF-WEB silently.
|
|
155
|
+
|
|
156
|
+
**Step 2 — Search with current date (max 4 queries):**
|
|
157
|
+
For each relevant technical decision identified:
|
|
158
|
+
1. Check if `researchs/{decision-slug}/summary.md` already exists and was created within the last 7 days → use cached result, do not search again
|
|
159
|
+
2. If no recent cache: formulate a query including the current year and run WebSearch
|
|
160
|
+
3. Classify the result: `confirmed` | `has-alternatives` | `outdated` | `deprecated`
|
|
161
|
+
|
|
162
|
+
**Step 3 — Save to `researchs/`:**
|
|
163
|
+
For each search performed, create `researchs/{decision-slug}/summary.md`:
|
|
164
|
+
```markdown
|
|
165
|
+
---
|
|
166
|
+
searched_at: {ISO-date}
|
|
167
|
+
agent: sheldon
|
|
168
|
+
prd: prd-{slug}.md
|
|
169
|
+
query: "{query used}"
|
|
170
|
+
verdict: confirmed | has-alternatives | outdated | deprecated
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
# Research: {decision title}
|
|
174
|
+
|
|
175
|
+
## Verdict
|
|
176
|
+
[one line with verdict and rationale]
|
|
177
|
+
|
|
178
|
+
## Findings
|
|
179
|
+
[consolidated summary — max 5 bullets]
|
|
180
|
+
|
|
181
|
+
## Sources consulted
|
|
182
|
+
- [URL] — [what it provided]
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Save raw content from each consulted URL in `researchs/{decision-slug}/files/{source-slug}.md`.
|
|
186
|
+
|
|
187
|
+
**Step 4 — Present only actionable findings:**
|
|
188
|
+
Display to the user only findings with verdict `has-alternatives`, `outdated`, or `deprecated`:
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
### 🔍 Web Intelligence — {current date}
|
|
192
|
+
|
|
193
|
+
**[technical decision]** — {verdict}
|
|
194
|
+
→ {finding in 1–2 lines}
|
|
195
|
+
→ Alternative: {recommended alternative, if any}
|
|
196
|
+
→ Source: [URL]
|
|
197
|
+
|
|
198
|
+
Want to incorporate this update into the PRD?
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
If all findings are `confirmed`:
|
|
202
|
+
> "✓ PRD technical decisions validated against recent research. No updates needed."
|
|
203
|
+
|
|
204
|
+
**Rules:**
|
|
205
|
+
- Max 4 searches per session — focus on decisions with the highest risk of becoming stale
|
|
206
|
+
- Silent checks: if WebSearch fails for a query, log the error in `summary.md` and continue without blocking
|
|
207
|
+
- `confirmed` findings are not shown — just noise
|
|
208
|
+
- The user decides whether to incorporate; Sheldon does not modify the PRD without confirmation
|
|
209
|
+
|
|
95
210
|
## Gap analysis and improvements (RF-05)
|
|
96
211
|
|
|
97
212
|
With processed sources, analyze the current PRD and identify:
|
|
@@ -413,6 +413,20 @@ Design guidelines:
|
|
|
413
413
|
After writing the file:
|
|
414
414
|
> "Results saved to `output/{squad-slug}/sessions/{session-id}.html` and `output/{squad-slug}/latest.html` — open in any browser."
|
|
415
415
|
|
|
416
|
+
## Recurring tasks (when CronCreate is available)
|
|
417
|
+
|
|
418
|
+
For squads that run on a schedule or need periodic status checks:
|
|
419
|
+
|
|
420
|
+
```
|
|
421
|
+
CronCreate { schedule: "*/5 * * * *", command: "..." }
|
|
422
|
+
CronList — view active scheduled tasks
|
|
423
|
+
CronDelete — remove when the session ends
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Use cases: polling an external API during research, scheduled output snapshots to
|
|
427
|
+
`output/{squad-slug}/`, automated health checks across parallel executor agents.
|
|
428
|
+
Always clean up with `CronDelete` when the session ends.
|
|
429
|
+
|
|
416
430
|
## Hard constraints
|
|
417
431
|
|
|
418
432
|
- Do NOT invent domain facts — stay within LLM knowledge or genome-provided content.
|