mindforge-cc 11.3.0 → 11.3.1
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/.agent/forge/help.md +11 -0
- package/.agent/forge/init-project.md +36 -0
- package/.agent/forge/plan-phase.md +34 -0
- package/.agent/mindforge/add-backlog.md +32 -0
- package/.agent/mindforge/agent-deploy.md +34 -0
- package/.agent/mindforge/agent-design.md +31 -0
- package/.agent/mindforge/agent-eval.md +27 -0
- package/.agent/mindforge/agent-memory.md +27 -0
- package/.agent/mindforge/agent.md +31 -0
- package/.agent/mindforge/ai-cost.md +31 -0
- package/.agent/mindforge/ai-safety.md +37 -0
- package/.agent/mindforge/analytics.md +28 -0
- package/.agent/mindforge/approve.md +22 -0
- package/.agent/mindforge/audit.md +34 -0
- package/.agent/mindforge/auth-flow.md +76 -0
- package/.agent/mindforge/auto.md +26 -0
- package/.agent/mindforge/benchmark.md +37 -0
- package/.agent/mindforge/brd.md +90 -0
- package/.agent/mindforge/browse.md +30 -0
- package/.agent/mindforge/build-opt.md +31 -0
- package/.agent/mindforge/build-vs-buy.md +29 -0
- package/.agent/mindforge/cache.md +30 -0
- package/.agent/mindforge/causal.md +31 -0
- package/.agent/mindforge/cdn.md +34 -0
- package/.agent/mindforge/change.md +37 -0
- package/.agent/mindforge/cli.md +30 -0
- package/.agent/mindforge/cluster-instincts.md +35 -0
- package/.agent/mindforge/code-tour.md +85 -0
- package/.agent/mindforge/communicate.md +37 -0
- package/.agent/mindforge/complete-milestone.md +22 -0
- package/.agent/mindforge/compliance.md +31 -0
- package/.agent/mindforge/consult.md +37 -0
- package/.agent/mindforge/context-budget.md +70 -0
- package/.agent/mindforge/contract-test.md +30 -0
- package/.agent/mindforge/cost-report.md +44 -0
- package/.agent/mindforge/costs.md +15 -0
- package/.agent/mindforge/council.md +35 -0
- package/.agent/mindforge/create-skill.md +34 -0
- package/.agent/mindforge/cross-review.md +21 -0
- package/.agent/mindforge/dashboard.md +102 -0
- package/.agent/mindforge/data-mesh.md +31 -0
- package/.agent/mindforge/data-model.md +75 -0
- package/.agent/mindforge/data-pipeline.md +34 -0
- package/.agent/mindforge/de-slop.md +33 -0
- package/.agent/mindforge/debug.md +133 -0
- package/.agent/mindforge/degrade.md +31 -0
- package/.agent/mindforge/delegate.md +37 -0
- package/.agent/mindforge/deploy.md +32 -0
- package/.agent/mindforge/design-tokens.md +80 -0
- package/.agent/mindforge/discuss-phase.md +142 -0
- package/.agent/mindforge/dmux.md +32 -0
- package/.agent/mindforge/do.md +31 -0
- package/.agent/mindforge/ecommerce.md +31 -0
- package/.agent/mindforge/edge.md +34 -0
- package/.agent/mindforge/edtech.md +31 -0
- package/.agent/mindforge/embeddings.md +37 -0
- package/.agent/mindforge/environments.md +31 -0
- package/.agent/mindforge/eval.md +33 -0
- package/.agent/mindforge/events.md +30 -0
- package/.agent/mindforge/evolve-skills.md +49 -0
- package/.agent/mindforge/execute-phase.md +200 -0
- package/.agent/mindforge/experiment.md +28 -0
- package/.agent/mindforge/feature-flags.md +30 -0
- package/.agent/mindforge/feature-store.md +31 -0
- package/.agent/mindforge/finops.md +31 -0
- package/.agent/mindforge/fintech.md +31 -0
- package/.agent/mindforge/flutter.md +37 -0
- package/.agent/mindforge/gaming.md +31 -0
- package/.agent/mindforge/graphql.md +31 -0
- package/.agent/mindforge/health.md +31 -0
- package/.agent/mindforge/healthcare.md +31 -0
- package/.agent/mindforge/help.md +33 -0
- package/.agent/mindforge/hire.md +37 -0
- package/.agent/mindforge/hitl.md +27 -0
- package/.agent/mindforge/i18n.md +31 -0
- package/.agent/mindforge/idempotent.md +31 -0
- package/.agent/mindforge/init-org.md +135 -0
- package/.agent/mindforge/init-project.md +170 -0
- package/.agent/mindforge/install-skill.md +28 -0
- package/.agent/mindforge/introspect.md +46 -0
- package/.agent/mindforge/iot.md +31 -0
- package/.agent/mindforge/knowledge-graph.md +37 -0
- package/.agent/mindforge/lakehouse.md +31 -0
- package/.agent/mindforge/lead.md +31 -0
- package/.agent/mindforge/learn-instinct.md +58 -0
- package/.agent/mindforge/learn.md +147 -0
- package/.agent/mindforge/learning.md +20 -0
- package/.agent/mindforge/llm-route.md +37 -0
- package/.agent/mindforge/load-test.md +30 -0
- package/.agent/mindforge/logistics.md +31 -0
- package/.agent/mindforge/map-codebase.md +302 -0
- package/.agent/mindforge/market-research.md +94 -0
- package/.agent/mindforge/marketplace.md +124 -0
- package/.agent/mindforge/mcp-server.md +88 -0
- package/.agent/mindforge/meeting-design.md +37 -0
- package/.agent/mindforge/metrics.md +26 -0
- package/.agent/mindforge/microservices.md +64 -0
- package/.agent/mindforge/migrate.md +44 -0
- package/.agent/mindforge/migration-mgmt.md +31 -0
- package/.agent/mindforge/milestone.md +16 -0
- package/.agent/mindforge/mobile.md +37 -0
- package/.agent/mindforge/monorepo.md +30 -0
- package/.agent/mindforge/multi-tenant.md +31 -0
- package/.agent/mindforge/multimodal.md +37 -0
- package/.agent/mindforge/new-runtime.md +23 -0
- package/.agent/mindforge/next.md +109 -0
- package/.agent/mindforge/note.md +35 -0
- package/.agent/mindforge/observability-platform.md +31 -0
- package/.agent/mindforge/observability.md +75 -0
- package/.agent/mindforge/offline.md +37 -0
- package/.agent/mindforge/onboard.md +37 -0
- package/.agent/mindforge/orchestrate.md +74 -0
- package/.agent/mindforge/payments.md +28 -0
- package/.agent/mindforge/pipeline.md +84 -0
- package/.agent/mindforge/plan-phase.md +131 -0
- package/.agent/mindforge/plan-write.md +95 -0
- package/.agent/mindforge/plant-seed.md +31 -0
- package/.agent/mindforge/platform.md +31 -0
- package/.agent/mindforge/plugins.md +44 -0
- package/.agent/mindforge/pr-review.md +45 -0
- package/.agent/mindforge/privacy-eng.md +31 -0
- package/.agent/mindforge/product-spec.md +90 -0
- package/.agent/mindforge/profile-team.md +27 -0
- package/.agent/mindforge/prompt.md +78 -0
- package/.agent/mindforge/proofread.md +87 -0
- package/.agent/mindforge/publish-skill.md +23 -0
- package/.agent/mindforge/push-notify.md +37 -0
- package/.agent/mindforge/pwa.md +37 -0
- package/.agent/mindforge/qa.md +20 -0
- package/.agent/mindforge/quality-audit.md +34 -0
- package/.agent/mindforge/queue.md +31 -0
- package/.agent/mindforge/quick.md +139 -0
- package/.agent/mindforge/rag.md +30 -0
- package/.agent/mindforge/rate-limit.md +31 -0
- package/.agent/mindforge/react-native.md +37 -0
- package/.agent/mindforge/realtime-analytics.md +31 -0
- package/.agent/mindforge/record-learning.md +22 -0
- package/.agent/mindforge/release.md +14 -0
- package/.agent/mindforge/remember.md +30 -0
- package/.agent/mindforge/research.md +16 -0
- package/.agent/mindforge/retro.md +28 -0
- package/.agent/mindforge/retrospective.md +31 -0
- package/.agent/mindforge/review-backlog.md +34 -0
- package/.agent/mindforge/review-guide.md +63 -0
- package/.agent/mindforge/review.md +161 -0
- package/.agent/mindforge/rfc.md +34 -0
- package/.agent/mindforge/santa.md +33 -0
- package/.agent/mindforge/secrets-mgmt.md +31 -0
- package/.agent/mindforge/secrets.md +31 -0
- package/.agent/mindforge/security-scan.md +242 -0
- package/.agent/mindforge/serverless.md +34 -0
- package/.agent/mindforge/session-report.md +39 -0
- package/.agent/mindforge/ship.md +111 -0
- package/.agent/mindforge/skills.md +145 -0
- package/.agent/mindforge/status.md +113 -0
- package/.agent/mindforge/steer.md +17 -0
- package/.agent/mindforge/stream.md +31 -0
- package/.agent/mindforge/sync-confluence.md +15 -0
- package/.agent/mindforge/sync-jira.md +16 -0
- package/.agent/mindforge/system-design.md +87 -0
- package/.agent/mindforge/team-topology.md +27 -0
- package/.agent/mindforge/tech-debt.md +31 -0
- package/.agent/mindforge/tech-radar.md +28 -0
- package/.agent/mindforge/threat-model.md +48 -0
- package/.agent/mindforge/tokens.md +12 -0
- package/.agent/mindforge/ui-phase.md +34 -0
- package/.agent/mindforge/ui-review.md +36 -0
- package/.agent/mindforge/update.md +46 -0
- package/.agent/mindforge/validate-phase.md +31 -0
- package/.agent/mindforge/verify-loop.md +45 -0
- package/.agent/mindforge/verify-phase.md +66 -0
- package/.agent/mindforge/vibe-check.md +37 -0
- package/.agent/mindforge/workspace.md +33 -0
- package/.agent/mindforge/workstreams.md +35 -0
- package/.agent/mindforge/worktrees.md +86 -0
- package/.agent/mindforge/write-rfc.md +64 -0
- package/.agent/mindforge/zero-trust.md +34 -0
- package/.agent/skills/mindforge-add-backlog/SKILL.md +72 -0
- package/.agent/skills/mindforge-add-phase/SKILL.md +39 -0
- package/.agent/skills/mindforge-add-tests/SKILL.md +28 -0
- package/.agent/skills/mindforge-add-todo/SKILL.md +42 -0
- package/.agent/skills/mindforge-audit-milestone/SKILL.md +29 -0
- package/.agent/skills/mindforge-audit-uat/SKILL.md +20 -0
- package/.agent/skills/mindforge-autonomous/SKILL.md +33 -0
- package/.agent/skills/mindforge-brainstorming/SKILL.md +164 -0
- package/.agent/skills/mindforge-brainstorming/scripts/frame-template.html +214 -0
- package/.agent/skills/mindforge-brainstorming/scripts/helper.js +90 -0
- package/.agent/skills/mindforge-brainstorming/scripts/server.cjs +354 -0
- package/.agent/skills/mindforge-brainstorming/scripts/start-server.sh +148 -0
- package/.agent/skills/mindforge-brainstorming/scripts/stop-server.sh +56 -0
- package/.agent/skills/mindforge-brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/.agent/skills/mindforge-brainstorming/visual-companion.md +287 -0
- package/.agent/skills/mindforge-check-todos/SKILL.md +40 -0
- package/.agent/skills/mindforge-cleanup/SKILL.md +19 -0
- package/.agent/skills/mindforge-complete-milestone/SKILL.md +131 -0
- package/.agent/skills/mindforge-debug/SKILL.md +163 -0
- package/.agent/skills/mindforge-debug_extended/CREATION-LOG.md +119 -0
- package/.agent/skills/mindforge-debug_extended/SKILL.md +296 -0
- package/.agent/skills/mindforge-debug_extended/condition-based-waiting-example.ts +158 -0
- package/.agent/skills/mindforge-debug_extended/condition-based-waiting.md +115 -0
- package/.agent/skills/mindforge-debug_extended/defense-in-depth.md +122 -0
- package/.agent/skills/mindforge-debug_extended/find-polluter.sh +63 -0
- package/.agent/skills/mindforge-debug_extended/root-cause-tracing.md +169 -0
- package/.agent/skills/mindforge-debug_extended/test-academic.md +14 -0
- package/.agent/skills/mindforge-debug_extended/test-pressure-1.md +58 -0
- package/.agent/skills/mindforge-debug_extended/test-pressure-2.md +68 -0
- package/.agent/skills/mindforge-debug_extended/test-pressure-3.md +69 -0
- package/.agent/skills/mindforge-discuss-phase/SKILL.md +54 -0
- package/.agent/skills/mindforge-do/SKILL.md +26 -0
- package/.agent/skills/mindforge-execute-phase/SKILL.md +49 -0
- package/.agent/skills/mindforge-execute-phase_extended/SKILL.md +70 -0
- package/.agent/skills/mindforge-fast/SKILL.md +23 -0
- package/.agent/skills/mindforge-forensics/SKILL.md +49 -0
- package/.agent/skills/mindforge-health/SKILL.md +17 -0
- package/.agent/skills/mindforge-help/SKILL.md +23 -0
- package/.agent/skills/mindforge-insert-phase/SKILL.md +28 -0
- package/.agent/skills/mindforge-join-discord/SKILL.md +19 -0
- package/.agent/skills/mindforge-list-phase-assumptions/SKILL.md +41 -0
- package/.agent/skills/mindforge-list-workspaces/SKILL.md +17 -0
- package/.agent/skills/mindforge-manager/SKILL.md +32 -0
- package/.agent/skills/mindforge-map-codebase/SKILL.md +64 -0
- package/.agent/skills/mindforge-milestone-summary/SKILL.md +44 -0
- package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +115 -0
- package/.agent/skills/mindforge-neural-orchestrator/references/codex-tools.md +100 -0
- package/.agent/skills/mindforge-neural-orchestrator/references/gemini-tools.md +33 -0
- package/.agent/skills/mindforge-new-milestone/SKILL.md +38 -0
- package/.agent/skills/mindforge-new-project/SKILL.md +36 -0
- package/.agent/skills/mindforge-new-workspace/SKILL.md +39 -0
- package/.agent/skills/mindforge-next/SKILL.md +19 -0
- package/.agent/skills/mindforge-note/SKILL.md +29 -0
- package/.agent/skills/mindforge-parallel-mesh_extended/SKILL.md +182 -0
- package/.agent/skills/mindforge-pause-work/SKILL.md +35 -0
- package/.agent/skills/mindforge-plan-milestone-gaps/SKILL.md +28 -0
- package/.agent/skills/mindforge-plan-phase/SKILL.md +38 -0
- package/.agent/skills/mindforge-plan-phase_extended/SKILL.md +152 -0
- package/.agent/skills/mindforge-plan-phase_extended/plan-document-reviewer-prompt.md +49 -0
- package/.agent/skills/mindforge-plant-seed/SKILL.md +22 -0
- package/.agent/skills/mindforge-pr-branch/SKILL.md +21 -0
- package/.agent/skills/mindforge-profile-user/SKILL.md +38 -0
- package/.agent/skills/mindforge-progress/SKILL.md +19 -0
- package/.agent/skills/mindforge-quick/SKILL.md +38 -0
- package/.agent/skills/mindforge-reapply-patches/SKILL.md +124 -0
- package/.agent/skills/mindforge-remove-phase/SKILL.md +26 -0
- package/.agent/skills/mindforge-remove-workspace/SKILL.md +22 -0
- package/.agent/skills/mindforge-research-phase/SKILL.md +186 -0
- package/.agent/skills/mindforge-resume-work/SKILL.md +35 -0
- package/.agent/skills/mindforge-review/SKILL.md +31 -0
- package/.agent/skills/mindforge-review-backlog/SKILL.md +58 -0
- package/.agent/skills/mindforge-review-inbound/SKILL.md +213 -0
- package/.agent/skills/mindforge-review-request/SKILL.md +105 -0
- package/.agent/skills/mindforge-review-request/code-reviewer.md +146 -0
- package/.agent/skills/mindforge-session-report/SKILL.md +16 -0
- package/.agent/skills/mindforge-set-profile/SKILL.md +9 -0
- package/.agent/skills/mindforge-settings/SKILL.md +32 -0
- package/.agent/skills/mindforge-ship/SKILL.md +16 -0
- package/.agent/skills/mindforge-ship_extended/SKILL.md +200 -0
- package/.agent/skills/mindforge-skill-creation/SKILL.md +655 -0
- package/.agent/skills/mindforge-skill-creation/anthropic-best-practices.md +1150 -0
- package/.agent/skills/mindforge-skill-creation/examples/CLAUDE_MD_TESTING.md +189 -0
- package/.agent/skills/mindforge-skill-creation/graphviz-conventions.dot +172 -0
- package/.agent/skills/mindforge-skill-creation/persuasion-principles.md +187 -0
- package/.agent/skills/mindforge-skill-creation/render-graphs.js +168 -0
- package/.agent/skills/mindforge-skill-creation/testing-skills-with-subagents.md +384 -0
- package/.agent/skills/mindforge-stats/SKILL.md +16 -0
- package/.agent/skills/mindforge-swarm-execution/SKILL.md +277 -0
- package/.agent/skills/mindforge-swarm-execution/code-quality-reviewer-prompt.md +26 -0
- package/.agent/skills/mindforge-swarm-execution/implementer-prompt.md +113 -0
- package/.agent/skills/mindforge-swarm-execution/spec-reviewer-prompt.md +61 -0
- package/.agent/skills/mindforge-system-architecture/SKILL.md +136 -0
- package/.agent/skills/mindforge-system-architecture/examples.md +120 -0
- package/.agent/skills/mindforge-system-architecture/scaling-checklist.md +76 -0
- package/.agent/skills/mindforge-tdd/SKILL.md +112 -0
- package/.agent/skills/mindforge-tdd/deep-modules.md +21 -0
- package/.agent/skills/mindforge-tdd/interface-design.md +22 -0
- package/.agent/skills/mindforge-tdd/mocking.md +24 -0
- package/.agent/skills/mindforge-tdd/refactoring.md +21 -0
- package/.agent/skills/mindforge-tdd/tests.md +28 -0
- package/.agent/skills/mindforge-tdd_extended/SKILL.md +371 -0
- package/.agent/skills/mindforge-tdd_extended/testing-anti-patterns.md +299 -0
- package/.agent/skills/mindforge-thread/SKILL.md +123 -0
- package/.agent/skills/mindforge-ui-phase/SKILL.md +24 -0
- package/.agent/skills/mindforge-ui-review/SKILL.md +24 -0
- package/.agent/skills/mindforge-update/SKILL.md +35 -0
- package/.agent/skills/mindforge-validate-phase/SKILL.md +26 -0
- package/.agent/skills/mindforge-verify-work/SKILL.md +30 -0
- package/.agent/skills/mindforge-verify-work_extended/SKILL.md +139 -0
- package/.agent/skills/mindforge-workspace-isolated/SKILL.md +218 -0
- package/.agent/skills/mindforge-workstreams/SKILL.md +65 -0
- package/.claude/CLAUDE.md +102 -0
- package/.claude/commands/forge/help.md +7 -0
- package/.claude/commands/forge/init-project.md +32 -0
- package/.claude/commands/forge/plan-phase.md +30 -0
- package/.claude/commands/mindforge/add-backlog.md +32 -0
- package/.claude/commands/mindforge/agent-deploy.md +34 -0
- package/.claude/commands/mindforge/agent-design.md +31 -0
- package/.claude/commands/mindforge/agent-eval.md +27 -0
- package/.claude/commands/mindforge/agent-memory.md +27 -0
- package/.claude/commands/mindforge/agent.md +31 -0
- package/.claude/commands/mindforge/ai-cost.md +31 -0
- package/.claude/commands/mindforge/ai-safety.md +37 -0
- package/.claude/commands/mindforge/analytics.md +28 -0
- package/.claude/commands/mindforge/approve.md +22 -0
- package/.claude/commands/mindforge/audit.md +34 -0
- package/.claude/commands/mindforge/auth-flow.md +76 -0
- package/.claude/commands/mindforge/auto.md +26 -0
- package/.claude/commands/mindforge/benchmark.md +37 -0
- package/.claude/commands/mindforge/brd.md +90 -0
- package/.claude/commands/mindforge/browse.md +30 -0
- package/.claude/commands/mindforge/build-opt.md +31 -0
- package/.claude/commands/mindforge/build-vs-buy.md +29 -0
- package/.claude/commands/mindforge/cache.md +30 -0
- package/.claude/commands/mindforge/causal.md +31 -0
- package/.claude/commands/mindforge/cdn.md +34 -0
- package/.claude/commands/mindforge/change.md +37 -0
- package/.claude/commands/mindforge/cli.md +30 -0
- package/.claude/commands/mindforge/cluster-instincts.md +35 -0
- package/.claude/commands/mindforge/code-tour.md +85 -0
- package/.claude/commands/mindforge/communicate.md +37 -0
- package/.claude/commands/mindforge/complete-milestone.md +22 -0
- package/.claude/commands/mindforge/compliance.md +31 -0
- package/.claude/commands/mindforge/consult.md +37 -0
- package/.claude/commands/mindforge/context-budget.md +70 -0
- package/.claude/commands/mindforge/contract-test.md +30 -0
- package/.claude/commands/mindforge/cost-report.md +44 -0
- package/.claude/commands/mindforge/costs.md +15 -0
- package/.claude/commands/mindforge/council.md +83 -0
- package/.claude/commands/mindforge/create-skill.md +34 -0
- package/.claude/commands/mindforge/cross-review.md +21 -0
- package/.claude/commands/mindforge/dashboard.md +102 -0
- package/.claude/commands/mindforge/data-mesh.md +31 -0
- package/.claude/commands/mindforge/data-model.md +75 -0
- package/.claude/commands/mindforge/data-pipeline.md +34 -0
- package/.claude/commands/mindforge/de-slop.md +33 -0
- package/.claude/commands/mindforge/debug.md +133 -0
- package/.claude/commands/mindforge/degrade.md +31 -0
- package/.claude/commands/mindforge/delegate.md +37 -0
- package/.claude/commands/mindforge/deploy.md +32 -0
- package/.claude/commands/mindforge/design-tokens.md +80 -0
- package/.claude/commands/mindforge/discuss-phase.md +142 -0
- package/.claude/commands/mindforge/dmux.md +32 -0
- package/.claude/commands/mindforge/do.md +31 -0
- package/.claude/commands/mindforge/ecommerce.md +31 -0
- package/.claude/commands/mindforge/edge.md +34 -0
- package/.claude/commands/mindforge/edtech.md +31 -0
- package/.claude/commands/mindforge/embeddings.md +37 -0
- package/.claude/commands/mindforge/environments.md +31 -0
- package/.claude/commands/mindforge/eval.md +33 -0
- package/.claude/commands/mindforge/events.md +30 -0
- package/.claude/commands/mindforge/evolve-skills.md +49 -0
- package/.claude/commands/mindforge/execute-phase.md +200 -0
- package/.claude/commands/mindforge/experiment.md +28 -0
- package/.claude/commands/mindforge/feature-flags.md +30 -0
- package/.claude/commands/mindforge/feature-store.md +31 -0
- package/.claude/commands/mindforge/finops.md +31 -0
- package/.claude/commands/mindforge/fintech.md +31 -0
- package/.claude/commands/mindforge/flutter.md +37 -0
- package/.claude/commands/mindforge/gaming.md +31 -0
- package/.claude/commands/mindforge/graphql.md +31 -0
- package/.claude/commands/mindforge/health.md +31 -0
- package/.claude/commands/mindforge/healthcare.md +31 -0
- package/.claude/commands/mindforge/help.md +33 -0
- package/.claude/commands/mindforge/hire.md +37 -0
- package/.claude/commands/mindforge/hitl.md +27 -0
- package/.claude/commands/mindforge/i18n.md +31 -0
- package/.claude/commands/mindforge/idempotent.md +31 -0
- package/.claude/commands/mindforge/init-org.md +135 -0
- package/.claude/commands/mindforge/init-project.md +170 -0
- package/.claude/commands/mindforge/install-skill.md +28 -0
- package/.claude/commands/mindforge/introspect.md +46 -0
- package/.claude/commands/mindforge/iot.md +31 -0
- package/.claude/commands/mindforge/knowledge-graph.md +37 -0
- package/.claude/commands/mindforge/lakehouse.md +31 -0
- package/.claude/commands/mindforge/lead.md +31 -0
- package/.claude/commands/mindforge/learn-instinct.md +58 -0
- package/.claude/commands/mindforge/learn.md +147 -0
- package/.claude/commands/mindforge/learning.md +20 -0
- package/.claude/commands/mindforge/llm-route.md +37 -0
- package/.claude/commands/mindforge/load-test.md +30 -0
- package/.claude/commands/mindforge/logistics.md +31 -0
- package/.claude/commands/mindforge/map-codebase.md +302 -0
- package/.claude/commands/mindforge/market-research.md +94 -0
- package/.claude/commands/mindforge/marketplace.md +124 -0
- package/.claude/commands/mindforge/mcp-server.md +88 -0
- package/.claude/commands/mindforge/meeting-design.md +37 -0
- package/.claude/commands/mindforge/metrics.md +26 -0
- package/.claude/commands/mindforge/microservices.md +64 -0
- package/.claude/commands/mindforge/migrate.md +44 -0
- package/.claude/commands/mindforge/migration-mgmt.md +31 -0
- package/.claude/commands/mindforge/milestone.md +16 -0
- package/.claude/commands/mindforge/mobile.md +37 -0
- package/.claude/commands/mindforge/monorepo.md +30 -0
- package/.claude/commands/mindforge/multi-tenant.md +31 -0
- package/.claude/commands/mindforge/multimodal.md +37 -0
- package/.claude/commands/mindforge/new-runtime.md +23 -0
- package/.claude/commands/mindforge/next.md +109 -0
- package/.claude/commands/mindforge/note.md +35 -0
- package/.claude/commands/mindforge/observability-platform.md +31 -0
- package/.claude/commands/mindforge/observability.md +75 -0
- package/.claude/commands/mindforge/offline.md +37 -0
- package/.claude/commands/mindforge/onboard.md +37 -0
- package/.claude/commands/mindforge/orchestrate.md +74 -0
- package/.claude/commands/mindforge/payments.md +28 -0
- package/.claude/commands/mindforge/pipeline.md +84 -0
- package/.claude/commands/mindforge/plan-phase.md +131 -0
- package/.claude/commands/mindforge/plan-write.md +95 -0
- package/.claude/commands/mindforge/plant-seed.md +31 -0
- package/.claude/commands/mindforge/platform.md +31 -0
- package/.claude/commands/mindforge/plugins.md +44 -0
- package/.claude/commands/mindforge/pr-review.md +45 -0
- package/.claude/commands/mindforge/privacy-eng.md +31 -0
- package/.claude/commands/mindforge/product-spec.md +90 -0
- package/.claude/commands/mindforge/profile-team.md +27 -0
- package/.claude/commands/mindforge/prompt.md +78 -0
- package/.claude/commands/mindforge/proofread.md +87 -0
- package/.claude/commands/mindforge/publish-skill.md +23 -0
- package/.claude/commands/mindforge/push-notify.md +37 -0
- package/.claude/commands/mindforge/pwa.md +37 -0
- package/.claude/commands/mindforge/qa.md +20 -0
- package/.claude/commands/mindforge/quality-audit.md +34 -0
- package/.claude/commands/mindforge/queue.md +31 -0
- package/.claude/commands/mindforge/quick.md +139 -0
- package/.claude/commands/mindforge/rag.md +30 -0
- package/.claude/commands/mindforge/rate-limit.md +31 -0
- package/.claude/commands/mindforge/react-native.md +37 -0
- package/.claude/commands/mindforge/realtime-analytics.md +31 -0
- package/.claude/commands/mindforge/record-learning.md +22 -0
- package/.claude/commands/mindforge/release.md +14 -0
- package/.claude/commands/mindforge/remember.md +30 -0
- package/.claude/commands/mindforge/research.md +16 -0
- package/.claude/commands/mindforge/retro.md +28 -0
- package/.claude/commands/mindforge/retrospective.md +31 -0
- package/.claude/commands/mindforge/review-backlog.md +34 -0
- package/.claude/commands/mindforge/review-guide.md +63 -0
- package/.claude/commands/mindforge/review.md +161 -0
- package/.claude/commands/mindforge/rfc.md +34 -0
- package/.claude/commands/mindforge/santa.md +33 -0
- package/.claude/commands/mindforge/secrets-mgmt.md +31 -0
- package/.claude/commands/mindforge/secrets.md +31 -0
- package/.claude/commands/mindforge/security-scan.md +242 -0
- package/.claude/commands/mindforge/serverless.md +34 -0
- package/.claude/commands/mindforge/session-report.md +39 -0
- package/.claude/commands/mindforge/ship.md +111 -0
- package/.claude/commands/mindforge/skills.md +145 -0
- package/.claude/commands/mindforge/status.md +113 -0
- package/.claude/commands/mindforge/steer.md +17 -0
- package/.claude/commands/mindforge/stream.md +31 -0
- package/.claude/commands/mindforge/sync-confluence.md +15 -0
- package/.claude/commands/mindforge/sync-jira.md +16 -0
- package/.claude/commands/mindforge/system-design.md +87 -0
- package/.claude/commands/mindforge/team-topology.md +27 -0
- package/.claude/commands/mindforge/tech-debt.md +31 -0
- package/.claude/commands/mindforge/tech-radar.md +28 -0
- package/.claude/commands/mindforge/threat-model.md +48 -0
- package/.claude/commands/mindforge/tokens.md +12 -0
- package/.claude/commands/mindforge/ui-phase.md +34 -0
- package/.claude/commands/mindforge/ui-review.md +36 -0
- package/.claude/commands/mindforge/update.md +46 -0
- package/.claude/commands/mindforge/validate-phase.md +31 -0
- package/.claude/commands/mindforge/verify-loop.md +45 -0
- package/.claude/commands/mindforge/verify-phase.md +66 -0
- package/.claude/commands/mindforge/vibe-check.md +37 -0
- package/.claude/commands/mindforge/workspace.md +33 -0
- package/.claude/commands/mindforge/workstreams.md +35 -0
- package/.claude/commands/mindforge/worktrees.md +86 -0
- package/.claude/commands/mindforge/write-rfc.md +64 -0
- package/.claude/commands/mindforge/zero-trust.md +34 -0
- package/.mindforge/config.json +2 -2
- package/.mindforge/governance/GOVERNANCE-CONFIG.md +17 -0
- package/.mindforge/governance/approval-workflow.md +37 -0
- package/.mindforge/governance/change-classifier.md +63 -0
- package/.mindforge/governance/compliance-gates.md +31 -0
- package/.mindforge/governance/policies/sovereign-default.json +16 -0
- package/.mindforge/integrations/confluence.md +27 -0
- package/.mindforge/integrations/connection-manager.md +163 -0
- package/.mindforge/integrations/github.md +25 -0
- package/.mindforge/integrations/gitlab.md +13 -0
- package/.mindforge/integrations/jira.md +102 -0
- package/.mindforge/integrations/slack.md +41 -0
- package/.mindforge/intelligence/antipattern-detector.md +75 -0
- package/.mindforge/intelligence/difficulty-scorer.md +55 -0
- package/.mindforge/intelligence/health-engine.md +208 -0
- package/.mindforge/intelligence/skill-gap-analyser.md +40 -0
- package/.mindforge/intelligence/smart-compaction.md +71 -0
- package/.mindforge/memory/MEMORY-SCHEMA.md +155 -0
- package/.mindforge/memory/engine/capture-protocol.md +36 -0
- package/.mindforge/memory/engine/global-sync-spec.md +42 -0
- package/.mindforge/memory/engine/retrieval-spec.md +44 -0
- package/.mindforge/memory/sync-manifest.json +6 -0
- package/.mindforge/metrics/METRICS-SCHEMA.md +42 -0
- package/.mindforge/metrics/quality-tracker.md +32 -0
- package/.mindforge/models/model-registry.md +48 -0
- package/.mindforge/models/model-router.md +30 -0
- package/.mindforge/org/CONVENTIONS.md +62 -0
- package/.mindforge/org/ORG.md +51 -0
- package/.mindforge/org/SECURITY.md +50 -0
- package/.mindforge/org/TOOLS.md +53 -0
- package/.mindforge/org/integrations/INTEGRATIONS-CONFIG.md +58 -0
- package/.mindforge/org/skills/MANIFEST.md +255 -0
- package/.mindforge/plugins/PLUGINS-MANIFEST.md +23 -0
- package/.mindforge/plugins/plugin-loader.md +93 -0
- package/.mindforge/plugins/plugin-registry.md +44 -0
- package/.mindforge/plugins/plugin-schema.md +68 -0
- package/.mindforge/team/TEAM-PROFILE.md +42 -0
- package/.mindforge/team/multi-handoff.md +23 -0
- package/.mindforge/team/profiles/README.md +13 -0
- package/.mindforge/team/session-merger.md +18 -0
- package/CHANGELOG.md +37 -0
- package/MINDFORGE.md +3 -3
- package/bin/installer-core.js +17 -11
- package/docs/References/audit-events.md +59 -0
- package/docs/References/checkpoints.md +778 -0
- package/docs/References/commands.md +107 -0
- package/docs/References/config-reference.md +122 -0
- package/docs/References/continuation-format.md +249 -0
- package/docs/References/decimal-phase-calculation.md +64 -0
- package/docs/References/git-integration.md +295 -0
- package/docs/References/git-planning-commit.md +38 -0
- package/docs/References/model-profile-resolution.md +36 -0
- package/docs/References/model-profiles.md +139 -0
- package/docs/References/phase-argument-parsing.md +61 -0
- package/docs/References/planning-config.md +202 -0
- package/docs/References/questioning.md +162 -0
- package/docs/References/sdk-api.md +53 -0
- package/docs/References/skills-api.md +57 -0
- package/docs/References/tdd.md +263 -0
- package/docs/References/ui-brand.md +160 -0
- package/docs/References/user-profiling.md +681 -0
- package/docs/References/verification-patterns.md +612 -0
- package/docs/References/workstream-flag.md +58 -0
- package/docs/Templates/Agents/CLAUDE-MD.md +122 -0
- package/docs/Templates/Agents/COPILOT-INSTRUCTIONS.md +7 -0
- package/docs/Templates/Agents/DEBUGGER-PROMPT.md +91 -0
- package/docs/Templates/Agents/PLANNER-PROMPT.md +117 -0
- package/docs/Templates/Codebase/architecture.md +255 -0
- package/docs/Templates/Codebase/concerns.md +310 -0
- package/docs/Templates/Codebase/conventions.md +307 -0
- package/docs/Templates/Codebase/integrations.md +280 -0
- package/docs/Templates/Codebase/stack.md +186 -0
- package/docs/Templates/Codebase/structure.md +285 -0
- package/docs/Templates/Codebase/testing.md +480 -0
- package/docs/Templates/Execution/CONTINUE-HERE.md +78 -0
- package/docs/Templates/Execution/DISCUSSION-LOG.md +63 -0
- package/docs/Templates/Execution/PHASE-PROMPT.md +610 -0
- package/docs/Templates/Execution/STATE.md +176 -0
- package/docs/Templates/Execution/SUMMARY-COMPLEX.md +59 -0
- package/docs/Templates/Execution/SUMMARY-MINIMAL.md +41 -0
- package/docs/Templates/Execution/SUMMARY-STANDARD.md +48 -0
- package/docs/Templates/Execution/SUMMARY.md +248 -0
- package/docs/Templates/Profile/DEV-PREFERENCES.md +21 -0
- package/docs/Templates/Profile/USER-PROFILE.md +146 -0
- package/docs/Templates/Profile/USER-SETUP.md +311 -0
- package/docs/Templates/Project/AGENTS_LEARNING.md +88 -0
- package/docs/Templates/Project/DISCOVERY.md +146 -0
- package/docs/Templates/Project/MILESTONE-ARCHIVE.md +123 -0
- package/docs/Templates/Project/MILESTONE.md +115 -0
- package/docs/Templates/Project/PROJECT.md +206 -0
- package/docs/Templates/Project/REQUIREMENTS.md +231 -0
- package/docs/Templates/Project/RETROSPECTIVE.md +54 -0
- package/docs/Templates/Project/ROADMAP.md +202 -0
- package/docs/Templates/Quality/DEBUG.md +164 -0
- package/docs/Templates/Quality/UAT.md +280 -0
- package/docs/Templates/Quality/UI-SPEC.md +100 -0
- package/docs/Templates/Quality/VALIDATION.md +76 -0
- package/docs/Templates/Quality/VERIFICATION-REPORT.md +322 -0
- package/docs/Templates/Research/ARCHITECTURE.md +204 -0
- package/docs/Templates/Research/FEATURES.md +147 -0
- package/docs/Templates/Research/PITFALLS.md +200 -0
- package/docs/Templates/Research/STACK.md +120 -0
- package/docs/Templates/Research/SUMMARY.md +170 -0
- package/docs/Templates/System/CONFIG.json +43 -0
- package/docs/Templates/System/CONTEXT.md +352 -0
- package/examples/starter-project/.planning/ARCHITECTURE.md +23 -0
- package/examples/starter-project/.planning/RELEASE-CHECKLIST.md +22 -0
- package/examples/starter-project/.planning/REQUIREMENTS.md +31 -0
- package/examples/starter-project/.planning/ROADMAP.md +28 -0
- package/package.json +22 -3
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mindforge:workstreams
|
|
3
|
+
description: Manage parallel feature tracks with isolated state
|
|
4
|
+
argument-hint: [list|create|switch|status|complete]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- list_dir
|
|
7
|
+
- view_file
|
|
8
|
+
- write_to_file
|
|
9
|
+
- run_command
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Enable developers to work on multiple features or bugs concurrently within the same codebase without state collision. Provides isolated tracking for each "workstream".
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<execution_context>
|
|
17
|
+
.claude/commands/mindforge/workstreams.md
|
|
18
|
+
</execution_context>
|
|
19
|
+
|
|
20
|
+
<context>
|
|
21
|
+
Arguments: $ARGUMENTS (Switch subcommand)
|
|
22
|
+
Storage: .planning/workstreams/
|
|
23
|
+
State: Each workstream maintains its own subset of `STATE.md` or a local context file.
|
|
24
|
+
</context>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
1. **Route Subcommand**:
|
|
28
|
+
- `list`: Show all active and archived workstreams in `.planning/workstreams/`.
|
|
29
|
+
- `create <name>`: Initialize a new workstream directory and baseline state.
|
|
30
|
+
- `switch <name>`: Update the global pointer in `STATE.md` to the targeted workstream.
|
|
31
|
+
- `status`: Show the current active workstream and its progress.
|
|
32
|
+
2. **Manage Isolation**:
|
|
33
|
+
- When switching, ensure current work is saved or stashed if necessary.
|
|
34
|
+
3. **Confirm**: Success/Failure status message to user.
|
|
35
|
+
</process>
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Manage parallel git worktrees for isolated concurrent work. Usage: /mindforge:worktrees [create|list|remove|cleanup] [--name feature-name]"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Manage git worktrees to enable parallel, isolated development streams — creating, listing, removing, and cleaning up worktrees with proper branch hygiene and state management.
|
|
7
|
+
</objective>
|
|
8
|
+
|
|
9
|
+
<execution_context>
|
|
10
|
+
@.mindforge/skills/using-git-worktrees/SKILL.md
|
|
11
|
+
</execution_context>
|
|
12
|
+
|
|
13
|
+
<context>
|
|
14
|
+
Arguments: $ARGUMENTS (action: create|list|remove|cleanup, optional --name for branch/worktree name)
|
|
15
|
+
Knowledge: Current git state, active branches, remote tracking status, .planning/STATE.md.
|
|
16
|
+
</context>
|
|
17
|
+
|
|
18
|
+
<process>
|
|
19
|
+
1. **Parse action**: Determine the requested operation:
|
|
20
|
+
- `create` — Create a new worktree with an associated branch
|
|
21
|
+
- `list` — Show all active worktrees with status
|
|
22
|
+
- `remove` — Remove a specific worktree and optionally its branch
|
|
23
|
+
- `cleanup` — Find and remove stale/orphaned worktrees
|
|
24
|
+
- If no action specified, default to `list`
|
|
25
|
+
|
|
26
|
+
2. **Verify branch availability** (for create):
|
|
27
|
+
- Check if --name branch already exists locally or remotely
|
|
28
|
+
- If exists locally: offer to reuse or create with suffix
|
|
29
|
+
- If exists remotely but not locally: offer to track
|
|
30
|
+
- If doesn't exist: proceed with creation
|
|
31
|
+
- Validate branch name follows conventions (feat/, fix/, etc.)
|
|
32
|
+
|
|
33
|
+
3. **Execute worktree operation**:
|
|
34
|
+
- **create**: `git worktree add ../[repo]-[name] -b [branch-name] [base-branch]`
|
|
35
|
+
- Base branch defaults to main/master unless specified
|
|
36
|
+
- Worktree directory placed adjacent to main repo
|
|
37
|
+
- Copy relevant config files (.env.local, .tool-versions) if they exist
|
|
38
|
+
- **list**: `git worktree list --porcelain` parsed into readable table
|
|
39
|
+
- **remove**: `git worktree remove [path]` with force flag if dirty
|
|
40
|
+
- **cleanup**: `git worktree prune` + scan for orphaned directories
|
|
41
|
+
|
|
42
|
+
4. **Confirm isolation**: After create, verify the worktree is properly isolated:
|
|
43
|
+
- Confirm separate working directory exists
|
|
44
|
+
- Confirm branch is checked out in new worktree
|
|
45
|
+
- Confirm no shared lock files between worktrees
|
|
46
|
+
- Verify node_modules/venv are independent (or symlinked appropriately)
|
|
47
|
+
- Run basic sanity check (git status in new worktree shows clean state)
|
|
48
|
+
|
|
49
|
+
5. **Setup worktree environment** (for create):
|
|
50
|
+
- Install dependencies if package manager lockfile exists
|
|
51
|
+
- Copy local-only config (.env.local, .env.development.local)
|
|
52
|
+
- Initialize any required local state (database migrations, etc.)
|
|
53
|
+
- Set up IDE/editor workspace if workspace files exist
|
|
54
|
+
|
|
55
|
+
6. **Report status**: Output clear status information:
|
|
56
|
+
- For `list`: Table with columns [Path | Branch | Last Commit | Status (clean/dirty)]
|
|
57
|
+
- For `create`: Full path to new worktree, branch name, base commit
|
|
58
|
+
- For `remove`: Confirmation of removal, whether branch was also deleted
|
|
59
|
+
- For `cleanup`: Count of pruned worktrees, freed disk space estimate
|
|
60
|
+
|
|
61
|
+
7. **Cleanup stale worktrees** (for cleanup action):
|
|
62
|
+
- Run `git worktree prune` to remove references to deleted directories
|
|
63
|
+
- Scan for worktree directories that still exist but have no matching git reference
|
|
64
|
+
- Identify branches associated with merged PRs (safe to remove)
|
|
65
|
+
- Present list for user confirmation before deletion
|
|
66
|
+
- Remove node_modules/build artifacts in stale worktrees to free space
|
|
67
|
+
|
|
68
|
+
8. **Update MindForge state**: Record worktree operations:
|
|
69
|
+
- Log active worktrees in `.planning/WORKTREES.md`
|
|
70
|
+
- Track which task/phase each worktree is associated with
|
|
71
|
+
- Note creation date and last activity date
|
|
72
|
+
- Flag worktrees inactive for >7 days as candidates for cleanup
|
|
73
|
+
|
|
74
|
+
9. **Handle edge cases**:
|
|
75
|
+
- Worktree on a branch that was force-pushed: detect and offer rebase
|
|
76
|
+
- Worktree with uncommitted changes on remove: warn and require --force
|
|
77
|
+
- Maximum worktree count (suggest limit of 5 to avoid confusion)
|
|
78
|
+
- Disk space check before creating (warn if <2GB available)
|
|
79
|
+
|
|
80
|
+
10. **Output helper commands**: Provide convenience shortcuts:
|
|
81
|
+
- Command to cd into the new worktree
|
|
82
|
+
- Command to open worktree in new editor window
|
|
83
|
+
- Command to run tests in the worktree
|
|
84
|
+
- Reminder of how to switch back to main worktree
|
|
85
|
+
- Git commands for merging worktree branch back
|
|
86
|
+
</process>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Author technical RFC or design document. Usage: /mindforge:write-rfc [title] [--template rfc|adr|design-doc|runbook]"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Author a structured technical RFC or design document using the appropriate template, written for a cold reader with code examples and clear trade-off analysis.
|
|
7
|
+
</objective>
|
|
8
|
+
|
|
9
|
+
<execution_context>
|
|
10
|
+
@.mindforge/skills/technical-writing/SKILL.md
|
|
11
|
+
</execution_context>
|
|
12
|
+
|
|
13
|
+
<context>
|
|
14
|
+
Arguments: $ARGUMENTS (document title, optional --template rfc|adr|design-doc|runbook)
|
|
15
|
+
Knowledge: Current architecture, existing RFCs/ADRs, team conventions, technical constraints.
|
|
16
|
+
</context>
|
|
17
|
+
|
|
18
|
+
<process>
|
|
19
|
+
1. **Select template**: Based on --template flag or document purpose:
|
|
20
|
+
- **RFC**: Full proposal for significant system changes (new service, protocol change, major refactor)
|
|
21
|
+
- **ADR**: Concise architectural decision record (single decision with context and consequences)
|
|
22
|
+
- **Design Doc**: Detailed technical design for a feature (implementation-focused)
|
|
23
|
+
- **Runbook**: Operational procedure for handling incidents or maintenance tasks
|
|
24
|
+
- Each template has a defined structure — never deviate from it
|
|
25
|
+
|
|
26
|
+
2. **Fill structure**: Populate the selected template:
|
|
27
|
+
- **RFC structure**: Title → Status (Draft/Proposed/Accepted/Rejected) → Summary (2-3 sentences) → Motivation (why now, what problem) → Detailed Design (how it works) → Drawbacks (honest downsides) → Alternatives Considered (what else was evaluated) → Open Questions (unresolved decisions) → References
|
|
28
|
+
- **ADR structure**: Title → Date → Status → Context (forces at play) → Decision (what we chose) → Consequences (positive, negative, neutral)
|
|
29
|
+
- **Design Doc structure**: Title → Authors → Reviewers → Summary → Background → Goals/Non-Goals → Design → Implementation Plan → Testing Strategy → Rollout Plan → Monitoring → Open Questions
|
|
30
|
+
- **Runbook structure**: Title → When to Use → Prerequisites → Steps (numbered, exact commands) → Verification → Rollback → Escalation → Post-Incident
|
|
31
|
+
|
|
32
|
+
3. **Write for cold reader**: Ensure accessibility:
|
|
33
|
+
- Define all acronyms on first use
|
|
34
|
+
- Provide context before technical details (why before how)
|
|
35
|
+
- Use diagrams to explain complex flows (ASCII art or description)
|
|
36
|
+
- Link to relevant existing documentation (don't repeat, reference)
|
|
37
|
+
- Write in active voice, present tense
|
|
38
|
+
- One idea per paragraph, one decision per section
|
|
39
|
+
- Assume the reader has general engineering knowledge but no project-specific context
|
|
40
|
+
|
|
41
|
+
4. **Add code examples**: Include concrete implementations:
|
|
42
|
+
- Minimal working examples (not pseudocode — real, runnable code)
|
|
43
|
+
- API usage examples showing request and response
|
|
44
|
+
- Configuration snippets with comments explaining each field
|
|
45
|
+
- Error handling examples (not just happy path)
|
|
46
|
+
- Before/after comparisons for migration-type changes
|
|
47
|
+
- Keep examples short (< 30 lines) — link to full implementation if longer
|
|
48
|
+
|
|
49
|
+
5. **Review completeness**: Validate the document:
|
|
50
|
+
- Does the Summary stand alone? (reader should understand the proposal from Summary only)
|
|
51
|
+
- Are all trade-offs honestly stated? (no strawman alternatives)
|
|
52
|
+
- Are success criteria defined? (how do we know this worked?)
|
|
53
|
+
- Are failure modes addressed? (what if this goes wrong?)
|
|
54
|
+
- Is the scope clear? (what is explicitly NOT covered?)
|
|
55
|
+
- Are dependencies identified? (what must exist before this can proceed?)
|
|
56
|
+
- Is there a timeline? (when should this be decided/implemented?)
|
|
57
|
+
|
|
58
|
+
6. **Submit for feedback**: Prepare for review:
|
|
59
|
+
- Identify reviewers (domain experts, stakeholders, implementers)
|
|
60
|
+
- Highlight open questions that need input
|
|
61
|
+
- Set review deadline (1 week for RFC, 3 days for ADR)
|
|
62
|
+
- Define approval criteria (who must approve, what constitutes consensus)
|
|
63
|
+
- Output the complete document in the appropriate location (.planning/rfcs/ or .planning/decisions/)
|
|
64
|
+
</process>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mindforge:zero-trust
|
|
3
|
+
description: "Design zero-trust network architecture. Usage: /mindforge:zero-trust [system] [--scope internal|external|both] [--mtls]"
|
|
4
|
+
argument-hint: "[system] [--scope internal|external|both] [--mtls]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- list_dir
|
|
7
|
+
- view_file
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<objective>
|
|
11
|
+
Design a zero-trust network architecture that eliminates implicit trust, enforces continuous verification for every communication flow, and implements micro-segmentation with identity-based access control.
|
|
12
|
+
</objective>
|
|
13
|
+
|
|
14
|
+
<execution_context>
|
|
15
|
+
@.mindforge/skills/zero-trust-architecture/SKILL.md
|
|
16
|
+
</execution_context>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
Skills Directory: `.mindforge/skills/zero-trust-architecture/`
|
|
20
|
+
State: Inventories all system communication flows and applies identity verification, mTLS, and micro-segmentation policies.
|
|
21
|
+
</context>
|
|
22
|
+
|
|
23
|
+
<process>
|
|
24
|
+
1. **Inventory All Communication Flows**: Map every service-to-service, user-to-service, and external integration communication path. Include direction, protocol, port, and data sensitivity classification.
|
|
25
|
+
2. **Classify by Sensitivity**: Assign trust tiers (critical, sensitive, standard) to each flow based on data classification, blast radius, and regulatory requirements. Critical flows get the strictest controls.
|
|
26
|
+
3. **Implement Identity Verification Per Flow**: Require cryptographic identity proof for every request — no request is trusted based on network location alone. Use SPIFFE/SPIRE or equivalent workload identity framework.
|
|
27
|
+
4. **Enable mTLS for Service-to-Service**: Configure mutual TLS for all internal service communication. Automate certificate rotation with short-lived certificates (hours, not months). Define CA hierarchy.
|
|
28
|
+
5. **Configure Micro-Segmentation Policies**: Replace flat network trust with fine-grained allow-list policies. Each service can only communicate with explicitly authorized peers on explicitly authorized ports.
|
|
29
|
+
6. **Add Device Posture Checks**: For user-facing access, verify device health (OS patch level, disk encryption, endpoint protection) before granting access. Degrade gracefully for non-compliant devices.
|
|
30
|
+
7. **Remove Implicit Trust**: Eliminate VPN-equals-trust model. Being on the corporate network grants zero additional privileges. All access requires explicit authentication and authorization regardless of network origin.
|
|
31
|
+
8. **Set Up Continuous Verification**: Implement session re-validation at regular intervals. Monitor for anomalous behavior patterns and trigger step-up authentication or session termination on drift detection.
|
|
32
|
+
9. **Document Access Policies**: Produce a comprehensive policy matrix mapping identities to resources with conditions. Store policies as code for version control, audit, and automated enforcement.
|
|
33
|
+
10. **Validate with Penetration Testing**: Design adversarial tests that simulate lateral movement, credential theft, and privilege escalation to verify zero-trust controls prevent blast radius expansion.
|
|
34
|
+
</process>
|
package/.mindforge/config.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "11.3.
|
|
2
|
+
"version": "11.3.1",
|
|
3
3
|
"environment": "development",
|
|
4
4
|
"governance": {
|
|
5
5
|
"drift_threshold": 0.75,
|
|
6
6
|
"critical_drift_threshold": 0.5,
|
|
7
7
|
"res_threshold": 0.8,
|
|
8
|
-
"active_did": "did:mindforge:
|
|
8
|
+
"active_did": "did:mindforge:39723c91-8532-400f-855f-720ec0a5387c"
|
|
9
9
|
},
|
|
10
10
|
"revops": {
|
|
11
11
|
"market_registry": {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# MindForge Governance Configuration
|
|
2
|
+
|
|
3
|
+
## Tier policy
|
|
4
|
+
- Tier 1: low-risk documentation or isolated code cleanup
|
|
5
|
+
- Tier 2: broader product or operational changes
|
|
6
|
+
- Tier 3: security, privacy, auth, secrets, payments, compliance, or emergency
|
|
7
|
+
|
|
8
|
+
## Enforcement rules
|
|
9
|
+
- Tier 3 signals have higher priority than file-count heuristics
|
|
10
|
+
- Compliance gates are blocking
|
|
11
|
+
- Integration failures are non-fatal unless they prevent a required approval or
|
|
12
|
+
compliance decision from being observed
|
|
13
|
+
|
|
14
|
+
## Record locations
|
|
15
|
+
- Approval files: `.planning/approvals/`
|
|
16
|
+
- Audit archive: `.planning/audit-archive/`
|
|
17
|
+
- Milestones: `.planning/milestones/`
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# MindForge Governance — Approval Workflow
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Define the human approval process for Tier 2 peer review, Tier 3
|
|
5
|
+
security/compliance review, and emergency override handling.
|
|
6
|
+
|
|
7
|
+
## Approval sources
|
|
8
|
+
Approvals are represented as files in `.planning/approvals/`. Commands must list
|
|
9
|
+
only `status: pending` approval requests by default.
|
|
10
|
+
|
|
11
|
+
## Identity model
|
|
12
|
+
Current approver identity is derived from `git config user.email` or `$USER`.
|
|
13
|
+
This is convenient but spoofable. For higher-assurance environments, integrate
|
|
14
|
+
the approval flow with your IdP or SCM identity provider.
|
|
15
|
+
|
|
16
|
+
## Standard workflow
|
|
17
|
+
1. Classifier determines tier
|
|
18
|
+
2. Create approval file with reason, scope, diff summary, and expiry time
|
|
19
|
+
3. Notify configured approvers
|
|
20
|
+
4. Record approval or rejection
|
|
21
|
+
5. On rejection, create a fix task that carries the rejection reason forward
|
|
22
|
+
6. Re-request approval only after the rejection reason has been addressed
|
|
23
|
+
|
|
24
|
+
## Expiry and SLA handling
|
|
25
|
+
Expiry processing is session-dependent. If no MindForge session is active, an
|
|
26
|
+
expired approval will be detected the next time the approval command runs.
|
|
27
|
+
|
|
28
|
+
Use config-driven values from `INTEGRATIONS-CONFIG.md`:
|
|
29
|
+
- `TIER2_APPROVERS`
|
|
30
|
+
- `TIER3_APPROVERS`
|
|
31
|
+
- `EMERGENCY_APPROVERS`
|
|
32
|
+
- SLA and expiry hour settings
|
|
33
|
+
|
|
34
|
+
## Emergency override
|
|
35
|
+
Emergency approval requires the `--emergency` flag and an approver identity that
|
|
36
|
+
appears in `EMERGENCY_APPROVERS`. Log the approver identity and rationale in
|
|
37
|
+
AUDIT. Emergency override bypass is never implicit.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# MindForge Governance — Change Classifier
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Assign each change a governance tier before execution and again before release.
|
|
5
|
+
Tier 3 signals always override lower-risk heuristics.
|
|
6
|
+
|
|
7
|
+
## Trigger points
|
|
8
|
+
- Before each plan executes
|
|
9
|
+
- Before PR or merge request creation
|
|
10
|
+
- Before emergency override requests are processed
|
|
11
|
+
|
|
12
|
+
## Tier model
|
|
13
|
+
|
|
14
|
+
| Tier | Meaning | Approval requirement |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| 1 | Low-risk documentation or isolated refactor | none |
|
|
17
|
+
| 2 | Broad change, cross-cutting impact, or moderate operational risk | peer approval |
|
|
18
|
+
| 3 | Security, privacy, auth, payment, secrets, or compliance-sensitive | security/compliance approval |
|
|
19
|
+
|
|
20
|
+
## Step 1 — Base heuristics
|
|
21
|
+
- More than 10 files or more than 300 lines changed defaults to Tier 2
|
|
22
|
+
- Infra, deployment, or schema changes default to at least Tier 2
|
|
23
|
+
- File count is only a signal; it never downgrades a Tier 3 match
|
|
24
|
+
|
|
25
|
+
## Step 2 — Apply Tier 3 rules first
|
|
26
|
+
Tier 3 uses three independent signals. Any one match makes the change Tier 3.
|
|
27
|
+
|
|
28
|
+
### Signal A — File path patterns
|
|
29
|
+
Security-critical directories and files:
|
|
30
|
+
`auth/`, `security/`, `payment/`, `billing/`, `privacy/`, `crypto/`, `secrets/`
|
|
31
|
+
|
|
32
|
+
Security-critical names:
|
|
33
|
+
`login.ts`, `logout.ts`, `token.ts`, `password.ts`, `credentials.ts`,
|
|
34
|
+
`session.ts`, `oauth.ts`, `jwt.ts`, `hash.ts`, `encrypt.ts`, `stripe.ts`,
|
|
35
|
+
`payment.ts`, `billing.ts`, `pii.ts`, `consent.ts`
|
|
36
|
+
|
|
37
|
+
### Signal B — Code content patterns
|
|
38
|
+
Scan the actual diff content, not only filenames, for patterns such as:
|
|
39
|
+
`bcrypt`, `argon2`, `jwt.sign`, `jwt.verify`, `jose.sign`, `jose.verify`,
|
|
40
|
+
`stripe.`, `paypal.`, `createCipheriv`, `createDecipheriv`, `crypto.subtle`,
|
|
41
|
+
`hashPassword`, `verifyPassword`, `encrypt(`, `decrypt(`, `role.*permission`,
|
|
42
|
+
`hasPermission`, `SET ROLE`, `GRANT`
|
|
43
|
+
|
|
44
|
+
This protects against security-critical code being added to innocuous filenames
|
|
45
|
+
like `src/utils/helper.ts`.
|
|
46
|
+
|
|
47
|
+
### Signal C — AUDIT history patterns
|
|
48
|
+
If the current phase has a recent HIGH or CRITICAL `security_finding`, the next
|
|
49
|
+
change in that phase is elevated to Tier 3 automatically.
|
|
50
|
+
|
|
51
|
+
## Classification audit entry
|
|
52
|
+
Record why the tier was selected:
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"event": "change_classified",
|
|
57
|
+
"tier": 3,
|
|
58
|
+
"classification_reason": "code pattern: jwt.sign found in src/utils/helper.ts",
|
|
59
|
+
"signals_checked": ["file_path", "code_content", "audit_history"],
|
|
60
|
+
"signal_triggered": "code_content",
|
|
61
|
+
"pattern_matched": "jwt.sign"
|
|
62
|
+
}
|
|
63
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# MindForge Governance — Compliance Gates
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Apply non-bypassable release gates for secrets, approvals, and privacy controls.
|
|
5
|
+
|
|
6
|
+
## Gate 1 — Required verification
|
|
7
|
+
The plan's verify step and the project test suite must pass.
|
|
8
|
+
|
|
9
|
+
## Gate 2 — Required approvals
|
|
10
|
+
Tier 2 and Tier 3 changes must have approved, non-expired approval records.
|
|
11
|
+
|
|
12
|
+
## Gate 3 — Secret detection
|
|
13
|
+
No real secrets may enter the diff, audit log, or published docs.
|
|
14
|
+
Override is not permitted.
|
|
15
|
+
|
|
16
|
+
For tests that exercise secret detection, use clearly fake patterns that do not
|
|
17
|
+
match production secret regexes, for example `TEST_ONLY_FAKE_KEY_abc123`.
|
|
18
|
+
|
|
19
|
+
## Gate 4 — GDPR/PII compliance check
|
|
20
|
+
This gate runs independently of skill loading.
|
|
21
|
+
|
|
22
|
+
Trigger if the diff adds fields or columns resembling:
|
|
23
|
+
`email`, `phone`, `mobile`, `address`, `postcode`, `zip`, `ssn`, `dob`,
|
|
24
|
+
`birth_date`, `first_name`, `last_name`, `national_id`, `passport`,
|
|
25
|
+
`credit_card`, `bank_account`, `iban`, `bic`
|
|
26
|
+
|
|
27
|
+
If triggered, verify `.planning/ARCHITECTURE.md` documents retention policy for
|
|
28
|
+
the relevant data. If retention is missing:
|
|
29
|
+
- block completion
|
|
30
|
+
- write `compliance_gate_failed` to AUDIT
|
|
31
|
+
- require Tier 3 compliance approval for override
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "SOV-001",
|
|
3
|
+
"name": "Sovereign Default Policy",
|
|
4
|
+
"description": "Enables Sovereign Intelligence v8.1.1 features by default.",
|
|
5
|
+
"effect": "PERMIT",
|
|
6
|
+
"max_impact": 100,
|
|
7
|
+
"conditions": {
|
|
8
|
+
"did": "agent:*",
|
|
9
|
+
"min_tier": 1
|
|
10
|
+
},
|
|
11
|
+
"sovereign_config": {
|
|
12
|
+
"pqas": "ENABLED",
|
|
13
|
+
"proactive_homing": "ENABLED",
|
|
14
|
+
"biometric_threshold": 95
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# MindForge — Confluence Integration
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Publish architecture snapshots, ADRs, and milestone/phase documentation to a
|
|
5
|
+
shared wiki without making Confluence the execution source of truth.
|
|
6
|
+
|
|
7
|
+
## Published artifacts
|
|
8
|
+
|
|
9
|
+
| MindForge artifact | Confluence target |
|
|
10
|
+
|---|---|
|
|
11
|
+
| `.planning/ARCHITECTURE.md` | Architecture overview page |
|
|
12
|
+
| `.planning/decisions/ADR-*.md` | ADR child pages |
|
|
13
|
+
| Phase verification summaries | Sprint or phase pages |
|
|
14
|
+
| Milestone reports | Release or program pages |
|
|
15
|
+
|
|
16
|
+
## Publishing rules
|
|
17
|
+
Use update-by-title or update-by-page-ID so repeated publishes are idempotent.
|
|
18
|
+
Do not create duplicate pages on re-run. If the target exists, update in place
|
|
19
|
+
and preserve the page history.
|
|
20
|
+
|
|
21
|
+
## Data safety
|
|
22
|
+
Confluence publishing must exclude secrets, tokens, raw audit log content, and
|
|
23
|
+
internal-only approver notes. Publish curated summaries, not raw machine state.
|
|
24
|
+
|
|
25
|
+
## Failure handling
|
|
26
|
+
Publishing failures are non-fatal. Log them, append a pending manual action to
|
|
27
|
+
`.planning/STATE.md`, and provide a retry command via `/mindforge:sync-confluence`.
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# MindForge Integrations — Connection Manager
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Centralise credential handling, integration detection, health checks, retry policy,
|
|
5
|
+
and non-fatal failure handling for all external systems. Integrations consume
|
|
6
|
+
connection state from this layer; they do not manage secrets directly.
|
|
7
|
+
|
|
8
|
+
## Credential storage principles
|
|
9
|
+
|
|
10
|
+
### Rule 1 — Never store credentials in MindForge files
|
|
11
|
+
MindForge configuration files may store base URLs, project IDs, channel IDs,
|
|
12
|
+
reviewer lists, and feature flags. They must never contain API tokens,
|
|
13
|
+
passwords, private keys, cookies, or session secrets.
|
|
14
|
+
|
|
15
|
+
### Rule 2 — Use environment variables or an external secrets manager
|
|
16
|
+
Supported variables:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Jira
|
|
20
|
+
JIRA_BASE_URL=https://your-org.atlassian.net
|
|
21
|
+
JIRA_USER_EMAIL=engineer@your-org.com
|
|
22
|
+
JIRA_API_TOKEN=stored-in-environment-only
|
|
23
|
+
|
|
24
|
+
# Confluence
|
|
25
|
+
CONFLUENCE_BASE_URL=https://your-org.atlassian.net/wiki
|
|
26
|
+
CONFLUENCE_API_TOKEN=stored-in-environment-only
|
|
27
|
+
|
|
28
|
+
# Slack
|
|
29
|
+
SLACK_BOT_TOKEN=stored-in-environment-only
|
|
30
|
+
SLACK_WEBHOOK_URL=stored-in-environment-only
|
|
31
|
+
SLACK_CHANNEL_ID=C01234ABCDE
|
|
32
|
+
|
|
33
|
+
# GitHub / GitLab
|
|
34
|
+
GITHUB_TOKEN=stored-in-environment-only
|
|
35
|
+
GITLAB_TOKEN=stored-in-environment-only
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Rule 3 — Audit only non-sensitive metadata
|
|
39
|
+
AUDIT entries may contain integration name, action, status, external IDs,
|
|
40
|
+
attempt counts, and error classes. Never log raw headers, raw response bodies
|
|
41
|
+
containing secrets, or token values.
|
|
42
|
+
|
|
43
|
+
## Availability detection protocol
|
|
44
|
+
|
|
45
|
+
1. Check required environment variables exist.
|
|
46
|
+
2. Read `.mindforge/org/integrations/INTEGRATIONS-CONFIG.md` for required
|
|
47
|
+
non-sensitive settings.
|
|
48
|
+
3. Run one lightweight health check per integration.
|
|
49
|
+
4. Return one of these states:
|
|
50
|
+
|
|
51
|
+
| State | Meaning | Behaviour |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `available` | Credentials present and health check passed | Proceed |
|
|
54
|
+
| `unconfigured` | Credentials missing | Skip, log AUDIT |
|
|
55
|
+
| `invalid_credentials` | Auth failed with 401/403 | Warn, log AUDIT, stop retries |
|
|
56
|
+
| `unreachable` | DNS, timeout, or 5xx | Retry up to policy, then warn |
|
|
57
|
+
| `rate_limited` | 429 | Respect `Retry-After`, retry once, then stop |
|
|
58
|
+
|
|
59
|
+
Missing credentials are usually a graceful skip. Exception: if a CRITICAL
|
|
60
|
+
security finding notification cannot be delivered because Slack is unconfigured,
|
|
61
|
+
write an `Undelivered alerts` section to `.planning/STATE.md` and surface it in
|
|
62
|
+
`/mindforge:status`.
|
|
63
|
+
|
|
64
|
+
## Credential hygiene in shell operations
|
|
65
|
+
|
|
66
|
+
### Preventing token exposure in shell history
|
|
67
|
+
Avoid inline command substitution with secrets. Prefer a function or a temporary
|
|
68
|
+
client-supported credential source:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
build_auth_header() {
|
|
72
|
+
printf '%s' "${1}:${2}" | base64
|
|
73
|
+
}
|
|
74
|
+
AUTH_HEADER=$(build_auth_header "${JIRA_USER_EMAIL}" "${JIRA_API_TOKEN}")
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Unset secrets after the command sequence completes:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
unset JIRA_API_TOKEN
|
|
81
|
+
unset GITHUB_TOKEN
|
|
82
|
+
unset SLACK_BOT_TOKEN
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Debug mode prohibition
|
|
86
|
+
Never run credential-bearing commands with shell tracing enabled:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
set +x
|
|
90
|
+
# credential operations
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
If debugging is needed elsewhere, disable tracing before any command that
|
|
94
|
+
includes an Authorization header or secret-bearing environment variable.
|
|
95
|
+
|
|
96
|
+
### curl verbose mode prohibition
|
|
97
|
+
Never use `curl -v` or `curl --verbose` with authenticated requests. Capture the
|
|
98
|
+
HTTP status code with `-s -o response.json -w "%{http_code}"` and log only
|
|
99
|
+
sanitised error summaries.
|
|
100
|
+
|
|
101
|
+
## Health check examples
|
|
102
|
+
|
|
103
|
+
### Jira
|
|
104
|
+
```bash
|
|
105
|
+
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
|
|
106
|
+
-H "Authorization: Basic ${AUTH_HEADER}" \
|
|
107
|
+
"${JIRA_BASE_URL}/rest/api/3/myself")
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Slack
|
|
111
|
+
Use `auth.test`. If the configured `SLACK_CHANNEL_ID` returns `channel_not_found`
|
|
112
|
+
or a 404-equivalent API error, mark the channel configuration invalid and tell
|
|
113
|
+
the user to update `INTEGRATIONS-CONFIG.md`.
|
|
114
|
+
|
|
115
|
+
### GitHub
|
|
116
|
+
Use `GET /user` with the token. A 404 from branch protection lookup later is not
|
|
117
|
+
a connection error; it means no branch protection is configured.
|
|
118
|
+
|
|
119
|
+
## Credential rotation detection
|
|
120
|
+
If a previously available integration now returns 401/403:
|
|
121
|
+
|
|
122
|
+
1. Write AUDIT entry: `integration_credential_expired`
|
|
123
|
+
2. Warn the user to rotate the relevant credential
|
|
124
|
+
3. Do not retry with the expired credential
|
|
125
|
+
|
|
126
|
+
## Integration resilience: shared patterns for all integrations
|
|
127
|
+
|
|
128
|
+
### Non-fatal integration failures
|
|
129
|
+
Integration failures must never fail the underlying source-code task. They are
|
|
130
|
+
non-fatal unless a compliance gate or required approval is blocked.
|
|
131
|
+
|
|
132
|
+
### Retry policy
|
|
133
|
+
|
|
134
|
+
| Attempt | Delay |
|
|
135
|
+
|---|---|
|
|
136
|
+
| 1 | immediate |
|
|
137
|
+
| 2 | 5 seconds |
|
|
138
|
+
| 3 | 20 seconds |
|
|
139
|
+
|
|
140
|
+
After the third failure:
|
|
141
|
+
1. Log an `integration_action` AUDIT entry with `"status": "failed"` and
|
|
142
|
+
`"attempts": 3`
|
|
143
|
+
2. Add an item to `.planning/STATE.md` under `Pending integration actions`
|
|
144
|
+
3. Provide the manual retry command, for example `/mindforge:sync-jira --phase 3`
|
|
145
|
+
|
|
146
|
+
For 429 responses, obey `Retry-After` when present. If a second 429 occurs,
|
|
147
|
+
stop, log it, and do not retry again.
|
|
148
|
+
|
|
149
|
+
## Integration action logging
|
|
150
|
+
Every sync, publish, notify, approval, or PR operation writes an AUDIT entry:
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"id": "uuid-v4",
|
|
155
|
+
"timestamp": "ISO-8601",
|
|
156
|
+
"event": "integration_action",
|
|
157
|
+
"integration": "jira|confluence|slack|github|gitlab",
|
|
158
|
+
"action": "create_ticket|publish_page|send_notification|create_pr",
|
|
159
|
+
"status": "success|failed|skipped",
|
|
160
|
+
"detail": "brief description",
|
|
161
|
+
"external_id": "service-specific ID"
|
|
162
|
+
}
|
|
163
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# MindForge — GitHub Integration
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Strengthen shipping with PR templates, reviewer assignment guidance, branch
|
|
5
|
+
protection awareness, and release metadata checks.
|
|
6
|
+
|
|
7
|
+
## API policy
|
|
8
|
+
Use GitHub REST API v3 for all required operations. GraphQL is optional for
|
|
9
|
+
advanced queries only and is not required for Day 4.
|
|
10
|
+
|
|
11
|
+
## Pre-flight checks
|
|
12
|
+
|
|
13
|
+
1. Verify the branch has at least one commit ahead of base:
|
|
14
|
+
`git log origin/${GITHUB_DEFAULT_BRANCH}..HEAD --oneline | wc -l`
|
|
15
|
+
2. Query branch protection:
|
|
16
|
+
`GET /repos/{owner}/{repo}/branches/{branch}/protection`
|
|
17
|
+
3. Treat HTTP 404 from the protection endpoint as `no branch protection
|
|
18
|
+
configured`, not as a connection failure.
|
|
19
|
+
|
|
20
|
+
If there are zero commits ahead of base, do not attempt PR creation.
|
|
21
|
+
|
|
22
|
+
## PR creation guidance
|
|
23
|
+
Use `.github/pull_request_template.md` when present, assign default reviewers
|
|
24
|
+
from config, and ensure the PR body links verification artifacts and the
|
|
25
|
+
relevant phase or milestone documents.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# MindForge — GitLab Integration
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Provide GitLab parity for merge request creation, reviewer defaults, and branch
|
|
5
|
+
policy awareness when GitHub is not the source control platform.
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
Day 4 covers configuration and process guidance only:
|
|
9
|
+
- read project and reviewer metadata from `INTEGRATIONS-CONFIG.md`
|
|
10
|
+
- create merge requests with milestone or phase summaries
|
|
11
|
+
- treat integration failures as non-fatal
|
|
12
|
+
|
|
13
|
+
Full API parity with GitHub can be extended in later milestones.
|