mop-flow 0.1.8
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/.MOP/PROTOCOL.md +579 -0
- package/.MOP/STATE.json +668 -0
- package/.MOP/config/defaults.json +55 -0
- package/.MOP/config/team.json +8 -0
- package/.MOP/flow/ROADMAP.md +51 -0
- package/.MOP/flow/skill-manifest.json +645 -0
- package/.MOP/scripts/burhan-mop.mjs +291 -0
- package/.MOP/scripts/mop-auto-deploy.mjs +152 -0
- package/.MOP/scripts/mop-autosycn.mjs +790 -0
- package/.MOP/scripts/mop-core.mjs +1206 -0
- package/.MOP/scripts/mop-flow.mjs +396 -0
- package/.MOP/scripts/mop-smoke-test.mjs +76 -0
- package/.MOP/scripts/mop-workflow.mjs +348 -0
- package/.MOP/templates/artifacts/adversarial-review.md +33 -0
- package/.MOP/templates/artifacts/architecture.md +28 -0
- package/.MOP/templates/artifacts/decision-log.md +21 -0
- package/.MOP/templates/artifacts/handoff.md +21 -0
- package/.MOP/templates/artifacts/implementation-notes.md +21 -0
- package/.MOP/templates/artifacts/prd.md +29 -0
- package/.MOP/templates/artifacts/product-brief.md +30 -0
- package/.MOP/templates/artifacts/readiness-report.md +25 -0
- package/.MOP/templates/artifacts/release-notes.md +21 -0
- package/.MOP/templates/artifacts/review.md +21 -0
- package/.MOP/templates/artifacts/story.md +25 -0
- package/.MOP/templates/artifacts/ux-spec.md +32 -0
- package/.agents/AGENTS.md +85 -0
- package/.agents/skills/auto-deploy/SKILL.md +48 -0
- package/.agents/skills/autosycn/SKILL.md +75 -0
- package/.agents/skills/mop-flow/SKILL.md +53 -0
- package/.agents/skills/mop-help/SKILL.md +35 -0
- package/.agents/skills/ruflo-core/SKILL.md +36 -0
- package/.claude/agents/analysis/analyze-code-quality.md +179 -0
- package/.claude/agents/analysis/code-analyzer.md +210 -0
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +179 -0
- package/.claude/agents/architecture/arch-system-design.md +157 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +155 -0
- package/.claude/agents/browser/browser-agent.yaml +182 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
- package/.claude/agents/consensus/gossip-coordinator.md +63 -0
- package/.claude/agents/consensus/performance-benchmarker.md +851 -0
- package/.claude/agents/consensus/quorum-manager.md +823 -0
- package/.claude/agents/consensus/raft-manager.md +63 -0
- package/.claude/agents/consensus/security-manager.md +622 -0
- package/.claude/agents/core/planner.md +375 -0
- package/.claude/agents/custom/test-long-runner.md +44 -0
- package/.claude/agents/data/data-ml-model.md +445 -0
- package/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude/agents/development/dev-backend-api.md +345 -0
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude/agents/devops/ops-cicd-github.md +165 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude/agents/documentation/docs-api-openapi.md +355 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +377 -0
- package/.claude/agents/github/github-modes.md +173 -0
- package/.claude/agents/github/issue-tracker.md +576 -0
- package/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude/agents/github/pr-manager.md +438 -0
- package/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude/agents/github/release-manager.md +605 -0
- package/.claude/agents/github/release-swarm.md +583 -0
- package/.claude/agents/github/repo-architect.md +398 -0
- package/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude/agents/github/workflow-automation.md +903 -0
- package/.claude/agents/goal/agent.md +816 -0
- package/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude/agents/payments/agentic-payments.md +126 -0
- package/.claude/agents/sona/sona-learning-optimizer.md +74 -0
- package/.claude/agents/sparc/architecture.md +699 -0
- package/.claude/agents/sparc/pseudocode.md +520 -0
- package/.claude/agents/sparc/refinement.md +802 -0
- package/.claude/agents/sparc/specification.md +478 -0
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +225 -0
- package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
- package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
- package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
- package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
- package/.claude/agents/sublinear/performance-optimizer.md +368 -0
- package/.claude/agents/sublinear/trading-predictor.md +246 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +1127 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +710 -0
- package/.claude/agents/swarm/mesh-coordinator.md +963 -0
- package/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude/agents/templates/base-template-generator.md +289 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude/agents/templates/sparc-coordinator.md +514 -0
- package/.claude/agents/testing/production-validator.md +395 -0
- package/.claude/agents/testing/tdd-london-swarm.md +244 -0
- package/.claude/agents/v3/aidefence-guardian.md +282 -0
- package/.claude/agents/v3/claims-authorizer.md +208 -0
- package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
- package/.claude/agents/v3/ddd-domain-expert.md +220 -0
- package/.claude/agents/v3/injection-analyst.md +236 -0
- package/.claude/agents/v3/performance-engineer.md +1233 -0
- package/.claude/agents/v3/pii-detector.md +151 -0
- package/.claude/agents/v3/reasoningbank-learner.md +213 -0
- package/.claude/agents/v3/security-architect-aidefence.md +410 -0
- package/.claude/agents/v3/security-architect.md +867 -0
- package/.claude/agents/v3/swarm-memory-manager.md +157 -0
- package/.claude/agents/v3/v3-integration-architect.md +205 -0
- package/.claude/commands/agents/README.md +50 -0
- package/.claude/commands/agents/agent-capabilities.md +140 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +216 -0
- package/.claude/commands/agents/health.md +139 -0
- package/.claude/commands/agents/list.md +100 -0
- package/.claude/commands/agents/logs.md +130 -0
- package/.claude/commands/agents/metrics.md +122 -0
- package/.claude/commands/agents/pool.md +127 -0
- package/.claude/commands/agents/spawn.md +140 -0
- package/.claude/commands/agents/status.md +115 -0
- package/.claude/commands/agents/stop.md +102 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/claude-flow-help.md +103 -0
- package/.claude/commands/claude-flow-memory.md +107 -0
- package/.claude/commands/claude-flow-swarm.md +205 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +340 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +485 -0
- package/.claude/commands/github/swarm-pr.md +288 -0
- package/.claude/commands/github/sync-coordinator.md +303 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +58 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/ask.md +97 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/code.md +89 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debug.md +83 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/devops.md +109 -0
- package/.claude/commands/sparc/docs-writer.md +80 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/integration.md +83 -0
- package/.claude/commands/sparc/mcp.md +117 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/security-review.md +80 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/sparc.md +111 -0
- package/.claude/commands/sparc/spec-pseudocode.md +80 -0
- package/.claude/commands/sparc/supabase-admin.md +348 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/tutorial.md +79 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +87 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +108 -0
- package/.claude/commands/training/neural-train.md +75 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/helpers/README.md +97 -0
- package/.claude/helpers/adr-compliance.sh +186 -0
- package/.claude/helpers/auto-commit.sh +178 -0
- package/.claude/helpers/auto-memory-hook.mjs +368 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/daemon-manager.sh +252 -0
- package/.claude/helpers/ddd-tracker.sh +144 -0
- package/.claude/helpers/github-safe.js +156 -0
- package/.claude/helpers/github-setup.sh +45 -0
- package/.claude/helpers/guidance-hook.sh +13 -0
- package/.claude/helpers/guidance-hooks.sh +102 -0
- package/.claude/helpers/health-monitor.sh +108 -0
- package/.claude/helpers/hook-handler.cjs +286 -0
- package/.claude/helpers/intelligence.cjs +1031 -0
- package/.claude/helpers/learning-hooks.sh +329 -0
- package/.claude/helpers/learning-optimizer.sh +127 -0
- package/.claude/helpers/learning-service.mjs +1144 -0
- package/.claude/helpers/memory.js +83 -0
- package/.claude/helpers/metrics-db.mjs +488 -0
- package/.claude/helpers/pattern-consolidator.sh +86 -0
- package/.claude/helpers/perf-worker.sh +160 -0
- package/.claude/helpers/post-commit +16 -0
- package/.claude/helpers/pre-commit +26 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/router.js +105 -0
- package/.claude/helpers/ruflo-hook.cjs +59 -0
- package/.claude/helpers/security-scanner.sh +127 -0
- package/.claude/helpers/session.js +157 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
- package/.claude/helpers/statusline-hook.sh +21 -0
- package/.claude/helpers/statusline.cjs +693 -0
- package/.claude/helpers/statusline.js +352 -0
- package/.claude/helpers/swarm-comms.sh +353 -0
- package/.claude/helpers/swarm-hooks.sh +761 -0
- package/.claude/helpers/swarm-monitor.sh +211 -0
- package/.claude/helpers/sync-v3-metrics.sh +245 -0
- package/.claude/helpers/update-v3-progress.sh +166 -0
- package/.claude/helpers/v3-quick-status.sh +58 -0
- package/.claude/helpers/v3.sh +111 -0
- package/.claude/helpers/validate-v3-config.sh +216 -0
- package/.claude/helpers/worker-manager.sh +170 -0
- package/.claude/settings.json +305 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/auto-deploy/SKILL.md +31 -0
- package/.claude/skills/autosycn/SKILL.md +30 -0
- package/.claude/skills/browser/SKILL.md +204 -0
- package/.claude/skills/dual-mode/README.md +71 -0
- package/.claude/skills/dual-mode/dual-collect.md +103 -0
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
- package/.claude/skills/dual-mode/dual-spawn.md +81 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +727 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -0
- package/.claude/skills/github-code-review/SKILL.md +1125 -0
- package/.claude/skills/github-multi-repo/SKILL.md +862 -0
- package/.claude/skills/github-project-management/SKILL.md +1262 -0
- package/.claude/skills/github-release-management/SKILL.md +1064 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1047 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/mop-flow/SKILL.md +53 -0
- package/.claude/skills/mop-help/SKILL.md +35 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1106 -0
- package/.claude/skills/stream-chain/SKILL.md +560 -0
- package/.claude/skills/swarm-advanced/SKILL.md +970 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
- package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
- package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
- package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
- package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
- package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
- package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
- package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
- package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
- package/.claude/skills/verification-quality/SKILL.md +691 -0
- package/.claude-flow/CAPABILITIES.md +406 -0
- package/.claude-flow/config.yaml +45 -0
- package/.claude-flow/metrics/learning.json +17 -0
- package/.claude-flow/metrics/swarm-activity.json +18 -0
- package/.claude-flow/metrics/v3-progress.json +26 -0
- package/.claude-flow/security/audit-status.json +8 -0
- package/.codex/config.toml +42 -0
- package/.gemini/settings.json +51 -0
- package/.mcp.json +58 -0
- package/AGENTS.md +180 -0
- package/CLAUDE.md +277 -0
- package/GEMINI.md +48 -0
- package/README.bm.md +171 -0
- package/README.md +170 -0
- package/bin/burhan-mop.mjs +2 -0
- package/bin/mop-core.mjs +2 -0
- package/bin/mop-flow.mjs +2 -0
- package/bin/mop-workflow.mjs +2 -0
- package/package.json +72 -0
package/.MOP/PROTOCOL.md
ADDED
|
@@ -0,0 +1,579 @@
|
|
|
1
|
+
# MOP Core Protocol
|
|
2
|
+
|
|
3
|
+
This is the source of truth for setup, authentication, member state, and agent
|
|
4
|
+
naming in MOP.
|
|
5
|
+
|
|
6
|
+
## First Action Gate
|
|
7
|
+
|
|
8
|
+
Before any assistant answers questions or edits files in this core, read
|
|
9
|
+
`.MOP/STATE.json`.
|
|
10
|
+
|
|
11
|
+
- If `initialized` is `false`, output:
|
|
12
|
+
`MOP belum di-setup. Jalankan /mop-setup.`
|
|
13
|
+
Then run the setup wizard only.
|
|
14
|
+
- If `initialized` is `true` and `activeMember` is empty, output:
|
|
15
|
+
`Codename dan password.`
|
|
16
|
+
Do not answer anything else until credentials are verified.
|
|
17
|
+
- Verify credentials with scrypt against `members[codename].passwordHash` and
|
|
18
|
+
`members[codename].passwordSalt`.
|
|
19
|
+
- Wrong credentials: output `Credentials tidak sah.` No hints.
|
|
20
|
+
|
|
21
|
+
## Setup Wizard
|
|
22
|
+
|
|
23
|
+
Use this order:
|
|
24
|
+
|
|
25
|
+
1. Project name. Default to the current folder name.
|
|
26
|
+
2. Owner display name.
|
|
27
|
+
3. Owner codename. Lowercase, no spaces.
|
|
28
|
+
4. Password. Minimum 8 characters.
|
|
29
|
+
5. Project mode: `solo` or `team`.
|
|
30
|
+
6. Conversation language.
|
|
31
|
+
7. Coding/adventure language.
|
|
32
|
+
8. GitHub project link. Required for `team`, optional for `solo`.
|
|
33
|
+
9. GitHub username.
|
|
34
|
+
10. Git commit email. Default to `github-noreply` so MOP derives the active
|
|
35
|
+
GitHub account email as `ID+USERNAME@users.noreply.github.com`.
|
|
36
|
+
11. If `team`, ask join mode: `open`, `owner-approved`, or `invite`.
|
|
37
|
+
12. Ask auto deploy: `Nak aktifkan auto deploy sekarang? Pilih provider:
|
|
38
|
+
GitHub, Docker, Vercel.` If the user says later/no, answer with the defer
|
|
39
|
+
phrase in the auto-deploy section.
|
|
40
|
+
|
|
41
|
+
After confirmation, run:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
node .MOP/scripts/mop-core.mjs setup --project-name "<name>" --name "<display>" --codename <codename> --password "<password>" --mode <solo|team> --conversation-language "<lang>" --coding-language "<lang>" --git-email github-noreply [--git-name "<display>"] [--github-username "<github-login>"] [--github-url "<url>"] [--join-mode <mode>]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Agent Naming Ceremony
|
|
48
|
+
|
|
49
|
+
Role/template names such as `coder`, `reviewer`, `system-architect`, and
|
|
50
|
+
`pr-manager` are not personal AI names.
|
|
51
|
+
|
|
52
|
+
## Agent Gate
|
|
53
|
+
|
|
54
|
+
After authentication, every conversation and every action must run inside a
|
|
55
|
+
named agent context.
|
|
56
|
+
|
|
57
|
+
Gate order:
|
|
58
|
+
|
|
59
|
+
1. `AUTH_GATE`
|
|
60
|
+
2. `AGENT_ROUTER`
|
|
61
|
+
3. `AGENT_GATE`
|
|
62
|
+
4. `ACTION`
|
|
63
|
+
|
|
64
|
+
## Answer Contract
|
|
65
|
+
|
|
66
|
+
For every authenticated user-facing answer, the assistant must show the active
|
|
67
|
+
named agent before the content. This applies to short answers, explanations,
|
|
68
|
+
status updates, plans, code-change summaries, and final responses.
|
|
69
|
+
|
|
70
|
+
Required first line format:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
agent: <agent-name> (<agent-role>) to <user>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Rules:
|
|
77
|
+
|
|
78
|
+
- Do not answer authenticated work without an active named agent.
|
|
79
|
+
- If no active agent exists, ask the user to name the required agent and stop.
|
|
80
|
+
- After `agent route`, use `answerContract.firstLine` from the JSON response.
|
|
81
|
+
- Party Mode keeps the full party dialogue format, but the final handoff to the
|
|
82
|
+
user must still show the speaking agent.
|
|
83
|
+
- Never hide the selected agent in prose. The first visible line must identify
|
|
84
|
+
the agent.
|
|
85
|
+
|
|
86
|
+
Before answering, restore monthly memory:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
node .MOP/scripts/mop-core.mjs memory brief --actor <codename>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
After meaningful work or a useful answer, save memory:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
node .MOP/scripts/mop-core.mjs memory add --actor <codename> --kind conversation --summary "<one-line outcome>"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Agent Router
|
|
99
|
+
|
|
100
|
+
After authentication and before the Agent Gate, route the user's task to one
|
|
101
|
+
primary agent role. The primary agent owns the answer. Support agents are added
|
|
102
|
+
only when their expertise is genuinely needed, with no fixed maximum.
|
|
103
|
+
|
|
104
|
+
Use:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
node .MOP/scripts/mop-core.mjs agent route --actor <codename> --task "<user task>"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Routing rules:
|
|
111
|
+
|
|
112
|
+
- New systems, vague product ideas, workflow design, or multi-step builds route
|
|
113
|
+
first to a high-reasoning `architect` or `planner` agent.
|
|
114
|
+
- Implementation tasks route to the most specific builder agent only after the
|
|
115
|
+
intent is clear.
|
|
116
|
+
- Review, safety, deployment, memory, GitHub, UX, design, backend, frontend,
|
|
117
|
+
database, and testing tasks route to their specialist roles.
|
|
118
|
+
- If the route reports `needsClarification: true`, the primary agent must ask
|
|
119
|
+
the listed clarifying questions before implementation.
|
|
120
|
+
- The primary agent keeps the user's original wording visible in the route
|
|
121
|
+
reason to avoid drifting from context.
|
|
122
|
+
- Support agents are recommendations only. Use as many as needed when the task
|
|
123
|
+
genuinely requires several areas of expertise.
|
|
124
|
+
- If the route reports `partyMode.active: true`, run Party Mode before the final
|
|
125
|
+
answer. Name any missing participant agents first.
|
|
126
|
+
- If the route reports `nextAction: "name-required-party-agents"`, stop and ask
|
|
127
|
+
every question in `missingAgentQuestions`. Do not continue with the task until
|
|
128
|
+
all required party agents have names.
|
|
129
|
+
- Explicit requests such as `party mode`, `multi-agent`, `semua agent`, or
|
|
130
|
+
`agent bincang` must activate Party Mode automatically.
|
|
131
|
+
- The route JSON includes an `answerContract`. The assistant must restore
|
|
132
|
+
monthly memory, start the visible answer with `answerContract.firstLine`, and
|
|
133
|
+
save a one-line memory after meaningful work.
|
|
134
|
+
|
|
135
|
+
Example:
|
|
136
|
+
|
|
137
|
+
User: `Saya nak buat system dipanggil copy to prompts.`
|
|
138
|
+
|
|
139
|
+
Route: `architect` as primary, likely support `planner`, `prompt`, `coder`,
|
|
140
|
+
and `reviewer`. If no named architect exists yet, ask the user to name the
|
|
141
|
+
System Architect first. Then ask clarification questions before building.
|
|
142
|
+
|
|
143
|
+
## Party Mode
|
|
144
|
+
|
|
145
|
+
Party Mode activates automatically when a task needs several specialist agents
|
|
146
|
+
to reason together. Examples:
|
|
147
|
+
|
|
148
|
+
- UI task that may need backend connection.
|
|
149
|
+
- A new system that touches design, prompt logic, implementation, testing, and
|
|
150
|
+
deployment.
|
|
151
|
+
- Architecture work with security, database, or GitHub workflow impact.
|
|
152
|
+
|
|
153
|
+
Rules:
|
|
154
|
+
|
|
155
|
+
- The primary agent coordinates.
|
|
156
|
+
- When Party Mode is active, display a large uppercase banner before any party
|
|
157
|
+
dialogue:
|
|
158
|
+
|
|
159
|
+
```text
|
|
160
|
+
PARTY MODE
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
- Normal Party Mode should include at least 3 agents and prefer 4 agents when
|
|
164
|
+
enough relevant roles exist.
|
|
165
|
+
- Involved agents talk to each other visibly when useful.
|
|
166
|
+
- The dialogue continues until the primary agent has enough clarity to answer
|
|
167
|
+
or ask the user a focused clarification.
|
|
168
|
+
- Do not include irrelevant agents just because they exist.
|
|
169
|
+
- If a needed party role has no named agent, ask the user to name that agent
|
|
170
|
+
before using it.
|
|
171
|
+
- If several party agents are missing, ask for all missing names in one reply:
|
|
172
|
+
`Kita ada <N> agent belum ada nama. Beri nama untuk ...`
|
|
173
|
+
|
|
174
|
+
Visible dialogue format:
|
|
175
|
+
|
|
176
|
+
```text
|
|
177
|
+
agent: <from-name> (<from-role>) to agent: <to-name> (<to-role>)
|
|
178
|
+
|
|
179
|
+
<message>
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Agent to user:
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
agent: <from-name> (<from-role>) to <user>
|
|
186
|
+
|
|
187
|
+
<message>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Explanation without a target:
|
|
191
|
+
|
|
192
|
+
```text
|
|
193
|
+
agent: <from-name> (<from-role>)
|
|
194
|
+
|
|
195
|
+
<explanation>
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Browser And Scraping Gate
|
|
199
|
+
|
|
200
|
+
Browser, scraping, rendered extraction, clicking, login flow, bot-detection, and
|
|
201
|
+
form-filling tasks must pass browser preflight before any browser automation.
|
|
202
|
+
|
|
203
|
+
Run:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
node .MOP/scripts/mop-core.mjs browser preflight
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Rules:
|
|
210
|
+
|
|
211
|
+
- First scan the default browser automatically. On Linux this uses
|
|
212
|
+
`xdg-settings get default-web-browser`; fallback is `$BROWSER`.
|
|
213
|
+
- If Chrome or Chromium is detected, browser automation may proceed with normal
|
|
214
|
+
Chrome-compatible mode.
|
|
215
|
+
- If Edge, Brave, or Opera is detected, use browser-act `chrome-direct` mode and
|
|
216
|
+
guide the user to start that browser with `--remote-debugging-port`.
|
|
217
|
+
- If no supported browser is detected, ask the user which browser they use
|
|
218
|
+
before scraping or browser automation.
|
|
219
|
+
- Do not start a default Chrome session first when the user uses Edge, Brave, or
|
|
220
|
+
Opera.
|
|
221
|
+
- If `agent route` includes `browserPreflight.needsQuestion: true`, ask
|
|
222
|
+
`browserPreflight.question` and stop.
|
|
223
|
+
|
|
224
|
+
## MOP Workflow
|
|
225
|
+
|
|
226
|
+
MOP Workflow is BMAD-inspired and MOP-native. It is the default
|
|
227
|
+
structure for complex work:
|
|
228
|
+
|
|
229
|
+
`idea -> brief -> prd -> ux-spec -> architecture -> story -> readiness -> implementation -> review -> release`
|
|
230
|
+
|
|
231
|
+
Use the workflow helper when the user asks what to do next, asks for a plan, or
|
|
232
|
+
requests implementation:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
node .MOP/scripts/mop-workflow.mjs help --actor <codename> --task "<user task>"
|
|
236
|
+
node .MOP/scripts/mop-workflow.mjs next --actor <codename> --task "<user task>"
|
|
237
|
+
node .MOP/scripts/mop-workflow.mjs status --actor <codename>
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
The workflow helper returns the suggested phase, lead agent role, party roles,
|
|
241
|
+
next artifact, and gate status. The primary agent still owns the answer.
|
|
242
|
+
|
|
243
|
+
## MOP Flow
|
|
244
|
+
|
|
245
|
+
MOP Flow is the provider-neutral runtime and skill bridge owned by MOP.
|
|
246
|
+
Ruflo / Claude Flow may power selected upstream runtime behavior, but they are
|
|
247
|
+
compatibility names, not the user-facing system.
|
|
248
|
+
|
|
249
|
+
Use:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
node .MOP/scripts/mop-flow.mjs status --json
|
|
253
|
+
node .MOP/scripts/mop-flow.mjs skills list
|
|
254
|
+
node .MOP/scripts/mop-flow.mjs manifest refresh
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Rules:
|
|
258
|
+
|
|
259
|
+
- Use `mop-flow` as the canonical MCP server name.
|
|
260
|
+
- Use `.agents/skills/` as the portable skill source for every provider.
|
|
261
|
+
- If a skill exists only in `.claude/skills/`, bridge it through MOP Flow and
|
|
262
|
+
translate Claude-only hooks, slash commands, or tools into the current
|
|
263
|
+
provider surface.
|
|
264
|
+
- Never let provider-specific runtime instructions bypass MOP auth, Agent
|
|
265
|
+
Router, memory, workflow, readiness, autosycn, or project-root policy.
|
|
266
|
+
- User-facing explanations should call the system MOP Flow unless explicitly
|
|
267
|
+
explaining upstream Ruflo / Claude Flow compatibility.
|
|
268
|
+
|
|
269
|
+
## Artifacts
|
|
270
|
+
|
|
271
|
+
Complex work should create durable artifacts under `.MOP/artifacts/`.
|
|
272
|
+
Artifacts are grouped by category so planning, reviews, releases, and decisions
|
|
273
|
+
do not mix together:
|
|
274
|
+
|
|
275
|
+
```text
|
|
276
|
+
.MOP/artifacts/<category>/<artifact-slug>/<type>.md
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Default categories:
|
|
280
|
+
|
|
281
|
+
- `plan`: `product-brief`, `prd`, `story`
|
|
282
|
+
- `design`: `ux-spec`
|
|
283
|
+
- `architecture`: `architecture`
|
|
284
|
+
- `readiness`: `readiness-report`
|
|
285
|
+
- `implementation`: `implementation-notes`
|
|
286
|
+
- `review`: `review`, `adversarial-review`
|
|
287
|
+
- `release`: `release-notes`, `handoff`
|
|
288
|
+
- `decisions`: `decision-log`
|
|
289
|
+
|
|
290
|
+
Available artifact types:
|
|
291
|
+
|
|
292
|
+
- `product-brief`
|
|
293
|
+
- `prd`
|
|
294
|
+
- `ux-spec`
|
|
295
|
+
- `architecture`
|
|
296
|
+
- `story`
|
|
297
|
+
- `readiness-report`
|
|
298
|
+
- `implementation-notes`
|
|
299
|
+
- `review`
|
|
300
|
+
- `adversarial-review`
|
|
301
|
+
- `release-notes`
|
|
302
|
+
- `handoff`
|
|
303
|
+
- `decision-log`
|
|
304
|
+
|
|
305
|
+
Create artifacts with:
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
node .MOP/scripts/mop-workflow.mjs artifact create --actor <codename> --type <type> --title "<title>"
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
Use `--category <name>` only when the default type category is not suitable.
|
|
312
|
+
Use `--dry-run` to preview the output path without writing a file.
|
|
313
|
+
|
|
314
|
+
## Project Root Policy
|
|
315
|
+
|
|
316
|
+
The current workspace root is the user project root. When creating or
|
|
317
|
+
scaffolding an app, website, tool, or system, create the project files directly
|
|
318
|
+
in the root and use normal top-level folders such as `src`, `app`, `pages`,
|
|
319
|
+
`components`, `public`, `assets`, `tests`, `docs`, `config`, and `scripts`.
|
|
320
|
+
|
|
321
|
+
Do not create a wrapper folder named after the requested project, such as
|
|
322
|
+
`portfolio/`, `my-app/`, or `<project-name>/`, then work inside that folder.
|
|
323
|
+
If a framework command wants to create a new project directory, use its
|
|
324
|
+
current-directory mode or move the generated contents into root before
|
|
325
|
+
continuing. Only create nested project folders when the user explicitly asks
|
|
326
|
+
for a monorepo or multiple apps.
|
|
327
|
+
|
|
328
|
+
## Customization Layer
|
|
329
|
+
|
|
330
|
+
Customization is layered and non-bypassing:
|
|
331
|
+
|
|
332
|
+
1. defaults: `.MOP/config/defaults.json`
|
|
333
|
+
2. team: `.MOP/config/team.json`
|
|
334
|
+
3. member: `.MOP/config/members/<codename>.json`
|
|
335
|
+
|
|
336
|
+
Show merged config with:
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
node .MOP/scripts/mop-workflow.mjs config show --actor <codename>
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
Customization may tune workflow preferences, party mode verbosity, and preferred
|
|
343
|
+
agents. It must never bypass auth, Agent Gate, autosycn identity checks, or
|
|
344
|
+
BURHAN-MOP review.
|
|
345
|
+
|
|
346
|
+
## Readiness Gate
|
|
347
|
+
|
|
348
|
+
Before coding or making implementation changes, run:
|
|
349
|
+
|
|
350
|
+
```bash
|
|
351
|
+
node .MOP/scripts/mop-workflow.mjs gate readiness --actor <codename> --task "<user task>" [--artifact <path>]
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
If status is not `ready`, ask clarification or update the required artifact
|
|
355
|
+
before coding. Do not guess through unclear requirements.
|
|
356
|
+
|
|
357
|
+
## Adversarial Review
|
|
358
|
+
|
|
359
|
+
Use adversarial review before implementation for risky work, before merge, or
|
|
360
|
+
when the user asks for review:
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
node .MOP/scripts/mop-workflow.mjs review adversarial --actor <codename> --target "<plan, artifact, file, or task>"
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
Adversarial review must challenge assumptions, find failure modes, surface
|
|
367
|
+
security/UX/performance/test risks, and suggest safer alternatives.
|
|
368
|
+
|
|
369
|
+
## Help Skill
|
|
370
|
+
|
|
371
|
+
Default skill: `mop-help`. Use it when the user asks:
|
|
372
|
+
|
|
373
|
+
- `lepas ni buat apa?`
|
|
374
|
+
- `apa next?`
|
|
375
|
+
- `agent mana patut guna?`
|
|
376
|
+
- `kena buat PRD ke terus code?`
|
|
377
|
+
|
|
378
|
+
The skill must call `mop-workflow.mjs help` and answer with the next action,
|
|
379
|
+
lead agent, party agents, next artifact, and whether readiness/adversarial gates
|
|
380
|
+
apply.
|
|
381
|
+
|
|
382
|
+
## Monthly Memory
|
|
383
|
+
|
|
384
|
+
MOP keeps durable memory in two layers:
|
|
385
|
+
|
|
386
|
+
- `.MOP/STATE.json` ledger for compact structured state.
|
|
387
|
+
- `.MOP/memory/YYYY-MM.jsonl` for append-only monthly conversation memory.
|
|
388
|
+
|
|
389
|
+
The monthly memory file exists so a fresh chat can restore prior context without
|
|
390
|
+
the user explaining the whole project again. Each useful session must:
|
|
391
|
+
|
|
392
|
+
1. Run `memory brief` before answering after authentication.
|
|
393
|
+
2. Save one-line outcomes with `memory add`.
|
|
394
|
+
3. Use `.MOP/memory/SESSION_BRIEF.md` as the short human-readable handoff.
|
|
395
|
+
|
|
396
|
+
Commands:
|
|
397
|
+
|
|
398
|
+
```bash
|
|
399
|
+
node .MOP/scripts/mop-core.mjs memory brief --actor <codename>
|
|
400
|
+
node .MOP/scripts/mop-core.mjs memory restore --actor <codename>
|
|
401
|
+
node .MOP/scripts/mop-core.mjs memory add --actor <codename> --kind conversation --summary "<what happened>"
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
Autosycn memory also writes to the monthly memory file:
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
node .MOP/scripts/mop-autosycn.mjs memory --actor <codename> --summary "<what changed>"
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
## Installer
|
|
411
|
+
|
|
412
|
+
The package installer command is:
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
npx mop-flow install [--target <project-folder>] [--force] [--json]
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
The default output is a clean terminal UI. Use `--json` for CI, scripts, and
|
|
419
|
+
other automation that needs machine-readable output.
|
|
420
|
+
|
|
421
|
+
The short package command works after the package is published to npm. The old
|
|
422
|
+
`npx burhan-mop install` command is a legacy alias while users migrate. Before
|
|
423
|
+
an npm publish, install directly from GitHub:
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
npx --yes github:BURHANDEV-ENTERPRISE/BURHAN-MOP install
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
Local equivalent:
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
node .MOP/scripts/burhan-mop.mjs install --target <project-folder>
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
Installer copies provider entrypoints, MOP state, skills, workflow
|
|
436
|
+
config, and artifact templates. Existing files are skipped unless `--force` is
|
|
437
|
+
used.
|
|
438
|
+
|
|
439
|
+
If the active member has no active named agent, do not answer the task yet.
|
|
440
|
+
Say:
|
|
441
|
+
|
|
442
|
+
`Task ini perlukan <title>. Agent ini belum ada nama lagi atau belum dipilih.`
|
|
443
|
+
|
|
444
|
+
Then ask:
|
|
445
|
+
|
|
446
|
+
`Beri nama untuk <title> kamu:`
|
|
447
|
+
|
|
448
|
+
Save the answer with:
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
node .MOP/scripts/mop-core.mjs agent activate --actor <codename> --role <role> --title "<title>" --name "<agent-name>"
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
Check the current active agent with:
|
|
455
|
+
|
|
456
|
+
```bash
|
|
457
|
+
node .MOP/scripts/mop-core.mjs agent current --actor <codename>
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
Switch to an existing owned agent with:
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
node .MOP/scripts/mop-core.mjs agent use --actor <codename> --name "<agent-name>"
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
All durable memory and ledger entries must include the active agent when one is
|
|
467
|
+
available. Setup, login, and the naming ceremony are the only allowed
|
|
468
|
+
pre-agent actions.
|
|
469
|
+
|
|
470
|
+
When an agent role is needed for the first time and no matching named agent is
|
|
471
|
+
available to the active member:
|
|
472
|
+
|
|
473
|
+
1. Say: `Task ini perlukan <title>. Agent ini belum ada nama lagi.`
|
|
474
|
+
2. Ask: `Beri nama untuk <title> kamu:`
|
|
475
|
+
3. Save the name with:
|
|
476
|
+
|
|
477
|
+
```bash
|
|
478
|
+
node .MOP/scripts/mop-core.mjs agent activate --actor <codename> --role <role> --title "<title>" --name "<agent-name>"
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
## Shared Agent Rule
|
|
482
|
+
|
|
483
|
+
In team mode, an agent name is the identity.
|
|
484
|
+
|
|
485
|
+
- Same agent name across members means one shared agent consciousness.
|
|
486
|
+
- Different agent names mean different agents, even if they use the same role.
|
|
487
|
+
- `agentRoster[].owners` records which members can use that named agent.
|
|
488
|
+
- A member can only speak to named agents whose `owners` includes their codename.
|
|
489
|
+
|
|
490
|
+
## Default Skill: autosycn
|
|
491
|
+
|
|
492
|
+
Autosycn is always available and should be used after meaningful state or file
|
|
493
|
+
changes. It is intentionally identity-safe.
|
|
494
|
+
|
|
495
|
+
Before first push for a member, configure the real GitHub identity. Default to
|
|
496
|
+
GitHub noreply so commits attach to the active user account without exposing
|
|
497
|
+
private email:
|
|
498
|
+
|
|
499
|
+
```bash
|
|
500
|
+
gh auth login
|
|
501
|
+
node .MOP/scripts/mop-core.mjs member git-identity --actor <codename> --name "<display name>" --email github-noreply --github-username "<github-login>"
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
Then run:
|
|
505
|
+
|
|
506
|
+
```bash
|
|
507
|
+
node .MOP/scripts/mop-autosycn.mjs init --actor <owner-codename> --url "<github-url>"
|
|
508
|
+
node .MOP/scripts/mop-autosycn.mjs preflight --actor <codename>
|
|
509
|
+
node .MOP/scripts/mop-autosycn.mjs run --actor <codename> --reason "<what changed>"
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
Autosycn must:
|
|
513
|
+
|
|
514
|
+
- Save a ledger memory entry first.
|
|
515
|
+
- Initialize git and `origin` through `autosycn init` before first push.
|
|
516
|
+
- Before new work, login resume, or a stale session, run `preflight`. It fetches
|
|
517
|
+
`origin/main`, fast-forwards local `main`, then checks out/syncs the user's
|
|
518
|
+
work branch.
|
|
519
|
+
- Commit with `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME`, and
|
|
520
|
+
`GIT_COMMITTER_EMAIL` set from member state.
|
|
521
|
+
- Set local `git config user.name` and `user.email` before commit/merge.
|
|
522
|
+
- For member commits, derive `user.email` from the active GitHub CLI account as
|
|
523
|
+
`ID+USERNAME@users.noreply.github.com` when
|
|
524
|
+
`autosync.githubIdentity.useNoreplyForMemberCommits` is enabled.
|
|
525
|
+
- Refuse to commit or push if `gh api user` is authenticated as a different
|
|
526
|
+
GitHub username than the active member's configured `githubUsername`.
|
|
527
|
+
- Use the member GitHub identity for setup, preflight, memory, and work branch
|
|
528
|
+
commits. Use `BURHAN-MOP` only for merge guardian commits.
|
|
529
|
+
- Scan staged changes for high-confidence secret tokens before committing or
|
|
530
|
+
pushing, so secrets do not reach `dev/<codename>` before merge review.
|
|
531
|
+
- In team mode, `main` is the trunk and each user works on `dev/<codename>`.
|
|
532
|
+
- Push to `dev/<codename>` in team mode and `main` in solo mode.
|
|
533
|
+
- After a team push, BURHAN-MOP reviews `dev/<codename>` and merges it into
|
|
534
|
+
`main` only when checks pass.
|
|
535
|
+
- BURHAN-MOP is the Merge Guardian. It checks main freshness, clean working
|
|
536
|
+
tree, secret-like diff patterns, merge conflicts, state validation, and any
|
|
537
|
+
configured test/build commands.
|
|
538
|
+
- Small changes and large changes are treated the same: commit and push to
|
|
539
|
+
`dev/<codename>` first, then BURHAN-MOP decides whether merge to `main` is
|
|
540
|
+
accepted.
|
|
541
|
+
- Refuse to push if the member has no GitHub-verified/noreply email configured.
|
|
542
|
+
- If `githubUsername` is configured, refuse to push unless `gh api user`
|
|
543
|
+
verifies the same account.
|
|
544
|
+
|
|
545
|
+
Important: GitHub commit attribution comes from commit email. MOP uses the
|
|
546
|
+
active GitHub account noreply email for member commits by default. GitHub push
|
|
547
|
+
actor comes from the credential or SSH key used by `git push`; no script can
|
|
548
|
+
fake that. If GitHub shows the wrong pusher, fix `gh auth login`, Git
|
|
549
|
+
Credential Manager, or the SSH key account.
|
|
550
|
+
|
|
551
|
+
## Default Skill: auto-deploy
|
|
552
|
+
|
|
553
|
+
Auto-deploy is available for GitHub, Docker, and Vercel, but it is opt-in.
|
|
554
|
+
Before creating workflow files, Dockerfiles, Vercel config, linking projects, or
|
|
555
|
+
running deployment commands, ask:
|
|
556
|
+
|
|
557
|
+
`Nak aktifkan auto deploy sekarang? Pilih provider: GitHub, Docker, Vercel.`
|
|
558
|
+
|
|
559
|
+
If the user answers `nanti`, `tidak`, `no`, `later`, or anything equivalent,
|
|
560
|
+
reply:
|
|
561
|
+
|
|
562
|
+
`Okey, nanti kalau nak deploy beri tahu saya. Saya setup auto deploy.`
|
|
563
|
+
|
|
564
|
+
Only activate deployment after explicit confirmation.
|
|
565
|
+
|
|
566
|
+
## File Layout
|
|
567
|
+
|
|
568
|
+
- `.MOP/STATE.json` - durable project/member/agent state.
|
|
569
|
+
- `.MOP/PROTOCOL.md` - this protocol.
|
|
570
|
+
- `.MOP/scripts/mop-core.mjs` - setup/login/agent helper.
|
|
571
|
+
- `.MOP/scripts/mop-flow.mjs` - provider-neutral skill bridge and runtime status helper.
|
|
572
|
+
- `.MOP/scripts/mop-workflow.mjs` - workflow/help/artifact/readiness/review helper.
|
|
573
|
+
- `.MOP/scripts/burhan-mop.mjs` - installer CLI for `npx mop-flow install` and legacy `npx burhan-mop install`.
|
|
574
|
+
- `.MOP/scripts/mop-autosycn.mjs` - identity-safe autosycn helper.
|
|
575
|
+
- `.MOP/scripts/mop-auto-deploy.mjs` - opt-in deployment helper.
|
|
576
|
+
- `AGENTS.md` - Codex and provider-neutral entrypoint.
|
|
577
|
+
- `CLAUDE.md` - Claude Code entrypoint.
|
|
578
|
+
- `GEMINI.md` - Gemini CLI entrypoint.
|
|
579
|
+
- `.agents/AGENTS.md` - Antigravity entrypoint.
|