godpowers 0.15.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/AGENTS.md +37 -0
- package/CHANGELOG.md +639 -0
- package/INSPIRATION.md +52 -0
- package/LICENSE +21 -0
- package/README.md +232 -0
- package/SKILL.md +500 -0
- package/agents/god-archaeologist.md +139 -0
- package/agents/god-architect.md +92 -0
- package/agents/god-auditor.md +150 -0
- package/agents/god-browser-tester.md +144 -0
- package/agents/god-context-writer.md +137 -0
- package/agents/god-coordinator.md +138 -0
- package/agents/god-debt-assessor.md +132 -0
- package/agents/god-debugger.md +77 -0
- package/agents/god-deploy-engineer.md +87 -0
- package/agents/god-deps-auditor.md +111 -0
- package/agents/god-design-reviewer.md +137 -0
- package/agents/god-designer.md +171 -0
- package/agents/god-docs-writer.md +102 -0
- package/agents/god-executor.md +76 -0
- package/agents/god-explorer.md +110 -0
- package/agents/god-harden-auditor.md +163 -0
- package/agents/god-incident-investigator.md +144 -0
- package/agents/god-launch-strategist.md +103 -0
- package/agents/god-migration-strategist.md +126 -0
- package/agents/god-observability-engineer.md +76 -0
- package/agents/god-orchestrator.md +728 -0
- package/agents/god-org-context-loader.md +124 -0
- package/agents/god-planner.md +73 -0
- package/agents/god-pm.md +105 -0
- package/agents/god-quality-reviewer.md +74 -0
- package/agents/god-reconciler.md +230 -0
- package/agents/god-reconstructor.md +124 -0
- package/agents/god-repo-scaffolder.md +60 -0
- package/agents/god-retrospective.md +109 -0
- package/agents/god-roadmap-reconciler.md +123 -0
- package/agents/god-roadmap-updater.md +89 -0
- package/agents/god-roadmapper.md +82 -0
- package/agents/god-spec-reviewer.md +70 -0
- package/agents/god-spike-runner.md +119 -0
- package/agents/god-stack-selector.md +93 -0
- package/agents/god-standards-check.md +132 -0
- package/agents/god-storyteller.md +116 -0
- package/agents/god-updater.md +174 -0
- package/bin/install.js +514 -0
- package/extensions/data-pack/README.md +33 -0
- package/extensions/data-pack/agents/god-dashboard-builder.md +66 -0
- package/extensions/data-pack/agents/god-etl-engineer.md +64 -0
- package/extensions/data-pack/agents/god-ml-feature-engineer.md +66 -0
- package/extensions/data-pack/manifest.yaml +39 -0
- package/extensions/data-pack/package.json +42 -0
- package/extensions/data-pack/skills/god-dashboard.md +28 -0
- package/extensions/data-pack/skills/god-etl.md +28 -0
- package/extensions/data-pack/skills/god-ml-feature.md +28 -0
- package/extensions/data-pack/workflows/dashboard-arc.yaml +13 -0
- package/extensions/data-pack/workflows/etl-arc.yaml +13 -0
- package/extensions/data-pack/workflows/ml-feature-arc.yaml +13 -0
- package/extensions/launch-pack/README.md +36 -0
- package/extensions/launch-pack/agents/god-indie-hackers-strategist.md +128 -0
- package/extensions/launch-pack/agents/god-oss-release-strategist.md +125 -0
- package/extensions/launch-pack/agents/god-product-hunt-strategist.md +118 -0
- package/extensions/launch-pack/agents/god-show-hn-strategist.md +113 -0
- package/extensions/launch-pack/manifest.yaml +45 -0
- package/extensions/launch-pack/package.json +41 -0
- package/extensions/launch-pack/skills/god-indie-hackers.md +39 -0
- package/extensions/launch-pack/skills/god-oss-release.md +43 -0
- package/extensions/launch-pack/skills/god-product-hunt.md +41 -0
- package/extensions/launch-pack/skills/god-show-hn.md +40 -0
- package/extensions/launch-pack/workflows/indie-hackers.yaml +13 -0
- package/extensions/launch-pack/workflows/oss-release.yaml +13 -0
- package/extensions/launch-pack/workflows/product-hunt.yaml +13 -0
- package/extensions/launch-pack/workflows/show-hn.yaml +13 -0
- package/extensions/security-pack/README.md +48 -0
- package/extensions/security-pack/agents/god-hipaa-auditor.md +117 -0
- package/extensions/security-pack/agents/god-pci-auditor.md +100 -0
- package/extensions/security-pack/agents/god-soc2-auditor.md +107 -0
- package/extensions/security-pack/manifest.yaml +39 -0
- package/extensions/security-pack/package.json +42 -0
- package/extensions/security-pack/skills/god-hipaa-audit.md +41 -0
- package/extensions/security-pack/skills/god-pci-audit.md +40 -0
- package/extensions/security-pack/skills/god-soc2-audit.md +42 -0
- package/extensions/security-pack/workflows/hipaa-arc.yaml +15 -0
- package/extensions/security-pack/workflows/pci-arc.yaml +15 -0
- package/extensions/security-pack/workflows/soc2-arc.yaml +15 -0
- package/hooks/pre-tool-use.sh +40 -0
- package/hooks/session-start.sh +74 -0
- package/lib/README.md +28 -0
- package/lib/agent-browser-driver.js +215 -0
- package/lib/agent-cache.js +194 -0
- package/lib/agent-validator.js +275 -0
- package/lib/artifact-diff.js +168 -0
- package/lib/artifact-linter.js +142 -0
- package/lib/awesome-design.js +312 -0
- package/lib/browser-bridge.js +209 -0
- package/lib/budget.js +215 -0
- package/lib/checkpoint.js +390 -0
- package/lib/code-scanner.js +262 -0
- package/lib/context-budget.js +170 -0
- package/lib/context-writer.js +348 -0
- package/lib/cost-tracker.js +325 -0
- package/lib/cross-artifact-impact.js +162 -0
- package/lib/cross-repo-linkage.js +150 -0
- package/lib/design-detector.js +167 -0
- package/lib/design-spec.js +348 -0
- package/lib/drift-detector.js +212 -0
- package/lib/event-reader.js +174 -0
- package/lib/events.js +183 -0
- package/lib/extensions.js +257 -0
- package/lib/have-nots-validator.js +647 -0
- package/lib/impact.js +314 -0
- package/lib/impeccable-bridge.js +139 -0
- package/lib/intent.js +177 -0
- package/lib/linkage.js +232 -0
- package/lib/meta-linter.js +263 -0
- package/lib/multi-repo-detector.js +182 -0
- package/lib/otel-exporter.js +308 -0
- package/lib/recipes.js +186 -0
- package/lib/reverse-sync.js +332 -0
- package/lib/review-required.js +224 -0
- package/lib/router.js +278 -0
- package/lib/runtime-audit.js +455 -0
- package/lib/runtime-test.js +309 -0
- package/lib/skillui-bridge.js +216 -0
- package/lib/state-lock.js +201 -0
- package/lib/state.js +142 -0
- package/lib/story-validator.js +301 -0
- package/lib/suite-state.js +220 -0
- package/lib/workflow-parser.js +109 -0
- package/lib/workflow-runner.js +221 -0
- package/package.json +63 -0
- package/references/HAVE-NOTS.md +573 -0
- package/references/building/BUILD-ANTIPATTERNS.md +102 -0
- package/references/building/BUILD-VERTICAL-SLICES.md +75 -0
- package/references/building/BUILD-WAVES.md +61 -0
- package/references/building/README.md +17 -0
- package/references/design/COLOR.md +122 -0
- package/references/design/DESIGN-ANATOMY.md +121 -0
- package/references/design/DESIGN-ANTIPATTERNS.md +108 -0
- package/references/design/INTERACTION.md +148 -0
- package/references/design/MOTION.md +120 -0
- package/references/design/RESPONSIVE.md +157 -0
- package/references/design/SPATIAL.md +109 -0
- package/references/design/TYPOGRAPHY.md +121 -0
- package/references/design/UX-WRITING.md +135 -0
- package/references/orchestration/MODE-DETECTION.md +74 -0
- package/references/orchestration/README.md +18 -0
- package/references/orchestration/SCALE-DETECTION.md +81 -0
- package/references/planning/ARCH-ANATOMY.md +143 -0
- package/references/planning/ARCH-ANTIPATTERNS.md +52 -0
- package/references/planning/PRD-ANATOMY.md +117 -0
- package/references/planning/PRD-ANTIPATTERNS.md +138 -0
- package/references/planning/README.md +16 -0
- package/references/planning/ROADMAP-ANATOMY.md +43 -0
- package/references/planning/ROADMAP-ANTIPATTERNS.md +94 -0
- package/references/planning/STACK-ANATOMY.md +60 -0
- package/references/planning/STACK-ANTIPATTERNS.md +95 -0
- package/references/shared/GLOSSARY.md +80 -0
- package/references/shared/ORCHESTRATORS.md +76 -0
- package/references/shared/README.md +14 -0
- package/references/shipping/DEPLOY-ANTIPATTERNS.md +64 -0
- package/references/shipping/DEPLOY-PATTERNS.md +110 -0
- package/references/shipping/HARDEN-ANTIPATTERNS.md +66 -0
- package/references/shipping/HARDEN-OWASP-WORKSHEETS.md +89 -0
- package/references/shipping/LAUNCH-ANTIPATTERNS.md +68 -0
- package/references/shipping/OBSERVE-ANTIPATTERNS.md +62 -0
- package/references/shipping/OBSERVE-SLO-EXAMPLES.md +107 -0
- package/references/shipping/README.md +18 -0
- package/routing/god-add-backlog.yaml +24 -0
- package/routing/god-add-tests.yaml +27 -0
- package/routing/god-add-todo.yaml +24 -0
- package/routing/god-agent-audit.yaml +24 -0
- package/routing/god-arch.yaml +46 -0
- package/routing/god-archaeology.yaml +28 -0
- package/routing/god-audit.yaml +32 -0
- package/routing/god-budget.yaml +24 -0
- package/routing/god-build-agent.yaml +24 -0
- package/routing/god-build.yaml +46 -0
- package/routing/god-cache-clear.yaml +24 -0
- package/routing/god-check-todos.yaml +24 -0
- package/routing/god-context-scan.yaml +24 -0
- package/routing/god-context.yaml +44 -0
- package/routing/god-cost.yaml +24 -0
- package/routing/god-debug.yaml +28 -0
- package/routing/god-deploy.yaml +34 -0
- package/routing/god-design-impact.yaml +25 -0
- package/routing/god-design.yaml +67 -0
- package/routing/god-discuss.yaml +27 -0
- package/routing/god-docs.yaml +33 -0
- package/routing/god-doctor.yaml +27 -0
- package/routing/god-explore.yaml +27 -0
- package/routing/god-extension-add.yaml +24 -0
- package/routing/god-extension-info.yaml +24 -0
- package/routing/god-extension-list.yaml +24 -0
- package/routing/god-extension-remove.yaml +24 -0
- package/routing/god-extract-learnings.yaml +24 -0
- package/routing/god-fast.yaml +27 -0
- package/routing/god-feature.yaml +34 -0
- package/routing/god-graph.yaml +24 -0
- package/routing/god-harden.yaml +41 -0
- package/routing/god-help.yaml +27 -0
- package/routing/god-hotfix.yaml +34 -0
- package/routing/god-hygiene.yaml +28 -0
- package/routing/god-init.yaml +37 -0
- package/routing/god-intel.yaml +24 -0
- package/routing/god-launch.yaml +41 -0
- package/routing/god-lifecycle.yaml +27 -0
- package/routing/god-link.yaml +24 -0
- package/routing/god-lint.yaml +24 -0
- package/routing/god-list-assumptions.yaml +27 -0
- package/routing/god-locate.yaml +24 -0
- package/routing/god-logs.yaml +24 -0
- package/routing/god-map-codebase.yaml +24 -0
- package/routing/god-metrics.yaml +24 -0
- package/routing/god-mode.yaml +31 -0
- package/routing/god-next.yaml +27 -0
- package/routing/god-note.yaml +24 -0
- package/routing/god-observe.yaml +34 -0
- package/routing/god-org-context.yaml +28 -0
- package/routing/god-party.yaml +24 -0
- package/routing/god-pause-work.yaml +27 -0
- package/routing/god-plant-seed.yaml +24 -0
- package/routing/god-postmortem.yaml +34 -0
- package/routing/god-pr-branch.yaml +25 -0
- package/routing/god-prd.yaml +49 -0
- package/routing/god-quick.yaml +28 -0
- package/routing/god-reconcile.yaml +48 -0
- package/routing/god-reconstruct.yaml +36 -0
- package/routing/god-redo.yaml +27 -0
- package/routing/god-refactor.yaml +36 -0
- package/routing/god-repair.yaml +27 -0
- package/routing/god-repo.yaml +35 -0
- package/routing/god-restore.yaml +27 -0
- package/routing/god-resume-work.yaml +27 -0
- package/routing/god-review-changes.yaml +25 -0
- package/routing/god-review.yaml +28 -0
- package/routing/god-roadmap-check.yaml +39 -0
- package/routing/god-roadmap-update.yaml +37 -0
- package/routing/god-roadmap.yaml +42 -0
- package/routing/god-rollback.yaml +27 -0
- package/routing/god-scan.yaml +24 -0
- package/routing/god-set-profile.yaml +24 -0
- package/routing/god-settings.yaml +24 -0
- package/routing/god-skip.yaml +27 -0
- package/routing/god-smite.yaml +29 -0
- package/routing/god-spike.yaml +35 -0
- package/routing/god-sprint.yaml +25 -0
- package/routing/god-stack.yaml +41 -0
- package/routing/god-standards.yaml +24 -0
- package/routing/god-status.yaml +27 -0
- package/routing/god-stories.yaml +24 -0
- package/routing/god-story-build.yaml +25 -0
- package/routing/god-story-close.yaml +25 -0
- package/routing/god-story-verify.yaml +25 -0
- package/routing/god-story.yaml +24 -0
- package/routing/god-suite-init.yaml +24 -0
- package/routing/god-suite-patch.yaml +25 -0
- package/routing/god-suite-release.yaml +25 -0
- package/routing/god-suite-status.yaml +25 -0
- package/routing/god-suite-sync.yaml +25 -0
- package/routing/god-sync.yaml +33 -0
- package/routing/god-tech-debt.yaml +32 -0
- package/routing/god-test-extension.yaml +24 -0
- package/routing/god-test-runtime.yaml +25 -0
- package/routing/god-thread.yaml +24 -0
- package/routing/god-trace.yaml +24 -0
- package/routing/god-undo.yaml +27 -0
- package/routing/god-update-deps.yaml +39 -0
- package/routing/god-upgrade.yaml +33 -0
- package/routing/god-version.yaml +24 -0
- package/routing/god-workstream.yaml +24 -0
- package/routing/god.yaml +24 -0
- package/routing/recipes/add-feature-defer-current-milestone.yaml +21 -0
- package/routing/recipes/add-feature-future-conditional.yaml +21 -0
- package/routing/recipes/add-feature-mid-arc-pause.yaml +33 -0
- package/routing/recipes/add-feature-next-milestone.yaml +23 -0
- package/routing/recipes/add-feature-parallel.yaml +29 -0
- package/routing/recipes/add-feature-prd-update.yaml +21 -0
- package/routing/recipes/add-feature-small.yaml +24 -0
- package/routing/recipes/add-feature-tiny.yaml +24 -0
- package/routing/recipes/bluefield-org-aware.yaml +27 -0
- package/routing/recipes/broken-install.yaml +22 -0
- package/routing/recipes/brownfield-onboarding.yaml +32 -0
- package/routing/recipes/bug-no-urgency.yaml +21 -0
- package/routing/recipes/capture-idea.yaml +22 -0
- package/routing/recipes/capture-todo.yaml +21 -0
- package/routing/recipes/clean-pr.yaml +21 -0
- package/routing/recipes/code-cleanup.yaml +23 -0
- package/routing/recipes/docs-drift.yaml +21 -0
- package/routing/recipes/existing-codebase-onboarding.yaml +32 -0
- package/routing/recipes/extract-learnings.yaml +22 -0
- package/routing/recipes/greenfield-fast.yaml +25 -0
- package/routing/recipes/greenfield-manual.yaml +32 -0
- package/routing/recipes/greenfield-with-ideation.yaml +29 -0
- package/routing/recipes/incident-postmortem.yaml +24 -0
- package/routing/recipes/major-framework-upgrade.yaml +23 -0
- package/routing/recipes/monthly-deps.yaml +22 -0
- package/routing/recipes/multi-repo-suite.yaml +56 -0
- package/routing/recipes/parallel-engineers.yaml +26 -0
- package/routing/recipes/pause-handoff.yaml +21 -0
- package/routing/recipes/production-broken.yaml +26 -0
- package/routing/recipes/rerun-tier.yaml +21 -0
- package/routing/recipes/returning-after-break.yaml +31 -0
- package/routing/recipes/state-drift.yaml +21 -0
- package/routing/recipes/undo-last.yaml +21 -0
- package/routing/recipes/weekly-health-check.yaml +24 -0
- package/routing/recipes/whats-next.yaml +22 -0
- package/routing/recipes/where-am-i.yaml +21 -0
- package/schema/events.v1.json +63 -0
- package/schema/extension-manifest.v1.json +84 -0
- package/schema/intent.v1.yaml.json +116 -0
- package/schema/recipe.v1.json +120 -0
- package/schema/routing.v1.json +163 -0
- package/schema/state.v1.json +146 -0
- package/schema/workflow.v1.json +96 -0
- package/skills/god-add-backlog.md +40 -0
- package/skills/god-add-tests.md +53 -0
- package/skills/god-add-todo.md +32 -0
- package/skills/god-agent-audit.md +87 -0
- package/skills/god-arch.md +81 -0
- package/skills/god-archaeology.md +48 -0
- package/skills/god-audit.md +65 -0
- package/skills/god-budget.md +103 -0
- package/skills/god-build-agent.md +91 -0
- package/skills/god-build.md +90 -0
- package/skills/god-cache-clear.md +75 -0
- package/skills/god-check-todos.md +42 -0
- package/skills/god-context-scan.md +125 -0
- package/skills/god-context.md +147 -0
- package/skills/god-cost.md +118 -0
- package/skills/god-debug.md +30 -0
- package/skills/god-deploy.md +76 -0
- package/skills/god-design-impact.md +86 -0
- package/skills/god-design.md +275 -0
- package/skills/god-discuss.md +46 -0
- package/skills/god-docs.md +81 -0
- package/skills/god-doctor.md +94 -0
- package/skills/god-explore.md +50 -0
- package/skills/god-export-otel.md +87 -0
- package/skills/god-extension-add.md +79 -0
- package/skills/god-extension-info.md +75 -0
- package/skills/god-extension-list.md +55 -0
- package/skills/god-extension-remove.md +66 -0
- package/skills/god-extract-learnings.md +60 -0
- package/skills/god-fast.md +47 -0
- package/skills/god-feature.md +114 -0
- package/skills/god-graph.md +56 -0
- package/skills/god-harden.md +106 -0
- package/skills/god-help.md +66 -0
- package/skills/god-hotfix.md +139 -0
- package/skills/god-hygiene.md +104 -0
- package/skills/god-init.md +161 -0
- package/skills/god-intel.md +36 -0
- package/skills/god-launch.md +86 -0
- package/skills/god-lifecycle.md +119 -0
- package/skills/god-link.md +90 -0
- package/skills/god-lint.md +128 -0
- package/skills/god-list-assumptions.md +56 -0
- package/skills/god-locate.md +97 -0
- package/skills/god-logs.md +57 -0
- package/skills/god-map-codebase.md +45 -0
- package/skills/god-metrics.md +51 -0
- package/skills/god-mode.md +159 -0
- package/skills/god-next.md +257 -0
- package/skills/god-note.md +39 -0
- package/skills/god-observe.md +76 -0
- package/skills/god-org-context.md +81 -0
- package/skills/god-party.md +87 -0
- package/skills/god-pause-work.md +64 -0
- package/skills/god-plant-seed.md +59 -0
- package/skills/god-postmortem.md +103 -0
- package/skills/god-pr-branch.md +50 -0
- package/skills/god-prd.md +90 -0
- package/skills/god-quick.md +50 -0
- package/skills/god-reconcile.md +90 -0
- package/skills/god-reconstruct.md +72 -0
- package/skills/god-redo.md +73 -0
- package/skills/god-refactor.md +137 -0
- package/skills/god-repair.md +82 -0
- package/skills/god-repo.md +49 -0
- package/skills/god-restore.md +91 -0
- package/skills/god-resume-work.md +42 -0
- package/skills/god-review-changes.md +93 -0
- package/skills/god-review.md +52 -0
- package/skills/god-roadmap-check.md +66 -0
- package/skills/god-roadmap-update.md +64 -0
- package/skills/god-roadmap.md +77 -0
- package/skills/god-rollback.md +88 -0
- package/skills/god-scan.md +106 -0
- package/skills/god-set-profile.md +58 -0
- package/skills/god-settings.md +44 -0
- package/skills/god-skip.md +78 -0
- package/skills/god-smite.md +86 -0
- package/skills/god-spike.md +120 -0
- package/skills/god-sprint.md +77 -0
- package/skills/god-stack.md +74 -0
- package/skills/god-standards.md +62 -0
- package/skills/god-status.md +99 -0
- package/skills/god-stories.md +60 -0
- package/skills/god-story-build.md +76 -0
- package/skills/god-story-close.md +82 -0
- package/skills/god-story-verify.md +71 -0
- package/skills/god-story.md +55 -0
- package/skills/god-suite-init.md +75 -0
- package/skills/god-suite-patch.md +64 -0
- package/skills/god-suite-release.md +58 -0
- package/skills/god-suite-status.md +63 -0
- package/skills/god-suite-sync.md +49 -0
- package/skills/god-sync.md +102 -0
- package/skills/god-tech-debt.md +56 -0
- package/skills/god-test-extension.md +87 -0
- package/skills/god-test-runtime.md +144 -0
- package/skills/god-thread.md +39 -0
- package/skills/god-trace.md +50 -0
- package/skills/god-undo.md +68 -0
- package/skills/god-update-deps.md +134 -0
- package/skills/god-upgrade.md +139 -0
- package/skills/god-version.md +37 -0
- package/skills/god-workstream.md +61 -0
- package/skills/god.md +207 -0
- package/templates/ARCH.md +99 -0
- package/templates/DEPS-AUDIT.md +66 -0
- package/templates/DESIGN.md +71 -0
- package/templates/DOCS-UPDATE-LOG.md +64 -0
- package/templates/HARDEN-FINDINGS.md +69 -0
- package/templates/MIGRATION.md +86 -0
- package/templates/POSTMORTEM.md +88 -0
- package/templates/PRD.md +80 -0
- package/templates/PROGRESS.md +49 -0
- package/templates/ROADMAP.md +47 -0
- package/templates/SPIKE.md +72 -0
- package/templates/STACK-DECISION.md +61 -0
- package/workflows/audit-only.yaml +22 -0
- package/workflows/bluefield-arc.yaml +87 -0
- package/workflows/brownfield-arc.yaml +44 -0
- package/workflows/deps-audit.yaml +56 -0
- package/workflows/docs-arc.yaml +22 -0
- package/workflows/feature-arc.yaml +59 -0
- package/workflows/full-arc.yaml +84 -0
- package/workflows/hotfix-arc.yaml +59 -0
- package/workflows/hygiene.yaml +43 -0
- package/workflows/migration-arc.yaml +73 -0
- package/workflows/postmortem.yaml +31 -0
- package/workflows/refactor-arc.yaml +59 -0
- package/workflows/spike.yaml +23 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Mode Detection
|
|
2
|
+
|
|
3
|
+
> How god-orchestrator decides which mode (A/B/C/D) to use.
|
|
4
|
+
|
|
5
|
+
## Mode A: Greenfield (default)
|
|
6
|
+
|
|
7
|
+
**Signals**:
|
|
8
|
+
- No `.godpowers/` directory exists
|
|
9
|
+
- Working directory is empty OR contains only `.git/` and `README.md`
|
|
10
|
+
- User describes a "new project" or "from scratch"
|
|
11
|
+
|
|
12
|
+
**Behavior**: run all tiers from PRD onwards.
|
|
13
|
+
|
|
14
|
+
## Mode B: Gap-fill
|
|
15
|
+
|
|
16
|
+
**Signals**:
|
|
17
|
+
- Some `.godpowers/<tier>/<artifact>` files already exist
|
|
18
|
+
- OR existing codebase signals: package.json, Dockerfile, .github/workflows
|
|
19
|
+
- User describes an existing project they want to add Godpowers to
|
|
20
|
+
|
|
21
|
+
**Behavior**:
|
|
22
|
+
1. For each canonical artifact path: check existence on disk
|
|
23
|
+
2. For each existing artifact: spawn god-auditor to verify against have-nots
|
|
24
|
+
3. If passes: mark tier "imported" in PROGRESS.md, skip
|
|
25
|
+
4. If fails: mark tier "in-flight", will re-run
|
|
26
|
+
5. If missing: mark tier "pending"
|
|
27
|
+
|
|
28
|
+
Codebase signals (for inferring partial completion):
|
|
29
|
+
- `package.json` exists -> Repo tier likely done
|
|
30
|
+
- `.github/workflows/` or `.gitlab-ci.yml` exists -> CI present
|
|
31
|
+
- `tests/` or `*.test.*` files exist -> Build tier in progress
|
|
32
|
+
- `Dockerfile` + deploy config -> Deploy tier may be done
|
|
33
|
+
|
|
34
|
+
## Mode C: Audit
|
|
35
|
+
|
|
36
|
+
**Signals**:
|
|
37
|
+
- Triggered explicitly with `--audit` flag
|
|
38
|
+
- User says "audit the project" or "score everything"
|
|
39
|
+
|
|
40
|
+
**Behavior**: run god-auditor on all existing artifacts. Build nothing.
|
|
41
|
+
|
|
42
|
+
## Mode D: Multi-repo (FUTURE WORK)
|
|
43
|
+
|
|
44
|
+
**Signals**:
|
|
45
|
+
- Working directory contains workspace config (pnpm-workspace.yaml, nx.json, lerna.json, turbo.json)
|
|
46
|
+
- OR multiple sub-repos with their own `.git/`
|
|
47
|
+
- User describes a system spanning multiple repos
|
|
48
|
+
|
|
49
|
+
**Status**: documented but not implemented in v0.4. Falls back to Mode A or B for the current repo.
|
|
50
|
+
|
|
51
|
+
## Worked example
|
|
52
|
+
|
|
53
|
+
User runs `/god-mode` in a directory with:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
existing-saas/
|
|
57
|
+
.git/
|
|
58
|
+
package.json
|
|
59
|
+
src/
|
|
60
|
+
auth.ts
|
|
61
|
+
api.ts
|
|
62
|
+
tests/
|
|
63
|
+
auth.test.ts
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
god-orchestrator detects:
|
|
67
|
+
- No `.godpowers/` -> normally Mode A
|
|
68
|
+
- BUT package.json + src/ + tests/ -> existing codebase -> Mode B
|
|
69
|
+
|
|
70
|
+
Reports to user:
|
|
71
|
+
> "Detected an existing codebase (package.json, src/, tests/ present).
|
|
72
|
+
> Setting Mode B (gap-fill). I'll work backward to fill missing artifacts.
|
|
73
|
+
> First: I need to understand what this codebase does. Let me start with
|
|
74
|
+
> /god-explore or you can describe it briefly."
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Orchestration References
|
|
2
|
+
|
|
3
|
+
Per-tier reference content for Tier 0 (Orchestration). Loaded on demand by
|
|
4
|
+
god-orchestrator and related agents.
|
|
5
|
+
|
|
6
|
+
## Files
|
|
7
|
+
|
|
8
|
+
- (empty for now; content to be added in future releases)
|
|
9
|
+
|
|
10
|
+
## Contribution Welcome
|
|
11
|
+
|
|
12
|
+
This directory is the natural home for:
|
|
13
|
+
- Mode A/B/C/D detection heuristics with worked examples
|
|
14
|
+
- Scale detection rubric with calibration cases
|
|
15
|
+
- Pause vs no-pause decision tree examples
|
|
16
|
+
- YOLO default rationale documents
|
|
17
|
+
|
|
18
|
+
If you'd like to contribute, see [CONTRIBUTING.md](../../CONTRIBUTING.md).
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Scale Detection
|
|
2
|
+
|
|
3
|
+
> How god-orchestrator infers project scale from the user's description.
|
|
4
|
+
|
|
5
|
+
## Five scales
|
|
6
|
+
|
|
7
|
+
| Scale | Signals | Recommended workflow |
|
|
8
|
+
|-------|---------|---------------------|
|
|
9
|
+
| Trivial | Single-file change, bug fix, config tweak | /god-fast (skip planning) |
|
|
10
|
+
| Small | One feature, one service, <1 week | /god-quick OR lightweight /god-mode |
|
|
11
|
+
| Medium | Multiple features, 1-3 services, 1-4 weeks | /god-mode (full arc) |
|
|
12
|
+
| Large | Multiple services, team coordination, 1-3 months | /god-mode + /god-sprint (sprints) |
|
|
13
|
+
| Enterprise | Multiple teams, compliance, 3+ months | /god-mode + extension packs (security, etc.) |
|
|
14
|
+
|
|
15
|
+
## Detection signals
|
|
16
|
+
|
|
17
|
+
### Trivial signals
|
|
18
|
+
- "fix typo"
|
|
19
|
+
- "change config value"
|
|
20
|
+
- "rename variable"
|
|
21
|
+
- One file mentioned
|
|
22
|
+
|
|
23
|
+
### Small signals
|
|
24
|
+
- "build [single feature]"
|
|
25
|
+
- "add [one thing] to my app"
|
|
26
|
+
- One service mentioned
|
|
27
|
+
- Time mentioned: "today", "this afternoon"
|
|
28
|
+
|
|
29
|
+
### Medium signals
|
|
30
|
+
- Multiple features mentioned
|
|
31
|
+
- Multiple services or components mentioned
|
|
32
|
+
- Time mentioned: "next few weeks", "this sprint"
|
|
33
|
+
- "SaaS for X" or "MVP" or "side project"
|
|
34
|
+
|
|
35
|
+
### Large signals
|
|
36
|
+
- "platform"
|
|
37
|
+
- Multiple teams mentioned
|
|
38
|
+
- Time mentioned: "next quarter", "next 2-3 months"
|
|
39
|
+
- Mentions multiple stakeholder roles (PM, designer, QA)
|
|
40
|
+
|
|
41
|
+
### Enterprise signals
|
|
42
|
+
- Compliance mentioned (SOC 2, HIPAA, PCI, GDPR)
|
|
43
|
+
- Multiple teams mentioned
|
|
44
|
+
- Multi-region mentioned
|
|
45
|
+
- Time mentioned: "next year", "Q1-Q3"
|
|
46
|
+
- Words like "enterprise", "B2B", "regulated industry"
|
|
47
|
+
|
|
48
|
+
## What scale changes
|
|
49
|
+
|
|
50
|
+
| Scale | Tiers active | Personas | Ceremonies | Hygiene |
|
|
51
|
+
|-------|--------------|----------|------------|---------|
|
|
52
|
+
| Trivial | Build only | god-executor | None | None |
|
|
53
|
+
| Small | PRD (lightweight), Build, Deploy | PM, Dev | None | None |
|
|
54
|
+
| Medium | All tiers | PM, Architect, Dev, QA | None | Weekly /god-hygiene |
|
|
55
|
+
| Large | All tiers | All | /god-sprint optional | Weekly /god-hygiene |
|
|
56
|
+
| Enterprise | All tiers + extension packs | All + extensions | /god-sprint required | Daily /god-hygiene |
|
|
57
|
+
|
|
58
|
+
## Worked examples
|
|
59
|
+
|
|
60
|
+
### "Add a typo fix to the README"
|
|
61
|
+
-> Trivial -> /god-fast
|
|
62
|
+
|
|
63
|
+
### "Build a side project to track my reading list"
|
|
64
|
+
-> Small -> lightweight /god-mode (skip ARCH)
|
|
65
|
+
|
|
66
|
+
### "Build a SaaS for solo founders to track MRR"
|
|
67
|
+
-> Medium -> /god-mode
|
|
68
|
+
|
|
69
|
+
### "Build a platform for our 5-person team to track customer health"
|
|
70
|
+
-> Large -> /god-mode + /god-sprint
|
|
71
|
+
|
|
72
|
+
### "Build a HIPAA-compliant patient portal for a hospital"
|
|
73
|
+
-> Enterprise -> /god-mode + @godpowers/security-pack
|
|
74
|
+
|
|
75
|
+
## When in doubt
|
|
76
|
+
|
|
77
|
+
If signals are mixed, ask the user explicitly:
|
|
78
|
+
> "I detect signals between Medium and Large scale. Are you a solo
|
|
79
|
+
> developer or a team? How long do you plan to work on this?"
|
|
80
|
+
|
|
81
|
+
The user's answer determines the scale.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Architecture Anatomy
|
|
2
|
+
|
|
3
|
+
> What a strong architecture document looks like. Every decision has a
|
|
4
|
+
> flip point. Every NFR maps to a choice.
|
|
5
|
+
|
|
6
|
+
## 1. System Context (C4 Level 1)
|
|
7
|
+
|
|
8
|
+
A diagram showing the system + external actors and systems.
|
|
9
|
+
|
|
10
|
+
**What good looks like**: every arrow labeled with data flowing and protocol.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
[User browser] --HTTPS, OAuth flow--> [MRR Tracker]
|
|
14
|
+
[Stripe webhooks] --HTTPS, signed payloads--> [MRR Tracker]
|
|
15
|
+
[MRR Tracker] --SMTP, daily digest--> [Email user]
|
|
16
|
+
[MRR Tracker] --HTTPS--> [Stripe API]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 2. Container Diagram (C4 Level 2)
|
|
20
|
+
|
|
21
|
+
Major runtime containers with single responsibilities.
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
[Browser SPA] <--HTTPS--> [API Server (Node)]
|
|
25
|
+
|
|
|
26
|
+
v
|
|
27
|
+
[Postgres (managed)]
|
|
28
|
+
|
|
|
29
|
+
v
|
|
30
|
+
[Worker (BullMQ)]
|
|
31
|
+
|
|
|
32
|
+
v
|
|
33
|
+
[Stripe Sync Job]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
| Container | Single Responsibility |
|
|
37
|
+
|-----------|----------------------|
|
|
38
|
+
| Browser SPA | Render dashboard, OAuth flow init |
|
|
39
|
+
| API Server | Auth, query data, serve dashboard endpoints |
|
|
40
|
+
| Postgres | Store user accounts, encrypted Stripe tokens, MRR snapshots |
|
|
41
|
+
| Worker | Async Stripe sync, daily digests |
|
|
42
|
+
| Stripe Sync Job | Pull Stripe events, compute MRR breakdown |
|
|
43
|
+
|
|
44
|
+
## 3. Architecture Decision Records (ADRs)
|
|
45
|
+
|
|
46
|
+
For each load-bearing decision:
|
|
47
|
+
|
|
48
|
+
### ADR-001: Monolith vs Microservices
|
|
49
|
+
|
|
50
|
+
**Context**: We need to ship V1 in 8 weeks with a solo founder. Scale
|
|
51
|
+
expectations are 1000 concurrent users by month 3.
|
|
52
|
+
|
|
53
|
+
**Decision**: Monolithic Node.js API with a single worker process.
|
|
54
|
+
|
|
55
|
+
**Rationale**: At 1000 users, complexity of microservices outweighs the
|
|
56
|
+
operational benefit. Solo founder can't afford the deploy/observability
|
|
57
|
+
overhead of multiple services.
|
|
58
|
+
|
|
59
|
+
**Flip point**: If we hit 10,000 concurrent users OR we add a second
|
|
60
|
+
team that needs independent deploy cadence, split the worker into a
|
|
61
|
+
separate service first.
|
|
62
|
+
|
|
63
|
+
**Consequences**:
|
|
64
|
+
- Easier: deploy, debug, develop locally
|
|
65
|
+
- Harder: scaling specific bottlenecks (e.g., the Stripe sync) independently
|
|
66
|
+
|
|
67
|
+
### ADR-002: Postgres vs MongoDB
|
|
68
|
+
|
|
69
|
+
**Context**: Data is structured (users, accounts, MRR snapshots). Queries
|
|
70
|
+
are mostly OLAP (time-series aggregations).
|
|
71
|
+
|
|
72
|
+
**Decision**: Postgres.
|
|
73
|
+
|
|
74
|
+
**Rationale**: Strong typing, mature OLAP support via materialized views,
|
|
75
|
+
team familiar with SQL.
|
|
76
|
+
|
|
77
|
+
**Flip point**: If we add document-shaped data (e.g., user-defined custom
|
|
78
|
+
metrics with arbitrary schemas), revisit.
|
|
79
|
+
|
|
80
|
+
**Consequences**:
|
|
81
|
+
- Easier: migrations, complex aggregations, integrity
|
|
82
|
+
- Harder: schema-less data (we'd have to use JSONB columns)
|
|
83
|
+
|
|
84
|
+
## 4. NFR-to-Architecture Map
|
|
85
|
+
|
|
86
|
+
Every NFR from the PRD MUST appear here.
|
|
87
|
+
|
|
88
|
+
| PRD NFR | Architectural Choice | ADR Reference |
|
|
89
|
+
|---------|---------------------|---------------|
|
|
90
|
+
| p99 dashboard load < 2s | Materialized views for MRR breakdown; cache layer in API; SPA only fetches deltas | ADR-002, ADR-005 |
|
|
91
|
+
| 99.9% uptime | Managed Postgres (auto-failover); single API server with automated restart; health check endpoint | ADR-003 |
|
|
92
|
+
| 10,000 users by month 6 | Monolith handles up to ~5000; split worker first when needed | ADR-001 |
|
|
93
|
+
| OAuth tokens encrypted at rest | Postgres pgcrypto extension; encryption key in secrets manager | ADR-006 |
|
|
94
|
+
| No Stripe API keys stored | We use OAuth (refresh tokens only); never the API key directly | ADR-007 |
|
|
95
|
+
|
|
96
|
+
If an NFR has no row here: that's a have-not failure (A-03).
|
|
97
|
+
|
|
98
|
+
## 5. Trust Boundaries
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
[User Browser] (untrusted)
|
|
102
|
+
|
|
|
103
|
+
| === BOUNDARY: OAuth bearer token, validated per request ===
|
|
104
|
+
|
|
|
105
|
+
[Our API Server] (trusted)
|
|
106
|
+
|
|
|
107
|
+
| === BOUNDARY: Stripe API key from secrets manager, never logged ===
|
|
108
|
+
|
|
|
109
|
+
[Stripe API] (trusted external)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
For each boundary:
|
|
113
|
+
- Auth method: how identity is established
|
|
114
|
+
- Data classification: what flows across (sensitive vs public)
|
|
115
|
+
- Failure mode: what happens if the boundary is breached
|
|
116
|
+
|
|
117
|
+
## 6. Data Model
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
User (1) -- (N) StripeAccount
|
|
121
|
+
StripeAccount (1) -- (N) MRRSnapshot
|
|
122
|
+
MRRSnapshot {date, mrr, new_mrr, expansion_mrr, churn_mrr, contraction_mrr}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
| Entity | Owner Service | Consistency Model |
|
|
126
|
+
|--------|---------------|-------------------|
|
|
127
|
+
| User | API Server | Strong (single Postgres) |
|
|
128
|
+
| StripeAccount | API Server | Strong |
|
|
129
|
+
| MRRSnapshot | Worker writes, API reads | Eventually consistent (sync lag <1h) |
|
|
130
|
+
|
|
131
|
+
## 7. Required Format
|
|
132
|
+
|
|
133
|
+
Every claim must be labeled. Examples:
|
|
134
|
+
|
|
135
|
+
> [DECISION] We use Postgres because the data is structured and queries
|
|
136
|
+
> are OLAP-shaped.
|
|
137
|
+
>
|
|
138
|
+
> [HYPOTHESIS] BullMQ will handle our worker volume; if we exceed 1000
|
|
139
|
+
> jobs/sec we'll need to evaluate alternatives. Validation plan:
|
|
140
|
+
> load test before launch.
|
|
141
|
+
>
|
|
142
|
+
> [OPEN QUESTION] Where do we store OAuth state during the redirect?
|
|
143
|
+
> Owner: architect. Due: before /god-build.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Architecture Antipatterns
|
|
2
|
+
|
|
3
|
+
## 1. Architecture Theater
|
|
4
|
+
Diagrams without load-bearing decisions. Boxes connected by arrows that
|
|
5
|
+
nobody can articulate the rationale for. Looks impressive; decides nothing.
|
|
6
|
+
|
|
7
|
+
**Fix**: For every box and every arrow, write the WHY. If you can't, delete it.
|
|
8
|
+
|
|
9
|
+
## 2. Cargo-Cult Cloud-Native
|
|
10
|
+
Kubernetes + Kafka + microservices for a 10-user CRUD app.
|
|
11
|
+
|
|
12
|
+
**Fix**: Match complexity to scale from PRD. If PRD says 1000 users by
|
|
13
|
+
month 6, monolith is fine. Don't import patterns from a scale you'll
|
|
14
|
+
never reach.
|
|
15
|
+
|
|
16
|
+
## 3. Stackitecture
|
|
17
|
+
Picking React + Postgres + Vercel and calling it architecture.
|
|
18
|
+
|
|
19
|
+
**Fix**: Architecture is system shape (services, boundaries, data flow).
|
|
20
|
+
Stack is tool selection. They're separate documents. Read /god-stack
|
|
21
|
+
after /god-arch, not instead of it.
|
|
22
|
+
|
|
23
|
+
## 4. "Scalable" Without Numbers
|
|
24
|
+
> "Our system is highly scalable."
|
|
25
|
+
|
|
26
|
+
**Fix**: Replace with quantification. "Handles 10K concurrent users at p99
|
|
27
|
+
< 200ms in a single region. Beyond that, we add read replicas (ADR-008)."
|
|
28
|
+
|
|
29
|
+
## 5. Resume-Driven Architecture
|
|
30
|
+
Choosing GraphQL/Kubernetes/Rust because they're trendy or because the
|
|
31
|
+
architect wants the experience, not because they fit.
|
|
32
|
+
|
|
33
|
+
**Fix**: Tie every choice to a PRD requirement. If you can't, drop it.
|
|
34
|
+
|
|
35
|
+
## 6. Paper-Tiger Architecture
|
|
36
|
+
Looks robust on paper. Breaks under first real load.
|
|
37
|
+
|
|
38
|
+
**Fix**: Every NFR gets a worst-case analysis. "Sustained 100 reqs/sec at
|
|
39
|
+
p99 < 200ms" needs a load test before launch, not after.
|
|
40
|
+
|
|
41
|
+
## 7. Hidden Single Points of Failure
|
|
42
|
+
Diagram shows redundancy at every layer EXCEPT one (the auth service, the
|
|
43
|
+
config server, the deploy bot).
|
|
44
|
+
|
|
45
|
+
**Fix**: For each container, ask "what happens if this dies?" If the answer
|
|
46
|
+
is "everything stops," it's a SPOF. Address it or document it.
|
|
47
|
+
|
|
48
|
+
## 8. ADR Without Flip Point
|
|
49
|
+
> "Decision: monolith. Rationale: simpler. Consequences: easier deploy."
|
|
50
|
+
|
|
51
|
+
**Fix**: Add the flip point. "Reverse this decision when [specific
|
|
52
|
+
condition]." Without it, the decision is forever and unfalsifiable.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# PRD Anatomy
|
|
2
|
+
|
|
3
|
+
> What a strong PRD looks like, section by section, with what to write and
|
|
4
|
+
> what to avoid.
|
|
5
|
+
|
|
6
|
+
## 1. Problem Statement
|
|
7
|
+
|
|
8
|
+
**What it does**: states the problem in user terms, not solution terms.
|
|
9
|
+
|
|
10
|
+
**What good looks like**:
|
|
11
|
+
> Solo SaaS founders running between $1k and $10k MRR don't know whether
|
|
12
|
+
> their revenue is growing because of new customers or because they raised
|
|
13
|
+
> prices. The two have opposite implications. Existing tools like ChartMogul
|
|
14
|
+
> and Baremetrics report the metric but don't decompose the cause.
|
|
15
|
+
|
|
16
|
+
**What bad looks like**:
|
|
17
|
+
> We need a tool that tracks MRR with AI insights for modern founders.
|
|
18
|
+
|
|
19
|
+
The bad version passes the substitution test (any product). The good version
|
|
20
|
+
fails it (specific to one segment, one decomposition gap).
|
|
21
|
+
|
|
22
|
+
## 2. Target Users
|
|
23
|
+
|
|
24
|
+
**What it does**: names the user with enough context that a designer could
|
|
25
|
+
sketch them.
|
|
26
|
+
|
|
27
|
+
**What good looks like**:
|
|
28
|
+
> Solo founders, age 25-45, technical, building B2B SaaS, $1k-$10k MRR,
|
|
29
|
+
> looking at their dashboard 2-3 times daily, primarily worried about churn
|
|
30
|
+
> vs growth attribution. Use Stripe for payments. Read Indie Hackers and
|
|
31
|
+
> Twitter.
|
|
32
|
+
|
|
33
|
+
**What bad looks like**:
|
|
34
|
+
> Developers and small business owners who want better analytics.
|
|
35
|
+
|
|
36
|
+
## 3. Success Metrics
|
|
37
|
+
|
|
38
|
+
**What it does**: states observable, time-bound, measurable outcomes.
|
|
39
|
+
|
|
40
|
+
**What good looks like**:
|
|
41
|
+
| Metric | Target | Timeline | Measurement |
|
|
42
|
+
|--------|--------|----------|-------------|
|
|
43
|
+
| Daily active users | 50 | 30 days post-launch | Mixpanel daily active count |
|
|
44
|
+
| Time to first insight | <60 seconds | Always | Page-load timer + first chart render |
|
|
45
|
+
| Conversion (visit -> signup) | 3% | First 30 days | Mixpanel funnel |
|
|
46
|
+
|
|
47
|
+
**What bad looks like**:
|
|
48
|
+
> Users find it valuable. Strong growth. Good engagement.
|
|
49
|
+
|
|
50
|
+
## 4. Functional Requirements
|
|
51
|
+
|
|
52
|
+
**What it does**: lists what the product DOES, prioritized.
|
|
53
|
+
|
|
54
|
+
**What good looks like**:
|
|
55
|
+
|
|
56
|
+
### MUST (V1 launch blockers)
|
|
57
|
+
- User can connect Stripe account and view MRR breakdown by new/expansion/churn within 30 seconds
|
|
58
|
+
- Acceptance: OAuth flow completes, dashboard renders within 30s of authorization
|
|
59
|
+
|
|
60
|
+
### SHOULD (V1 if time)
|
|
61
|
+
- User can compare MRR change to a previous period (week, month, quarter)
|
|
62
|
+
- Acceptance: dropdown selector + line chart updates in <500ms
|
|
63
|
+
|
|
64
|
+
### COULD (post-V1)
|
|
65
|
+
- User can export MRR breakdown as CSV
|
|
66
|
+
- User can connect multiple Stripe accounts
|
|
67
|
+
|
|
68
|
+
**What bad looks like**:
|
|
69
|
+
- Add MRR tracking
|
|
70
|
+
- Build analytics
|
|
71
|
+
- Make it nice
|
|
72
|
+
- AI insights
|
|
73
|
+
|
|
74
|
+
## 5. Non-Functional Requirements
|
|
75
|
+
|
|
76
|
+
| Category | Requirement |
|
|
77
|
+
|----------|-------------|
|
|
78
|
+
| Latency | p99 dashboard load < 2 seconds |
|
|
79
|
+
| Availability | 99.9% over 30 days (43 minutes/month error budget) |
|
|
80
|
+
| Scale | 1000 concurrent users by month 3, 10000 by month 6 |
|
|
81
|
+
| Security | OAuth tokens encrypted at rest; no Stripe API keys ever stored |
|
|
82
|
+
|
|
83
|
+
## 6. Scope and No-Gos
|
|
84
|
+
|
|
85
|
+
**What it does**: explicit list of what is NOT being built. Prevents scope creep.
|
|
86
|
+
|
|
87
|
+
**What good looks like**:
|
|
88
|
+
- NOT building: mobile app for V1
|
|
89
|
+
- NOT building: payment processing (Stripe handles it)
|
|
90
|
+
- NOT building: customer support tooling
|
|
91
|
+
- NOT building: white-label / multi-tenant for V1
|
|
92
|
+
|
|
93
|
+
**What bad looks like**:
|
|
94
|
+
- (empty section, or absent)
|
|
95
|
+
|
|
96
|
+
## 7. Appetite
|
|
97
|
+
|
|
98
|
+
**What it does**: time and resource constraints, before any planning.
|
|
99
|
+
|
|
100
|
+
**What good looks like**:
|
|
101
|
+
- Time budget: 8 weeks from PRD to production launch
|
|
102
|
+
- Resource budget: solo founder, 30 hours/week
|
|
103
|
+
- Technical constraints: must work with Stripe, must run on a single $20/mo server for V1
|
|
104
|
+
|
|
105
|
+
## 8. Open Questions
|
|
106
|
+
|
|
107
|
+
**What it does**: lists what's NOT decided yet, with owners and due dates.
|
|
108
|
+
|
|
109
|
+
**What good looks like**:
|
|
110
|
+
| Question | Owner | Due Date |
|
|
111
|
+
|----------|-------|----------|
|
|
112
|
+
| Should we support Paddle or only Stripe for V1? | Founder | Before /god-arch |
|
|
113
|
+
| What's the highest-impact metric users want first? | Founder | Before /god-build |
|
|
114
|
+
|
|
115
|
+
**What bad looks like**:
|
|
116
|
+
- "TBD"
|
|
117
|
+
- (open questions buried in prose)
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# PRD Antipatterns
|
|
2
|
+
|
|
3
|
+
> Common ways PRDs fail. Each has a sample, why it fails, and the fix.
|
|
4
|
+
|
|
5
|
+
## 1. The Hollow PRD
|
|
6
|
+
|
|
7
|
+
**Sample**: All sections filled, but no actual decisions. Every claim is
|
|
8
|
+
[HYPOTHESIS] with no validation plan.
|
|
9
|
+
|
|
10
|
+
**Why it fails**: Engineering can't build from hypotheses. Designers can't
|
|
11
|
+
design for "users who want value". A hollow PRD is theater.
|
|
12
|
+
|
|
13
|
+
**Fix**: For every [HYPOTHESIS], either commit it to a [DECISION] with
|
|
14
|
+
rationale, or schedule a validation step (user interview, spike, market
|
|
15
|
+
research) with a date.
|
|
16
|
+
|
|
17
|
+
## 2. The Solution-First PRD
|
|
18
|
+
|
|
19
|
+
**Sample**:
|
|
20
|
+
> Problem: Users don't have an AI-powered MRR tracking dashboard.
|
|
21
|
+
|
|
22
|
+
**Why it fails**: The problem statement names the solution. You haven't
|
|
23
|
+
defined the user pain; you've assumed AI tracking is the answer. If the
|
|
24
|
+
real problem is "I can't tell why MRR changed," AI tracking might not be
|
|
25
|
+
the right shape.
|
|
26
|
+
|
|
27
|
+
**Fix**: Restate the problem in user-pain terms. "Users can't tell why
|
|
28
|
+
their MRR changed week-over-week." Then ask whether AI is the right shape
|
|
29
|
+
or whether a clearer breakdown view would do.
|
|
30
|
+
|
|
31
|
+
## 3. The Feature Laundry List
|
|
32
|
+
|
|
33
|
+
**Sample**:
|
|
34
|
+
- Add MRR tracking
|
|
35
|
+
- Add charts
|
|
36
|
+
- Add Stripe integration
|
|
37
|
+
- Add user settings
|
|
38
|
+
- Add notifications
|
|
39
|
+
|
|
40
|
+
**Why it fails**: No prioritization. No acceptance criteria. Every item
|
|
41
|
+
looks equally important. Engineering will pick whichever is easiest first.
|
|
42
|
+
|
|
43
|
+
**Fix**: Tag each as MUST / SHOULD / COULD. Add acceptance criteria
|
|
44
|
+
("user can do X within Y, measured by Z"). Order MUSTs by user value.
|
|
45
|
+
|
|
46
|
+
## 4. The Assumption Soup
|
|
47
|
+
|
|
48
|
+
**Sample**:
|
|
49
|
+
> We assume users will love our AI insights and will pay $99/mo.
|
|
50
|
+
|
|
51
|
+
**Why it fails**: Multiple stacked assumptions, none labeled or validated.
|
|
52
|
+
What does "love" mean? Why $99? What if they don't?
|
|
53
|
+
|
|
54
|
+
**Fix**:
|
|
55
|
+
- "We hypothesize that solo SaaS founders [DECISION: target persona] will
|
|
56
|
+
pay $99/mo for [DECISION: specific feature], based on [evidence]. We
|
|
57
|
+
will validate by [user interviews, pricing test, or letter of intent]
|
|
58
|
+
before /god-build. [OPEN QUESTION] what's the price ceiling? Owner: founder.
|
|
59
|
+
Due: end of this week."
|
|
60
|
+
|
|
61
|
+
## 5. The Moving Target
|
|
62
|
+
|
|
63
|
+
**Sample**: PRD updated silently after engineering started building. No
|
|
64
|
+
notification, no diff, no re-validation.
|
|
65
|
+
|
|
66
|
+
**Why it fails**: Engineer builds X, comes back to find PRD now says Y.
|
|
67
|
+
Trust collapses.
|
|
68
|
+
|
|
69
|
+
**Fix**: All PRD changes after consumption (by ARCH, ROADMAP, or downstream)
|
|
70
|
+
must be tracked. Append a changelog. Notify downstream agents. Re-run their
|
|
71
|
+
have-nots checks.
|
|
72
|
+
|
|
73
|
+
## 6. The Generic Target User
|
|
74
|
+
|
|
75
|
+
**Sample**:
|
|
76
|
+
> Target users: developers and businesses who want better analytics.
|
|
77
|
+
|
|
78
|
+
**Why it fails**: "developers" is 30 million people with wildly different
|
|
79
|
+
needs. "Businesses" is meaningless. Substitution test passes (any tool
|
|
80
|
+
serves "developers").
|
|
81
|
+
|
|
82
|
+
**Fix**: Name a specific persona with role, context, and current pain.
|
|
83
|
+
"Solo SaaS founders running B2B businesses at $1k-$10k MRR using Stripe."
|
|
84
|
+
|
|
85
|
+
## 7. The Vanity Metric
|
|
86
|
+
|
|
87
|
+
**Sample**:
|
|
88
|
+
> Success metric: 10,000 users.
|
|
89
|
+
|
|
90
|
+
**Why it fails**: Users without retention is vanity. Users without revenue
|
|
91
|
+
(if revenue is the goal) is vanity. The number doesn't tie to the problem.
|
|
92
|
+
|
|
93
|
+
**Fix**: Tie the metric to the problem statement. If the problem is
|
|
94
|
+
"founders can't tell why MRR changed," the metric is "% of users who
|
|
95
|
+
correctly identify their primary growth driver after using the dashboard
|
|
96
|
+
for 7 days, measured by exit survey."
|
|
97
|
+
|
|
98
|
+
## 8. The Buzzword Bingo
|
|
99
|
+
|
|
100
|
+
**Sample**:
|
|
101
|
+
> AI-powered, cloud-native, scalable, robust, modern dashboard.
|
|
102
|
+
|
|
103
|
+
**Why it fails**: Substitution test passes for any product. None of these
|
|
104
|
+
words decide anything.
|
|
105
|
+
|
|
106
|
+
**Fix**: Replace each buzzword with a specific claim:
|
|
107
|
+
- "AI-powered" -> "uses GPT-4 to summarize the top growth driver in plain English"
|
|
108
|
+
- "Scalable" -> "supports 10000 concurrent users by month 6"
|
|
109
|
+
- "Modern" -> (delete; modernity isn't a feature)
|
|
110
|
+
|
|
111
|
+
## 9. The Empty No-Gos
|
|
112
|
+
|
|
113
|
+
**Sample**: Scope and No-Gos section is missing or empty.
|
|
114
|
+
|
|
115
|
+
**Why it fails**: Without explicit no-gos, engineering will drift toward
|
|
116
|
+
nice-to-haves. Scope creep is guaranteed.
|
|
117
|
+
|
|
118
|
+
**Fix**: List 3-5 specific no-gos that you might be tempted to build but
|
|
119
|
+
shouldn't:
|
|
120
|
+
- NOT building: mobile app for V1
|
|
121
|
+
- NOT building: customer support tooling
|
|
122
|
+
- NOT building: multi-tenant / white-label
|
|
123
|
+
- NOT building: AI-generated chart commentary (defer to V2)
|
|
124
|
+
|
|
125
|
+
## 10. The Owner-less Open Question
|
|
126
|
+
|
|
127
|
+
**Sample**:
|
|
128
|
+
> Open questions: should we support Paddle? TBD.
|
|
129
|
+
|
|
130
|
+
**Why it fails**: "TBD" without owner or due date means nobody resolves it.
|
|
131
|
+
The question stays open forever or gets decided by accident during build.
|
|
132
|
+
|
|
133
|
+
**Fix**:
|
|
134
|
+
| Question | Owner | Due |
|
|
135
|
+
|----------|-------|-----|
|
|
136
|
+
| Support Paddle in V1? | Founder | Before /god-arch |
|
|
137
|
+
|
|
138
|
+
If you don't know who owns it, the founder owns it.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Planning References
|
|
2
|
+
|
|
3
|
+
Per-tier reference content for Tier 1 (Planning: PRD, Architecture, Roadmap, Stack).
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- (placeholder; antipattern catalogs and worked examples to be added)
|
|
8
|
+
|
|
9
|
+
## Planned content
|
|
10
|
+
|
|
11
|
+
- PRD anatomy with line-by-line annotations of a substitution-tested example
|
|
12
|
+
- ARCH antipatterns: architecture theater, paper-tiger, cargo-cult cloud-native
|
|
13
|
+
- Worked Stack decision examples with flip-point analysis
|
|
14
|
+
- Roadmap anti-examples: Gantt theater, feature-factory output, shelf roadmaps
|
|
15
|
+
|
|
16
|
+
See [HAVE-NOTS.md](../HAVE-NOTS.md) for the canonical failure-mode catalog.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Roadmap Anatomy
|
|
2
|
+
|
|
3
|
+
## Now / Next / Later (Shape Up flavor)
|
|
4
|
+
|
|
5
|
+
**Now**: currently building. Committed. Has a target date but slippage is OK.
|
|
6
|
+
**Next**: planned to start when Now ships. Order is set, scope is flexible.
|
|
7
|
+
**Later**: intent. May change. Captures direction without commitment.
|
|
8
|
+
|
|
9
|
+
## Milestone Structure
|
|
10
|
+
|
|
11
|
+
Each milestone has:
|
|
12
|
+
- **Goal**: what users can DO when this ships (substitution-tested)
|
|
13
|
+
- **Completion gate**: observable criterion ("not feels done")
|
|
14
|
+
- **Size**: S / M / L (T-shirt; no day-precision without capacity input)
|
|
15
|
+
- **Depends on**: explicit upstream milestones
|
|
16
|
+
- **Features**: from PRD (no speculative features)
|
|
17
|
+
|
|
18
|
+
## Examples
|
|
19
|
+
|
|
20
|
+
### Good
|
|
21
|
+
> Milestone 1 (Now): Connect Stripe + see basic MRR
|
|
22
|
+
> - Goal: User can connect Stripe in <60s and see current MRR breakdown by new/expansion/churn
|
|
23
|
+
> - Gate: 5 friendly users complete onboarding without help
|
|
24
|
+
> - Size: M
|
|
25
|
+
> - Depends on: none
|
|
26
|
+
> - Features: PRD-MUST-1, PRD-MUST-2
|
|
27
|
+
|
|
28
|
+
### Bad
|
|
29
|
+
> Milestone 1: Build the dashboard
|
|
30
|
+
> - Goal: have a dashboard
|
|
31
|
+
> - Gate: it works
|
|
32
|
+
> - Size: ?
|
|
33
|
+
> - Features: dashboard, charts, things
|
|
34
|
+
|
|
35
|
+
## Velocity Tracking
|
|
36
|
+
|
|
37
|
+
After 2 sprints, you have a baseline. Use it for Next milestones.
|
|
38
|
+
|
|
39
|
+
| Sprint | Committed | Delivered | Notes |
|
|
40
|
+
|--------|-----------|-----------|-------|
|
|
41
|
+
| 1 | 5 slices | 4 | Auth slice underestimated |
|
|
42
|
+
| 2 | 5 slices | 6 | Recovered the auth overhang |
|
|
43
|
+
| Avg | 5/sprint | 5/sprint | Stable baseline |
|