forge-workflow 0.0.9 → 0.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/{greptile-review-process.md → review-process.md} +56 -41
- package/.claude/scripts/{greptile-resolve.sh → review-resolve.sh} +13 -3
- package/.cursor/rules/permissions-guidance.mdc +2 -2
- package/.forge/hooks/check-tdd.js +3 -0
- package/.forge/hooks/forge-native-hook.js +245 -0
- package/.forge/protected-paths.yaml +157 -0
- package/AGENTS.md +151 -61
- package/CHANGELOG.md +681 -0
- package/CLAUDE.md +9 -106
- package/QUICKSTART.md +171 -0
- package/README.md +271 -363
- package/bin/forge-cmd.js +120 -9
- package/bin/forge-preflight.js +26 -5
- package/bin/forge.js +466 -489
- package/docs/INDEX.md +93 -0
- package/docs/PROJECT_DESIGN.md +685 -0
- package/docs/architecture/index.md +66 -0
- package/docs/architecture/notes/README.md +35 -0
- package/docs/architecture/subsystems/README.md +46 -0
- package/docs/{TOOLCHAIN.md → forge/TOOLCHAIN.md} +56 -47
- package/docs/forge/VALIDATION.md +82 -0
- package/docs/{AGENT_INSTALL_PROMPT.md → guides/AGENT_INSTALL_PROMPT.md} +3 -3
- package/docs/guides/BEADS_GITHUB_SYNC.md +32 -0
- package/docs/{ENHANCED_ONBOARDING.md → guides/ENHANCED_ONBOARDING.md} +16 -12
- package/docs/guides/GREPTILE_SETUP.md +46 -0
- package/docs/guides/MANUAL_REVIEW_GUIDE.md +58 -0
- package/docs/guides/MIGRATION.md +56 -0
- package/docs/guides/SETUP.md +118 -0
- package/docs/guides/SUPPORT.md +185 -0
- package/docs/guides/WORKFLOW_TEMPLATES.md +74 -0
- package/docs/guides/memory-backends.md +183 -0
- package/docs/reference/ADAPTERS.md +128 -0
- package/docs/reference/AGENT_SKILL_PARITY.md +175 -0
- package/docs/reference/COMMANDS.md +205 -0
- package/docs/reference/DECISION_DRIFT_GUARDS.md +97 -0
- package/docs/{EXAMPLES.md → reference/EXAMPLES.md} +7 -5
- package/docs/reference/FORGE_KERNEL_STORAGE_MODEL.md +135 -0
- package/docs/reference/HERMES_INTEGRATION.md +118 -0
- package/docs/reference/INSIGHTS_RECAP.md +63 -0
- package/docs/reference/INSTALL.md +164 -0
- package/docs/reference/KERNEL_TAXONOMY_VALIDATION.md +161 -0
- package/docs/reference/PROTECTED_PATH_MANIFEST.md +25 -0
- package/docs/reference/RELEASE.md +68 -0
- package/docs/reference/RESEARCH_TEMPLATE.md +292 -0
- package/docs/{ROADMAP.md → reference/ROADMAP.md} +12 -9
- package/docs/reference/SKILLS.md +35 -0
- package/docs/reference/STATUS_BOARD.md +80 -0
- package/docs/reference/TEMPLATES.md +106 -0
- package/docs/reference/TOOLCHAIN.md +658 -0
- package/docs/reference/VALIDATION.md +82 -0
- package/docs/reference/agent-permissions.md +169 -0
- package/docs/reference/beads-to-kernel-migration-ux.md +61 -0
- package/docs/reference/control-plane-guarantees.md +125 -0
- package/docs/reference/dependency-chain.md +331 -0
- package/docs/reference/forge-kernel-issue-command-contract.md +161 -0
- package/docs/reference/forge-kernel-schema.md +72 -0
- package/docs/reference/kernel-conflict-evaluators.md +27 -0
- package/docs/reference/patch-md-format.md +77 -0
- package/docs/reference/protected-state-surfaces.md +59 -0
- package/docs/reference/shepherd.md +115 -0
- package/docs/reference/superpowers-analysis.md +320 -0
- package/docs/reference/superpowers-integration-options.md +404 -0
- package/docs/reference/test-environment.md +519 -0
- package/docs/reference/upgrade-safety.md +59 -0
- package/lefthook.yml +18 -0
- package/lib/adapter-cli.js +307 -0
- package/lib/adapters/beads-issue-adapter.js +127 -0
- package/lib/adapters/beads-kernel-compat.js +1042 -0
- package/lib/adapters/greptile-review-adapter.js +141 -0
- package/lib/adapters/kernel-issue-adapter.js +101 -0
- package/lib/adapters/pr-state-adapter.js +484 -0
- package/lib/adoption-profiles.js +126 -0
- package/lib/agents/README.md +2 -6
- package/lib/agents/claude.plugin.json +3 -8
- package/lib/agents/codex.plugin.json +9 -1
- package/lib/agents/cursor.plugin.json +2 -6
- package/lib/agents/hermes.plugin.json +22 -0
- package/lib/agents-config.js +39 -1236
- package/lib/audit-evidence.js +282 -0
- package/lib/beads-setup.js +225 -28
- package/lib/beads-sync-scaffold.js +36 -107
- package/lib/codex-skills.js +51 -1
- package/lib/commands/_issue.js +744 -70
- package/lib/commands/_manifest.js +91 -0
- package/lib/commands/_registry.js +85 -34
- package/lib/commands/_resolve-command-opts.js +261 -0
- package/lib/commands/_serve-security.js +270 -0
- package/lib/commands/adapter.js +12 -0
- package/lib/commands/add.js +118 -0
- package/lib/commands/audit.js +70 -0
- package/lib/commands/blocked.js +5 -0
- package/lib/commands/board.js +64 -0
- package/lib/commands/claim.js +21 -2
- package/lib/commands/claims.js +7 -0
- package/lib/commands/clean.js +485 -75
- package/lib/commands/close.js +2 -2
- package/lib/commands/comment.js +5 -0
- package/lib/commands/control.js +148 -0
- package/lib/commands/create.js +2 -2
- package/lib/commands/dev.js +185 -7
- package/lib/commands/doc-gate.js +336 -0
- package/lib/commands/doctor.js +156 -0
- package/lib/commands/explain.js +15 -0
- package/lib/commands/export.js +237 -0
- package/lib/commands/gate.js +192 -0
- package/lib/commands/hooks.js +242 -0
- package/lib/commands/inbox.js +118 -0
- package/lib/commands/init.js +598 -0
- package/lib/commands/insights.js +79 -0
- package/lib/commands/issue.js +12 -1
- package/lib/commands/issues.js +66 -0
- package/lib/commands/lint.js +5 -0
- package/lib/commands/list.js +2 -2
- package/lib/commands/merge.js +312 -0
- package/lib/commands/migrate.js +523 -0
- package/lib/commands/new.js +12 -0
- package/lib/commands/options.js +241 -0
- package/lib/commands/orient.js +13 -0
- package/lib/commands/orphans.js +5 -0
- package/lib/commands/patch.js +67 -0
- package/lib/commands/plan.js +436 -24
- package/lib/commands/preflight.js +211 -0
- package/lib/commands/prime.js +13 -0
- package/lib/commands/push.js +69 -2
- package/lib/commands/ready.js +2 -2
- package/lib/commands/recall.js +116 -0
- package/lib/commands/recap.js +61 -0
- package/lib/commands/recommend.js +22 -2
- package/lib/commands/release.js +91 -0
- package/lib/commands/remember.js +74 -0
- package/lib/commands/role.js +99 -0
- package/lib/commands/serve.js +581 -0
- package/lib/commands/setup.js +851 -979
- package/lib/commands/shepherd.js +436 -0
- package/lib/commands/ship.js +23 -1
- package/lib/commands/show.js +2 -2
- package/lib/commands/stage.js +192 -0
- package/lib/commands/stale.js +5 -0
- package/lib/commands/status.js +329 -11
- package/lib/commands/sync.js +34 -46
- package/lib/commands/team.js +15 -2
- package/lib/commands/test.js +58 -7
- package/lib/commands/update.js +2 -2
- package/lib/commands/upgrade.js +47 -0
- package/lib/commands/validate.js +56 -25
- package/lib/commands/worktree.js +308 -128
- package/lib/config-writer.js +202 -0
- package/lib/control-plane.js +236 -0
- package/lib/core/runtime-graph.js +946 -0
- package/lib/dep-guard/keyword-ripple.js +184 -0
- package/lib/deprecated-sync-cleanup.js +362 -0
- package/lib/detect-agent.js +2 -28
- package/lib/detect-worktree.js +42 -17
- package/lib/doc-gate/declaration.js +177 -0
- package/lib/doc-gate/detect.js +289 -0
- package/lib/doc-gate/gate.js +375 -0
- package/lib/doc-gate/okf-config.js +128 -0
- package/lib/doc-gate/okf.js +429 -0
- package/lib/docs-command.js +1161 -6
- package/lib/forge-issues.js +697 -0
- package/lib/forge-lock.js +262 -0
- package/lib/gate-events.js +193 -0
- package/lib/global-flags.js +74 -0
- package/lib/greptile-match.js +7 -63
- package/lib/harness-capability-matrix.js +380 -0
- package/lib/hook-global-installer.js +347 -0
- package/lib/hook-renderer.js +451 -0
- package/lib/inbox.js +391 -0
- package/lib/insights.js +397 -0
- package/lib/issue-adapter.js +156 -0
- package/lib/issue-backend.js +145 -0
- package/lib/issue-render.js +220 -0
- package/lib/issue-sync/authority.js +100 -0
- package/lib/issue-sync/github-pull.js +184 -0
- package/lib/issue-sync/import-primitives.js +98 -0
- package/lib/issue-sync/legacy-link-bridge.js +436 -0
- package/lib/issue-sync/link-store.js +292 -0
- package/lib/issue-sync/project-github.js +123 -0
- package/lib/issue-sync/reconcile.js +195 -0
- package/lib/issue-sync/schema.js +126 -0
- package/lib/kernel/backing-issue.js +305 -0
- package/lib/kernel/broker.js +1218 -0
- package/lib/kernel/cli-broker-factory.js +130 -0
- package/lib/kernel/conflict-signal.js +82 -0
- package/lib/kernel/evaluators.js +195 -0
- package/lib/kernel/fs-class.js +495 -0
- package/lib/kernel/issue-command-contract.js +559 -0
- package/lib/kernel/issue-id-resolver.js +186 -0
- package/lib/kernel/lease-enforcer.js +158 -0
- package/lib/kernel/migrations.js +333 -0
- package/lib/kernel/planning-buckets-schema.js +109 -0
- package/lib/kernel/projection-jsonl-writer.js +450 -0
- package/lib/kernel/readiness-model.js +329 -0
- package/lib/kernel/schema.js +356 -0
- package/lib/kernel/sqlite-driver.js +2504 -0
- package/lib/kernel/taxonomy-validator.js +394 -0
- package/lib/lefthook-check.js +8 -4
- package/lib/lefthook-wiring.js +413 -0
- package/lib/mcp-config-renderer.js +288 -0
- package/lib/memory/graphiti-mcp.js +106 -0
- package/lib/memory/router.js +387 -0
- package/lib/memory/typed-api.js +102 -0
- package/lib/memory-digest.js +195 -0
- package/lib/merge-rules.js +395 -0
- package/lib/migrate-dry-run.js +466 -0
- package/lib/orientation.js +863 -0
- package/lib/package-manager-remediation.js +103 -0
- package/lib/package-root.js +381 -0
- package/lib/patch-intent.js +890 -0
- package/lib/plugin-catalog.js +3 -4
- package/lib/plugin-manager.js +0 -5
- package/lib/pr-bundle.js +186 -0
- package/lib/pr-monitor/differ.js +195 -0
- package/lib/pr-monitor/events.js +0 -0
- package/lib/pr-monitor/gather.js +124 -0
- package/lib/pr-monitor/journal.js +299 -0
- package/lib/pr-monitor/monitor.js +146 -0
- package/lib/pr-monitor/render-sticky.js +157 -0
- package/lib/pr-monitor/watch-lifecycle.js +95 -0
- package/lib/pr-monitor/watch.js +247 -0
- package/lib/pr-pull.js +1273 -0
- package/lib/pr-shepherd.js +494 -0
- package/lib/pr-state-validator.js +59 -0
- package/lib/preflight/gates.js +237 -0
- package/lib/preflight/runner.js +116 -0
- package/lib/project-discovery.js +0 -53
- package/lib/project-memory.js +166 -0
- package/lib/protected-path-manifest.js +281 -0
- package/lib/protected-state-surfaces.js +387 -0
- package/lib/release-readiness.js +2089 -0
- package/lib/reset.js +59 -45
- package/lib/review-adapter.js +68 -0
- package/lib/rules-sync.js +260 -0
- package/lib/runtime-health.js +332 -23
- package/lib/safety-config-renderer.js +268 -0
- package/lib/setup-action-log.js +1 -7
- package/lib/setup.js +27 -65
- package/lib/shell-utils.js +76 -6
- package/lib/skills-sync.js +330 -0
- package/lib/smart-status/conflicts.js +205 -0
- package/lib/smart-status/scoring.js +191 -0
- package/lib/status/beads-snapshot.js +145 -0
- package/lib/status/presenter.js +216 -0
- package/lib/status/snapshot.js +186 -0
- package/lib/sync-backend.js +202 -0
- package/lib/untrusted-content.js +52 -0
- package/lib/upgrade-safety.js +199 -0
- package/lib/workflow/enforce-stage.js +298 -47
- package/lib/workflow/stage-transition.js +115 -0
- package/lib/workflow/stages.js +30 -6
- package/lib/workflow/state-manager.js +159 -14
- package/lib/workflow/state.js +23 -1
- package/lib/workflow-profiles.js +17 -5
- package/package.json +46 -36
- package/rules/documentation.md +19 -0
- package/rules/kernel-tracking.md +26 -0
- package/rules/security.md +22 -0
- package/rules/tdd.md +20 -0
- package/rules/workflow.md +27 -0
- package/scripts/auto-backing-issue.js +47 -0
- package/scripts/beads-context.sh +165 -22
- package/scripts/beads-migrate-to-dolt.sh +7 -0
- package/scripts/beads-upgrade-smoke.sh +284 -0
- package/scripts/behavioral-judge.sh +115 -11
- package/scripts/benchmark.js +349 -63
- package/scripts/bootstrap-windows-tools.sh +78 -0
- package/scripts/branch-protection.js +2 -3
- package/scripts/check-agents.js +34 -137
- package/scripts/commitlint.js +3 -1
- package/scripts/conflict-detect.sh +3 -0
- package/scripts/dep-guard-analyze.js +52 -17
- package/scripts/dep-guard-keyword-ripple.js +29 -0
- package/scripts/dep-guard-render-review.js +86 -0
- package/scripts/dep-guard.sh +64 -232
- package/scripts/file-index.sh +3 -0
- package/scripts/forge-team/lib/claim.sh +34 -18
- package/scripts/forge-team/lib/dashboard.sh +61 -86
- package/scripts/forge-team/lib/epic.sh +99 -263
- package/scripts/forge-team/lib/hooks.sh +26 -28
- package/scripts/forge-team/lib/identity.sh +4 -4
- package/scripts/forge-team/lib/sync-github.sh +144 -47
- package/scripts/forge-team/lib/verify.sh +93 -83
- package/scripts/forge-team/lib/workload.sh +41 -65
- package/scripts/forge-team/tests/claim.test.sh +25 -19
- package/scripts/forge-team/tests/dashboard.test.sh +31 -46
- package/scripts/forge-team/tests/epic.test.sh +52 -71
- package/scripts/forge-team/tests/hooks.test.sh +38 -50
- package/scripts/forge-team/tests/identity.test.sh +3 -3
- package/scripts/forge-team/tests/integration.test.sh +44 -66
- package/scripts/forge-team/tests/sync-github.test.sh +183 -79
- package/scripts/forge-team/tests/verify.test.sh +37 -46
- package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
- package/scripts/forge-team/tests/workload.test.sh +32 -66
- package/scripts/gen-command-manifest.js +153 -0
- package/scripts/gen-embedded-assets.mjs +129 -0
- package/scripts/install.ps1 +139 -0
- package/scripts/install.sh +268 -0
- package/scripts/lib/beads-migrate-to-dolt.mjs +503 -0
- package/scripts/lib/release-asset.mjs +84 -0
- package/scripts/parity-check.mjs +145 -0
- package/scripts/parity-check.test.mjs +58 -0
- package/scripts/pin-agentic-workflow-images.js +112 -0
- package/scripts/pr-coordinator.sh +3 -0
- package/scripts/preflight-sonar.eslint.config.mjs +44 -0
- package/scripts/preflight.sh +108 -0
- package/scripts/protected-state-check.js +104 -0
- package/scripts/smart-status-score.js +31 -0
- package/scripts/smart-status-sessions.js +51 -0
- package/scripts/smart-status.sh +117 -369
- package/scripts/spikes/config-race-bench.js +111 -0
- package/scripts/spikes/harness-capability-matrix.js +13 -0
- package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
- package/scripts/spikes/protected-path-manifest.js +20 -0
- package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
- package/scripts/sync-agent-skills.js +62 -0
- package/scripts/sync-agentic-workflow.js +48 -0
- package/scripts/sync-utils.sh +3 -0
- package/scripts/test-ci-shard.js +251 -0
- package/scripts/test-dashboard.js +188 -52
- package/scripts/test-full-suite.js +186 -0
- package/scripts/test-profile.js +278 -0
- package/scripts/test.js +302 -28
- package/scripts/validate.js +143 -0
- package/scripts/validate.sh +18 -1
- package/skills/claim-safety/SKILL.md +102 -0
- package/skills/claim-safety/evals/evals.json +46 -0
- package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +46 -52
- package/skills/dev/evals/evals.json +50 -0
- package/skills/hermes-forge/SKILL.md +185 -0
- package/skills/hermes-forge/evals/evals.json +46 -0
- package/skills/issue-basics/SKILL.md +111 -0
- package/skills/issue-basics/evals/evals.json +46 -0
- package/skills/kernel/SKILL.md +166 -0
- package/skills/kernel/evals/evals.json +50 -0
- package/skills/memory/SKILL.md +102 -0
- package/skills/parallel-deep-research/SKILL.md +14 -11
- package/skills/parallel-deep-research/evals/evals.json +11 -27
- package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +134 -159
- package/skills/plan/evals/evals.json +42 -0
- package/skills/research/SKILL.md +195 -0
- package/skills/research/evals/evals.json +42 -0
- package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
- package/skills/review/evals/evals.json +42 -0
- package/skills/rollback/SKILL.md +110 -0
- package/skills/rollback/evals/evals.json +46 -0
- package/skills/rollback/references/methods.md +204 -0
- package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
- package/skills/shepherd/SKILL.md +66 -0
- package/skills/shepherd/evals/evals.json +42 -0
- package/skills/ship/SKILL.md +251 -0
- package/skills/ship/evals/evals.json +42 -0
- package/skills/smith/SKILL.md +142 -0
- package/skills/smith/evals/evals.json +46 -0
- package/skills/smith/references/autonomy-and-gates.md +94 -0
- package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
- package/skills/sonarcloud/evals/evals.json +46 -0
- package/skills/sonarcloud-analysis/SKILL.md +18 -13
- package/skills/sonarcloud-analysis/evals/evals.json +11 -15
- package/skills/status/SKILL.md +102 -0
- package/skills/status/evals/evals.json +50 -0
- package/skills/triage-ready/SKILL.md +121 -0
- package/skills/triage-ready/evals/evals.json +42 -0
- package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
- package/skills/validate/evals/evals.json +42 -0
- package/skills/verify/SKILL.md +299 -0
- package/skills/verify/evals/evals.json +50 -0
- package/.claude/commands/dev.md +0 -345
- package/.claude/commands/plan.md +0 -566
- package/.claude/commands/premerge.md +0 -186
- package/.claude/commands/research.md +0 -42
- package/.claude/commands/review.md +0 -451
- package/.claude/commands/rollback.md +0 -721
- package/.claude/commands/ship.md +0 -213
- package/.claude/commands/sonarcloud.md +0 -152
- package/.claude/commands/status.md +0 -90
- package/.claude/commands/validate.md +0 -288
- package/.claude/commands/verify.md +0 -269
- package/.claude/rules/workflow.md +0 -121
- package/.cline/workflows/dev.md +0 -342
- package/.cline/workflows/plan.md +0 -563
- package/.cline/workflows/premerge.md +0 -183
- package/.cline/workflows/research.md +0 -39
- package/.cline/workflows/review.md +0 -448
- package/.cline/workflows/rollback.md +0 -718
- package/.cline/workflows/ship.md +0 -210
- package/.cline/workflows/sonarcloud.md +0 -146
- package/.cline/workflows/status.md +0 -87
- package/.cline/workflows/validate.md +0 -285
- package/.cline/workflows/verify.md +0 -266
- package/.codex/config.toml +0 -11
- package/.codex/skills/dev/SKILL.md +0 -345
- package/.codex/skills/plan/SKILL.md +0 -566
- package/.codex/skills/premerge/SKILL.md +0 -186
- package/.codex/skills/research/SKILL.md +0 -42
- package/.codex/skills/review/SKILL.md +0 -451
- package/.codex/skills/rollback/SKILL.md +0 -721
- package/.codex/skills/ship/SKILL.md +0 -213
- package/.codex/skills/sonarcloud/SKILL.md +0 -149
- package/.codex/skills/status/SKILL.md +0 -90
- package/.codex/skills/validate/SKILL.md +0 -288
- package/.codex/skills/verify/SKILL.md +0 -269
- package/.cursor/commands/dev.md +0 -342
- package/.cursor/commands/plan.md +0 -563
- package/.cursor/commands/premerge.md +0 -183
- package/.cursor/commands/research.md +0 -39
- package/.cursor/commands/review.md +0 -448
- package/.cursor/commands/ship.md +0 -210
- package/.cursor/commands/sonarcloud.md +0 -146
- package/.cursor/commands/status.md +0 -87
- package/.cursor/commands/validate.md +0 -285
- package/.cursor/commands/verify.md +0 -266
- package/.cursorrules +0 -149
- package/.github/prompts/premerge.prompt.md +0 -188
- package/.github/prompts/research.prompt.md +0 -44
- package/.github/prompts/rollback.prompt.md +0 -723
- package/.github/prompts/ship.prompt.md +0 -215
- package/.github/prompts/status.prompt.md +0 -92
- package/.github/prompts/verify.prompt.md +0 -271
- package/.github/workflows/beads-to-github.yml +0 -56
- package/.github/workflows/github-to-beads.yml +0 -97
- package/.kilocode/workflows/dev.md +0 -346
- package/.kilocode/workflows/plan.md +0 -567
- package/.kilocode/workflows/premerge.md +0 -187
- package/.kilocode/workflows/research.md +0 -43
- package/.kilocode/workflows/review.md +0 -452
- package/.kilocode/workflows/rollback.md +0 -722
- package/.kilocode/workflows/ship.md +0 -214
- package/.kilocode/workflows/sonarcloud.md +0 -150
- package/.kilocode/workflows/status.md +0 -91
- package/.kilocode/workflows/validate.md +0 -289
- package/.kilocode/workflows/verify.md +0 -270
- package/.opencode/commands/dev.md +0 -345
- package/.opencode/commands/plan.md +0 -566
- package/.opencode/commands/premerge.md +0 -186
- package/.opencode/commands/research.md +0 -42
- package/.opencode/commands/review.md +0 -451
- package/.opencode/commands/rollback.md +0 -721
- package/.opencode/commands/ship.md +0 -213
- package/.opencode/commands/sonarcloud.md +0 -149
- package/.opencode/commands/status.md +0 -90
- package/.opencode/commands/validate.md +0 -288
- package/.opencode/commands/verify.md +0 -269
- package/.roo/commands/dev.md +0 -346
- package/.roo/commands/plan.md +0 -567
- package/.roo/commands/premerge.md +0 -187
- package/.roo/commands/research.md +0 -43
- package/.roo/commands/review.md +0 -452
- package/.roo/commands/rollback.md +0 -722
- package/.roo/commands/ship.md +0 -214
- package/.roo/commands/sonarcloud.md +0 -150
- package/.roo/commands/status.md +0 -91
- package/.roo/commands/validate.md +0 -289
- package/.roo/commands/verify.md +0 -270
- package/docs/BEADS_GITHUB_SYNC.md +0 -255
- package/docs/GREPTILE_SETUP.md +0 -400
- package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
- package/docs/SETUP.md +0 -663
- package/docs/VALIDATION.md +0 -363
- package/lib/agents/cline.plugin.json +0 -29
- package/lib/agents/copilot.plugin.json +0 -24
- package/lib/agents/kilocode.plugin.json +0 -22
- package/lib/agents/opencode.plugin.json +0 -23
- package/lib/agents/roo.plugin.json +0 -30
- package/lib/beads-health-check.js +0 -143
- package/lib/commands/commands-reset.js +0 -147
- package/opencode.json +0 -67
- package/scripts/beads-context.test.js +0 -567
- package/scripts/github-beads-sync/comment.mjs +0 -64
- package/scripts/github-beads-sync/config.mjs +0 -148
- package/scripts/github-beads-sync/github-api.mjs +0 -131
- package/scripts/github-beads-sync/index.mjs +0 -332
- package/scripts/github-beads-sync/label-mapper.mjs +0 -54
- package/scripts/github-beads-sync/mapping.mjs +0 -78
- package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
- package/scripts/github-beads-sync/reverse-sync.mjs +0 -138
- package/scripts/github-beads-sync/run-bd.mjs +0 -161
- package/scripts/github-beads-sync/sanitize.mjs +0 -121
- package/scripts/github-beads-sync.config.json +0 -26
- package/scripts/sync-commands.js +0 -600
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Architecture Index
|
|
2
|
+
|
|
3
|
+
**Status:** Architecture record index and scoped navigation entry point.
|
|
4
|
+
**Update rule:** Any architecture-significant behavior that future implementers need must be captured as a scoped architecture record, ADR, work-folder evidence, or future Kernel/KnowledgeStore proposal.
|
|
5
|
+
|
|
6
|
+
## Record types
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
architecture_note observed architectural fact, rule, constraint, or behavior
|
|
10
|
+
architecture_decision accepted direction after tradeoffs
|
|
11
|
+
architecture_question unresolved ambiguity or decision needed
|
|
12
|
+
architecture_conflict contradictory records or code/docs disagreement
|
|
13
|
+
architecture_exception deliberate deviation with owner, reason, and review/expiry
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Scope map
|
|
17
|
+
|
|
18
|
+
Add project scopes here as they become known:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
project
|
|
22
|
+
domain
|
|
23
|
+
bounded_context
|
|
24
|
+
subsystem
|
|
25
|
+
component
|
|
26
|
+
API / data model / workflow / operation
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Scoped files
|
|
30
|
+
|
|
31
|
+
- `subsystems/` — subsystem/component architecture records.
|
|
32
|
+
- `notes/` — individual architecture notes when no better scoped file exists yet.
|
|
33
|
+
- `decisions/` — scoped decision records that are smaller than ADRs or waiting for ADR promotion.
|
|
34
|
+
- `questions/` — open architecture questions.
|
|
35
|
+
- `conflicts/` — active architecture conflicts.
|
|
36
|
+
|
|
37
|
+
## Mandatory capture rule
|
|
38
|
+
|
|
39
|
+
If future users or agents would need the information to avoid breaking the system, capture it with source evidence.
|
|
40
|
+
|
|
41
|
+
Use:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
Observed fact -> architecture_note
|
|
45
|
+
Accepted direction -> architecture_decision or ADR
|
|
46
|
+
Unclear topic -> architecture_question
|
|
47
|
+
Contradiction -> architecture_conflict
|
|
48
|
+
Temporary deviation -> architecture_exception
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Brownfield adoption
|
|
52
|
+
|
|
53
|
+
For existing products, do not block work waiting for complete documentation. Start with partial records and improve coverage as files are touched.
|
|
54
|
+
|
|
55
|
+
Each discovered note should include:
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
id: AN-YYYYMMDD-short-slug
|
|
59
|
+
record_type: architecture_note
|
|
60
|
+
topic: <domain.subsystem.detail>
|
|
61
|
+
scope: <project/domain/subsystem/component>
|
|
62
|
+
status: observed
|
|
63
|
+
confidence: low | medium | high
|
|
64
|
+
source:
|
|
65
|
+
- path: <file-or-doc>
|
|
66
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Architecture Notes
|
|
2
|
+
|
|
3
|
+
Use this directory for architecture-significant observations that do not yet belong in a scoped subsystem file.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# AN-YYYYMMDD-short-slug — Title
|
|
9
|
+
|
|
10
|
+
```yaml
|
|
11
|
+
id: AN-YYYYMMDD-short-slug
|
|
12
|
+
record_type: architecture_note
|
|
13
|
+
topic: domain.subsystem.detail
|
|
14
|
+
scope: subsystem-or-component
|
|
15
|
+
status: observed | reviewed | accepted | stale | superseded | conflict
|
|
16
|
+
confidence: low | medium | high
|
|
17
|
+
source:
|
|
18
|
+
- path: path/to/source
|
|
19
|
+
lines: 1-20
|
|
20
|
+
supersedes: []
|
|
21
|
+
conflicts_with: []
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Statement
|
|
25
|
+
|
|
26
|
+
What architectural fact, rule, behavior, or constraint was discovered?
|
|
27
|
+
|
|
28
|
+
## Evidence
|
|
29
|
+
|
|
30
|
+
- Source links, code paths, tests, docs, issues, PRs, sessions.
|
|
31
|
+
|
|
32
|
+
## Implications
|
|
33
|
+
|
|
34
|
+
What should future humans/agents know before changing this area?
|
|
35
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Subsystem Architecture Records
|
|
2
|
+
|
|
3
|
+
Use this directory for scoped architecture maps and records by subsystem/component.
|
|
4
|
+
|
|
5
|
+
Recommended file names:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
cart.md
|
|
9
|
+
pricing.md
|
|
10
|
+
checkout.md
|
|
11
|
+
identity.md
|
|
12
|
+
kernel.md
|
|
13
|
+
knowledge.md
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Each subsystem file should stay readable and link to detailed notes, ADRs, work folders, tests, and source files.
|
|
17
|
+
|
|
18
|
+
## Subsystem file template
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# <Subsystem> Architecture
|
|
22
|
+
|
|
23
|
+
## Current summary
|
|
24
|
+
|
|
25
|
+
Short current-state overview.
|
|
26
|
+
|
|
27
|
+
## Active records
|
|
28
|
+
|
|
29
|
+
- `<ID>` — short statement and link.
|
|
30
|
+
|
|
31
|
+
## Data model / contracts
|
|
32
|
+
|
|
33
|
+
Important entities, invariants, APIs, events, and ownership rules.
|
|
34
|
+
|
|
35
|
+
## Operational behavior
|
|
36
|
+
|
|
37
|
+
Runtime flows, failure behavior, retries, consistency model, queues, projections.
|
|
38
|
+
|
|
39
|
+
## Open questions and conflicts
|
|
40
|
+
|
|
41
|
+
- `<AQ/AC ID>` — link and short summary.
|
|
42
|
+
|
|
43
|
+
## Source evidence
|
|
44
|
+
|
|
45
|
+
- Code/docs/tests/work-folder links.
|
|
46
|
+
```
|
|
@@ -4,34 +4,23 @@ Complete reference for all tools integrated with the Forge workflow.
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
│ │ Issue │ │ SonarCloud │ │
|
|
18
|
-
│ │ Tracking │ │ GitHub CLI │ │
|
|
19
|
-
│ └─────────────┘ └─────────────────────┘ │
|
|
20
|
-
│ │ │ │
|
|
21
|
-
│ └─────────────────────┘ │
|
|
22
|
-
│ │ │
|
|
23
|
-
│ ┌─────▼─────┐ │
|
|
24
|
-
│ │ FORGE │ │
|
|
25
|
-
│ │ 7-Stage │ │
|
|
26
|
-
│ │ Workflow │ │
|
|
27
|
-
│ └───────────┘ │
|
|
28
|
-
│ │
|
|
29
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
7
|
+
Forge is a local runtime control plane that coordinates several tool surfaces:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
Forge runtime control plane
|
|
11
|
+
- workflow templates and stage skills
|
|
12
|
+
- local project state and protected surfaces
|
|
13
|
+
- kernel-backed issue wrappers and sync (Beads is an opt-out backend)
|
|
14
|
+
- validation, packaging, and release evidence
|
|
15
|
+
- review adapters and external service hooks
|
|
16
|
+
- harness projections for agent-specific commands, prompts, workflows, and skills
|
|
30
17
|
```
|
|
31
18
|
|
|
19
|
+
The default TDD-first workflow is a core template shipped by Forge. It is not the only runtime primitive. Toolchain docs should describe tools by the surface they support: setup, state, workflow stages, validation, review, release, sync, and recovery.
|
|
20
|
+
|
|
32
21
|
---
|
|
33
22
|
|
|
34
|
-
## Beads -
|
|
23
|
+
## Beads - Local Issue Tracking And Sync Projection
|
|
35
24
|
|
|
36
25
|
**Package**: `@beads/bd`
|
|
37
26
|
**Repository**: [github.com/steveyegge/beads](https://github.com/steveyegge/beads)
|
|
@@ -40,7 +29,7 @@ Complete reference for all tools integrated with the Forge workflow.
|
|
|
40
29
|
### Why Beads?
|
|
41
30
|
|
|
42
31
|
- **Persists across sessions** - Issues survive context clearing, compaction, new chats
|
|
43
|
-
- **
|
|
32
|
+
- **Local-first** - Runtime state stays under local `.beads/` and does not dirty normal Git work
|
|
44
33
|
- **Dependency tracking** - Know what blocks what
|
|
45
34
|
- **Ready detection** - `forge ready` finds unblocked work automatically
|
|
46
35
|
- **AI-optimized** - JSON output, semantic compaction, audit trails
|
|
@@ -66,9 +55,25 @@ bun add -d @beads/bd
|
|
|
66
55
|
bunx bd init
|
|
67
56
|
|
|
68
57
|
# Windows (global) — use PowerShell installer, NOT npm/bun add -g
|
|
69
|
-
|
|
58
|
+
#
|
|
59
|
+
# ⚠️ SECURITY WARNING: The one-liner below pipes remote content directly to execution.
|
|
60
|
+
# If the upstream repo, CDN, or transit is compromised, this runs arbitrary code.
|
|
61
|
+
# Prefer the "download + inspect" flow below for supply-chain safety.
|
|
62
|
+
#
|
|
63
|
+
# RECOMMENDED (safer — download, inspect, then run):
|
|
64
|
+
$installer = "$env:TEMP\beads-install.ps1"
|
|
65
|
+
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $installer
|
|
66
|
+
# Open $installer in a text editor and review before running
|
|
67
|
+
# Get-Content $installer | less # or: notepad $installer
|
|
68
|
+
& $installer # execute after inspection
|
|
70
69
|
bd init
|
|
71
70
|
|
|
71
|
+
# CONVENIENCE (unsafe — reviewed installer only, skip if you don't trust the source):
|
|
72
|
+
# # See the safer download-then-inspect flow in the Beads install section.
|
|
73
|
+
# UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
|
|
74
|
+
# irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
|
|
75
|
+
# bd init
|
|
76
|
+
|
|
72
77
|
# Or with bunx (macOS/Linux, no install needed)
|
|
73
78
|
bunx @beads/bd init
|
|
74
79
|
```
|
|
@@ -77,19 +82,19 @@ bunx @beads/bd init
|
|
|
77
82
|
|
|
78
83
|
### File Structure
|
|
79
84
|
|
|
80
|
-
After `bd init`, creates `.beads/` directory
|
|
85
|
+
After `bd init`, creates a local `.beads/` directory. Forge keeps this directory out of Git; `forge setup` writes local Git exclude rules under `.git/info/exclude` so downstream repositories do not need metadata-only commits.
|
|
81
86
|
|
|
82
87
|
```
|
|
83
88
|
.beads/
|
|
84
|
-
├── issues.jsonl
|
|
85
|
-
├── beads.db
|
|
86
|
-
├── metadata.json
|
|
87
|
-
├── config.yaml
|
|
88
|
-
├── interactions.jsonl #
|
|
89
|
-
└── .gitignore
|
|
89
|
+
├── issues.jsonl # Local/exported issue data
|
|
90
|
+
├── beads.db # SQLite cache, when present
|
|
91
|
+
├── metadata.json # Local database metadata
|
|
92
|
+
├── config.yaml # Local Beads configuration
|
|
93
|
+
├── interactions.jsonl # Local agent audit log
|
|
94
|
+
└── .gitignore # Local ignore guard for runtime files
|
|
90
95
|
```
|
|
91
96
|
|
|
92
|
-
|
|
97
|
+
Do not commit live `.beads/` runtime files. Shared team state must use the configured sync/server authority or an explicit projection/import path.
|
|
93
98
|
|
|
94
99
|
For day-to-day issue workflows, prefer the Forge wrapper commands (`forge ready`,
|
|
95
100
|
`forge create`, `forge update`, `forge close`, `forge sync`). Use `bd` directly
|
|
@@ -244,17 +249,12 @@ Context7 provides current documentation that may be more recent than the AI's tr
|
|
|
244
249
|
"mcpServers": {
|
|
245
250
|
"context7": {
|
|
246
251
|
"command": "bunx",
|
|
247
|
-
"args": ["--bun", "@upstash/context7-mcp@
|
|
252
|
+
"args": ["--bun", "@upstash/context7-mcp@2"]
|
|
248
253
|
}
|
|
249
254
|
}
|
|
250
255
|
}
|
|
251
256
|
```
|
|
252
257
|
|
|
253
|
-
**Cline (VSCode)**:
|
|
254
|
-
1. Open VSCode Settings
|
|
255
|
-
2. Search for "Cline MCP"
|
|
256
|
-
3. Add Context7 server configuration
|
|
257
|
-
|
|
258
258
|
**Cursor**: Check Cursor Settings → MCP Servers for configuration options
|
|
259
259
|
|
|
260
260
|
**Other agents**: If your agent supports MCP, configure using the JSON format above
|
|
@@ -291,7 +291,7 @@ Add to `.mcp.json` in your project root:
|
|
|
291
291
|
"mcpServers": {
|
|
292
292
|
"context7": {
|
|
293
293
|
"command": "bunx",
|
|
294
|
-
"args": ["--bun", "@upstash/context7-mcp@
|
|
294
|
+
"args": ["--bun", "@upstash/context7-mcp@2"]
|
|
295
295
|
},
|
|
296
296
|
"grep-app": {
|
|
297
297
|
"command": "bunx",
|
|
@@ -521,7 +521,7 @@ volumes:
|
|
|
521
521
|
### GitHub CLI - PR Workflow
|
|
522
522
|
|
|
523
523
|
**Installation**: [cli.github.com](https://cli.github.com)
|
|
524
|
-
**Used in**: `/ship
|
|
524
|
+
**Used in**: `/ship` and `/review` stages
|
|
525
525
|
|
|
526
526
|
```bash
|
|
527
527
|
# Install
|
|
@@ -558,7 +558,9 @@ bd --version
|
|
|
558
558
|
bun add -g @beads/bd
|
|
559
559
|
|
|
560
560
|
# Windows — use PowerShell installer (npm has EPERM bug)
|
|
561
|
-
|
|
561
|
+
# See the safer download-then-inspect flow in the Beads install section.
|
|
562
|
+
# UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
|
|
563
|
+
# irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
|
|
562
564
|
```
|
|
563
565
|
|
|
564
566
|
> **Why Forge + Beads?** Forge wraps the supported day-to-day issue workflow
|
|
@@ -568,7 +570,9 @@ irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iex
|
|
|
568
570
|
|
|
569
571
|
---
|
|
570
572
|
|
|
571
|
-
##
|
|
573
|
+
## Default Workflow Template Mapping
|
|
574
|
+
|
|
575
|
+
This table maps tools to the default workflow template. It is not the complete Forge product model and it is not a requirement that every project use every stage.
|
|
572
576
|
|
|
573
577
|
| Stage | Tools Used |
|
|
574
578
|
|-------|------------|
|
|
@@ -579,9 +583,10 @@ irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iex
|
|
|
579
583
|
| `/validate` | Type check, lint, tests, SonarCloud |
|
|
580
584
|
| `/ship` | `forge close`, `gh pr create` |
|
|
581
585
|
| `/review` | `gh pr view`, Greptile, SonarCloud |
|
|
582
|
-
| `/premerge` | `forge sync`, doc updates, hand off PR |
|
|
583
586
|
| `/verify` | Documentation cross-check |
|
|
584
587
|
|
|
588
|
+
Pre-merge is not a stage. Its work (`forge sync`, doc updates, hand off PR) runs inside the `/ship` and `/review` stages as an embedded documentation-and-handoff gate.
|
|
589
|
+
|
|
585
590
|
---
|
|
586
591
|
|
|
587
592
|
## Quick Reference Card
|
|
@@ -622,14 +627,18 @@ bun add -g @beads/bd
|
|
|
622
627
|
# Or use bunx @beads/bd <command>
|
|
623
628
|
|
|
624
629
|
# Windows — use PowerShell installer
|
|
625
|
-
|
|
630
|
+
# See the safer download-then-inspect flow in the Beads install section.
|
|
631
|
+
# UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
|
|
632
|
+
# irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
|
|
626
633
|
```
|
|
627
634
|
|
|
628
635
|
**Windows EPERM error during `npm install -g @beads/bd`**
|
|
629
636
|
```bash
|
|
630
637
|
# npm @beads/bd has a known EPERM bug on Windows (Issue #1031)
|
|
631
638
|
# Use the PowerShell installer instead:
|
|
632
|
-
|
|
639
|
+
# See the safer download-then-inspect flow in the Beads install section.
|
|
640
|
+
# UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
|
|
641
|
+
# irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
|
|
633
642
|
```
|
|
634
643
|
|
|
635
644
|
**"database locked"**
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Validation Reference
|
|
2
|
+
|
|
3
|
+
Forge validation is evidence, not a slogan. Record the command, result, and failure text when validation fails.
|
|
4
|
+
|
|
5
|
+
## Project Validation
|
|
6
|
+
|
|
7
|
+
In this repository:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
bun run check
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
`bun run check` runs `scripts/validate.js` in this order:
|
|
14
|
+
|
|
15
|
+
1. `bun run typecheck`
|
|
16
|
+
2. `bun run lint`
|
|
17
|
+
3. `bun audit`
|
|
18
|
+
4. `node scripts/test.js --validate`
|
|
19
|
+
|
|
20
|
+
Security audit behavior distinguishes blocking high/critical vulnerabilities from lower-severity warnings.
|
|
21
|
+
|
|
22
|
+
## Supporting Commands
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
bun run typecheck
|
|
26
|
+
bun run lint
|
|
27
|
+
bun test --timeout 15000
|
|
28
|
+
bun run validate:yaml
|
|
29
|
+
npm pack --dry-run
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Use `npm pack --dry-run` for package contents and release-readiness checks. It does not publish.
|
|
33
|
+
|
|
34
|
+
## Agent Stage Validation
|
|
35
|
+
|
|
36
|
+
`/validate` is an agent workflow stage. It may include rebase/freshness checks, local validation, manual security review, and Beads context updates according to the installed stage instructions.
|
|
37
|
+
|
|
38
|
+
Do not confuse:
|
|
39
|
+
|
|
40
|
+
- `/validate` - agent stage workflow
|
|
41
|
+
- `forge-preflight` - prerequisite checker
|
|
42
|
+
- `bun run check` - repository validation script
|
|
43
|
+
|
|
44
|
+
## Work Artifact Paths
|
|
45
|
+
|
|
46
|
+
Current planning and validation evidence should point to:
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
docs/work/YYYY-MM-DD-<slug>/
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Legacy `docs/research/` or `docs/plans/` examples are historical unless a specific tool documents a compatibility fallback.
|
|
53
|
+
|
|
54
|
+
## Failure Recovery
|
|
55
|
+
|
|
56
|
+
Fix failures in order:
|
|
57
|
+
|
|
58
|
+
1. Typecheck
|
|
59
|
+
2. Lint
|
|
60
|
+
3. Security audit
|
|
61
|
+
4. Tests
|
|
62
|
+
5. Packaging
|
|
63
|
+
|
|
64
|
+
For each failure:
|
|
65
|
+
|
|
66
|
+
1. Reproduce with the exact command.
|
|
67
|
+
2. Read the first real error.
|
|
68
|
+
3. Fix the root cause.
|
|
69
|
+
4. Rerun the full validation command.
|
|
70
|
+
|
|
71
|
+
Do not proceed to ship with "should pass" or stale output.
|
|
72
|
+
|
|
73
|
+
## Documentation Changes
|
|
74
|
+
|
|
75
|
+
For docs-only changes, still run:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
bun run check
|
|
79
|
+
npm pack --dry-run
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Run a Markdown link check when available. If adding docs tooling would broaden the PR, file follow-up work instead.
|
|
@@ -20,13 +20,13 @@ First, determine which AI agent you are by checking for these directories:
|
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
# Check for agent-specific directories
|
|
23
|
-
ls -la | grep -E "\.claude|\.cursor
|
|
23
|
+
ls -la | grep -E "\.claude|\.codex|\.cursor"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
**Agent Detection:**
|
|
27
27
|
- `.claude/` exists → You are **Claude Code**
|
|
28
|
+
- `.codex/` exists → You are **Codex**
|
|
28
29
|
- `.cursor/` exists → You are **Cursor**
|
|
29
|
-
- `.cline/` exists → You are **Cline**
|
|
30
30
|
- None exist → Generic agent
|
|
31
31
|
|
|
32
32
|
Store this for later: `DETECTED_AGENT=<name>`
|
|
@@ -328,8 +328,8 @@ EOF
|
|
|
328
328
|
|
|
329
329
|
**This prompt is designed to work with:**
|
|
330
330
|
- Claude Code (via CLI)
|
|
331
|
+
- Codex (via CLI)
|
|
331
332
|
- Cursor (via chat)
|
|
332
|
-
- Cline (via VSCode extension)
|
|
333
333
|
- Any AI coding assistant with file system access
|
|
334
334
|
|
|
335
335
|
---
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Beads/GitHub Sync Deprecation
|
|
2
|
+
|
|
3
|
+
Beads/GitHub workflow sync is deprecated. Forge no longer ships active `github-to-beads.yml` or `beads-to-github.yml` workflow templates, and `forge setup --sync` must not create new Beads/GitHub sync scaffolding.
|
|
4
|
+
|
|
5
|
+
## Current Behavior
|
|
6
|
+
|
|
7
|
+
- `.beads/` is local runtime/export state and is not committed.
|
|
8
|
+
- `forge setup --sync` is retained only as a compatibility cleanup path and removes old generated Beads/GitHub sync files from existing installs when they are present.
|
|
9
|
+
- Plain `forge setup` does not perform Beads/GitHub sync cleanup as a side effect.
|
|
10
|
+
- `forge sync` may still run local Beads/Dolt sync operations while Beads compatibility remains, but it is not GitHub issue lifecycle sync.
|
|
11
|
+
|
|
12
|
+
## Removed Generated Files
|
|
13
|
+
|
|
14
|
+
The `forge setup --sync` compatibility cleanup removes the old generated files:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
.github/workflows/github-to-beads.yml
|
|
18
|
+
.github/workflows/beads-to-github.yml
|
|
19
|
+
.github/beads-mapping.json
|
|
20
|
+
.github/beads-sync-config.json
|
|
21
|
+
.github/scripts/beads-sync/*.mjs
|
|
22
|
+
scripts/github-beads-sync.config.json
|
|
23
|
+
scripts/github-beads-sync/*.mjs
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Unrelated GitHub workflows are preserved.
|
|
27
|
+
|
|
28
|
+
## Replacement Direction
|
|
29
|
+
|
|
30
|
+
Future GitHub issue sync must use Forge Kernel/server authority. Local-only work is durable in local Kernel SQLite. Team or cross-machine issue state is serialized through server authority, then GitHub issues can be updated as a projection from that authority.
|
|
31
|
+
|
|
32
|
+
Do not commit live `.beads/` files, create metadata-only PRs, or bypass protected branches to update issue tracker state.
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
# Enhanced Onboarding Guide
|
|
2
2
|
|
|
3
|
+
> **Historical — superseded by [Quickstart](../../QUICKSTART.md).** This guide predates the current onboarding flow and still references the old `/premerge` stage and some undocumented flags. Kept for historical reference only; do not follow it for a fresh install.
|
|
4
|
+
|
|
3
5
|
Intelligent onboarding that adapts to your project and preserves existing content.
|
|
4
6
|
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
## Key Features
|
|
8
10
|
|
|
11
|
+
> This guide describes the broader onboarding experience and workflow-profile ideas. For current first-run setup, start with [Quickstart](../../QUICKSTART.md). For the current workflow-template boundary, use [Workflow templates](WORKFLOW_TEMPLATES.md).
|
|
12
|
+
|
|
9
13
|
### Key Features
|
|
10
14
|
|
|
11
15
|
1. **Intelligent File Merging** - Preserves your existing AGENTS.md content
|
|
@@ -35,7 +39,7 @@ bunx forge setup --merge=smart
|
|
|
35
39
|
- Tech stack details
|
|
36
40
|
|
|
37
41
|
**What gets updated:**
|
|
38
|
-
- Workflow instructions (
|
|
42
|
+
- Workflow instructions (composable TDD process)
|
|
39
43
|
- TDD principles
|
|
40
44
|
- Git conventions
|
|
41
45
|
|
|
@@ -65,7 +69,7 @@ E-commerce platform for selling widgets.
|
|
|
65
69
|
- 80% test coverage
|
|
66
70
|
|
|
67
71
|
## Workflow Configuration
|
|
68
|
-
Use the
|
|
72
|
+
Use the default TDD workflow template:
|
|
69
73
|
1. /plan - Design intent, research, branch + worktree + task list
|
|
70
74
|
2. /dev - Subagent-driven TDD per task
|
|
71
75
|
...
|
|
@@ -165,7 +169,7 @@ Forge adapts its workflow based on the type of work you're doing.
|
|
|
165
169
|
|
|
166
170
|
### Six Change Classifications
|
|
167
171
|
|
|
168
|
-
#### 1. Critical (
|
|
172
|
+
#### 1. Critical (full default template)
|
|
169
173
|
**Use for:** Security, auth, payments, breaking changes
|
|
170
174
|
|
|
171
175
|
```bash
|
|
@@ -178,11 +182,11 @@ bunx forge setup --type=critical
|
|
|
178
182
|
/plan -> /dev -> /validate -> /ship -> /review -> /premerge -> /verify
|
|
179
183
|
```
|
|
180
184
|
|
|
181
|
-
- Full
|
|
185
|
+
- Full default Forge workflow template with all gates
|
|
182
186
|
- OWASP analysis required
|
|
183
187
|
- Design docs for strategic changes
|
|
184
188
|
|
|
185
|
-
#### 2. Standard (6 stages)
|
|
189
|
+
#### 2. Standard (6 stages plus `/status` utility)
|
|
186
190
|
**Use for:** Normal features, enhancements
|
|
187
191
|
|
|
188
192
|
```bash
|
|
@@ -199,7 +203,7 @@ bunx forge setup --type=standard
|
|
|
199
203
|
- Auto-escalates to **Critical** if keywords detected:
|
|
200
204
|
- auth, security, payment, crypto, password, token, session, migration, breaking
|
|
201
205
|
|
|
202
|
-
#### 3. Simple (
|
|
206
|
+
#### 3. Simple (4 stages)
|
|
203
207
|
**Use for:** Bug fixes, small changes
|
|
204
208
|
|
|
205
209
|
```bash
|
|
@@ -209,7 +213,7 @@ bunx forge setup --type=simple
|
|
|
209
213
|
|
|
210
214
|
**Workflow:**
|
|
211
215
|
```
|
|
212
|
-
/dev -> /validate -> /ship
|
|
216
|
+
/dev -> /validate -> /ship -> /premerge
|
|
213
217
|
```
|
|
214
218
|
|
|
215
219
|
- Streamlined for quick fixes
|
|
@@ -232,7 +236,7 @@ bunx forge setup --type=hotfix
|
|
|
232
236
|
- Skip planning and research
|
|
233
237
|
- TDD to reproduce, then fix
|
|
234
238
|
|
|
235
|
-
#### 5. Docs (
|
|
239
|
+
#### 5. Docs (3 stages)
|
|
236
240
|
**Use for:** Documentation only
|
|
237
241
|
|
|
238
242
|
```bash
|
|
@@ -242,7 +246,7 @@ bunx forge setup --type=docs
|
|
|
242
246
|
|
|
243
247
|
**Workflow:**
|
|
244
248
|
```
|
|
245
|
-
/verify -> /ship
|
|
249
|
+
/verify -> /ship -> /premerge
|
|
246
250
|
```
|
|
247
251
|
|
|
248
252
|
- Minimal workflow for documentation changes
|
|
@@ -354,7 +358,7 @@ git checkout -b feat/user-authentication
|
|
|
354
358
|
bunx forge setup --type=critical
|
|
355
359
|
|
|
356
360
|
# Uses Critical profile:
|
|
357
|
-
# - Full
|
|
361
|
+
# - Full default Forge workflow template
|
|
358
362
|
# - OWASP analysis required
|
|
359
363
|
# - Design docs for strategic changes
|
|
360
364
|
```
|
|
@@ -593,8 +597,8 @@ Share project knowledge with team.
|
|
|
593
597
|
|
|
594
598
|
## Related Documentation
|
|
595
599
|
|
|
596
|
-
- [Main README](
|
|
597
|
-
- [Workflow Guide](
|
|
600
|
+
- [Main README](../../README.md) - Overview and quick start
|
|
601
|
+
- [Workflow Guide](../../AGENTS.md) - Complete default Forge workflow template
|
|
598
602
|
- [Setup Guide](SETUP.md) - Agent-specific setup
|
|
599
603
|
- [Agent Install Prompt](AGENT_INSTALL_PROMPT.md) - AI-assisted setup
|
|
600
604
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Greptile Code Review Setup
|
|
2
|
+
|
|
3
|
+
Greptile is an optional review integration. Do not assume it is installed, required by branch protection, or present on every Forge consumer repository. Verify the current repository's checks before documenting Greptile as a required gate.
|
|
4
|
+
|
|
5
|
+
## Verify Current Status
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
gh pr checks <pr-number>
|
|
9
|
+
gh api repos/<owner>/<repo>/branches/<branch>/protection
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
If Greptile appears on PRs and you want it to block merges, add the exact check name reported by GitHub to branch protection. Required check names are repository-specific.
|
|
13
|
+
|
|
14
|
+
## How Greptile Fits Forge
|
|
15
|
+
|
|
16
|
+
- Greptile can provide PR review comments through the GitHub App.
|
|
17
|
+
- A repository may add a custom quality-gate workflow.
|
|
18
|
+
- Forge review work should reply to and resolve actionable review threads.
|
|
19
|
+
- The review adapter scaffold currently supports Greptile-shaped review adapters.
|
|
20
|
+
|
|
21
|
+
## Setup Boundary
|
|
22
|
+
|
|
23
|
+
Forge does not guarantee that Greptile is installed or enforced. Treat Greptile as repository configuration:
|
|
24
|
+
|
|
25
|
+
1. Install/configure the Greptile GitHub App.
|
|
26
|
+
2. Confirm it runs on a PR.
|
|
27
|
+
3. Add required checks only after the check name is visible.
|
|
28
|
+
4. Document the configured branch-protection rule in the repository.
|
|
29
|
+
|
|
30
|
+
## Review Handling
|
|
31
|
+
|
|
32
|
+
When the repo includes the helper script:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
bash .claude/scripts/review-resolve.sh list <pr-number> --unresolved
|
|
36
|
+
bash .claude/scripts/review-resolve.sh stats <pr-number>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Reply to each valid, invalid, conflicting, or out-of-scope thread before resolving it.
|
|
40
|
+
|
|
41
|
+
## Known Limits
|
|
42
|
+
|
|
43
|
+
- Greptile availability depends on GitHub App installation and repository access.
|
|
44
|
+
- Branch protection may not include Greptile even when Greptile comments on PRs.
|
|
45
|
+
- Required check names can change if workflows or integrations are renamed.
|
|
46
|
+
|