burhan-mop 0.1.0 → 0.1.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/{.memoryofplanet → .MOP}/PROTOCOL.md +36 -36
- package/{.memoryofplanet → .MOP}/STATE.json +11 -11
- package/{.memoryofplanet → .MOP}/config/defaults.json +2 -2
- package/{.memoryofplanet → .MOP}/scripts/burhan-mop.mjs +6 -6
- package/{.memoryofplanet → .MOP}/scripts/mop-auto-deploy.mjs +5 -6
- package/{.memoryofplanet → .MOP}/scripts/mop-autosycn.mjs +24 -24
- package/{.memoryofplanet → .MOP}/scripts/mop-core.mjs +24 -24
- package/{.memoryofplanet → .MOP}/scripts/mop-workflow.mjs +17 -17
- package/.agents/AGENTS.md +7 -6
- package/.agents/skills/auto-deploy/SKILL.md +2 -2
- package/.agents/skills/autosycn/SKILL.md +10 -10
- package/.agents/skills/mop-help/SKILL.md +4 -4
- package/.agents/skills/ruflo-core/SKILL.md +2 -3
- package/.claude/skills/auto-deploy/SKILL.md +2 -2
- package/.claude/skills/autosycn/SKILL.md +7 -7
- package/.claude/skills/mop-help/SKILL.md +4 -4
- package/.codex/config.toml +1 -1
- package/AGENTS.md +10 -9
- package/CLAUDE.md +10 -9
- package/GEMINI.md +3 -3
- package/README.md +136 -89
- package/bin/burhan-mop.mjs +1 -1
- package/bin/mop-core.mjs +1 -1
- package/bin/mop-workflow.mjs +1 -1
- package/package.json +7 -7
- /package/{.memoryofplanet → .MOP}/config/team.json +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/adversarial-review.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/architecture.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/decision-log.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/handoff.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/implementation-notes.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/prd.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/product-brief.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/readiness-report.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/release-notes.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/review.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/story.md +0 -0
- /package/{.memoryofplanet → .MOP}/templates/artifacts/ux-spec.md +0 -0
|
@@ -76,9 +76,9 @@ function deepMerge(base, override) {
|
|
|
76
76
|
|
|
77
77
|
function mergedConfig(state, actor = '') {
|
|
78
78
|
const files = state.customization?.files || {};
|
|
79
|
-
const defaults = readJson(join(rootDir, files.defaults || '.
|
|
80
|
-
const team = readJson(join(rootDir, files.team || '.
|
|
81
|
-
const memberPattern = files.memberPattern || '.
|
|
79
|
+
const defaults = readJson(join(rootDir, files.defaults || '.MOP/config/defaults.json'));
|
|
80
|
+
const team = readJson(join(rootDir, files.team || '.MOP/config/team.json'));
|
|
81
|
+
const memberPattern = files.memberPattern || '.MOP/config/members/<codename>.json';
|
|
82
82
|
const memberPath = actor ? join(rootDir, memberPattern.replace('<codename>', slug(actor))) : '';
|
|
83
83
|
const member = memberPath ? readJson(memberPath) : {};
|
|
84
84
|
return deepMerge(deepMerge(defaults, team), member);
|
|
@@ -129,7 +129,7 @@ function status(args) {
|
|
|
129
129
|
nextPhase,
|
|
130
130
|
customization: config.workflow || {},
|
|
131
131
|
artifacts: {
|
|
132
|
-
directory: state.artifacts?.directory || '.
|
|
132
|
+
directory: state.artifacts?.directory || '.MOP/artifacts',
|
|
133
133
|
layout: state.artifacts?.layout || 'category/artifact-slug/type.md',
|
|
134
134
|
folderByType: state.artifacts?.folderByType || {}
|
|
135
135
|
},
|
|
@@ -156,10 +156,10 @@ function help(args) {
|
|
|
156
156
|
partyRoles: phase?.partyRoles || [],
|
|
157
157
|
nextArtifact,
|
|
158
158
|
nextArtifactCategory: nextCategory,
|
|
159
|
-
nextArtifactPathPattern: `${state.artifacts?.directory || '.
|
|
160
|
-
nextCommand: `node .
|
|
159
|
+
nextArtifactPathPattern: `${state.artifacts?.directory || '.MOP/artifacts'}/${nextCategory}/<artifact-slug>/${nextArtifact}.md`,
|
|
160
|
+
nextCommand: `node .MOP/scripts/mop-workflow.mjs artifact create --actor ${actor || '<codename>'} --type ${nextArtifact} --title "<title>"`,
|
|
161
161
|
readinessRequired,
|
|
162
|
-
readinessCommand: `node .
|
|
162
|
+
readinessCommand: `node .MOP/scripts/mop-workflow.mjs gate readiness --actor ${actor || '<codename>'} --task "<task>"`,
|
|
163
163
|
nextPhase: nextPhase?.id || null
|
|
164
164
|
}, null, 2));
|
|
165
165
|
}
|
|
@@ -196,8 +196,8 @@ function artifactCreate(args) {
|
|
|
196
196
|
const title = String(args.title || type);
|
|
197
197
|
const artifactSlug = slug(args.slug || title || type);
|
|
198
198
|
const category = artifactCategoryFor(state, args, type);
|
|
199
|
-
const artifactRoot = join(rootDir, state.artifacts?.directory || '.
|
|
200
|
-
const templatePath = join(rootDir, state.artifacts?.templateDirectory || '.
|
|
199
|
+
const artifactRoot = join(rootDir, state.artifacts?.directory || '.MOP/artifacts', category, artifactSlug);
|
|
200
|
+
const templatePath = join(rootDir, state.artifacts?.templateDirectory || '.MOP/templates/artifacts', `${type}.md`);
|
|
201
201
|
const template = existsSync(templatePath)
|
|
202
202
|
? readFileSync(templatePath, 'utf8')
|
|
203
203
|
: `# {{title}}\n\n## Notes\n\n`;
|
|
@@ -330,14 +330,14 @@ function main() {
|
|
|
330
330
|
if (command === 'config' && subcommand === 'show') return configShow(args);
|
|
331
331
|
|
|
332
332
|
console.log(`Usage:
|
|
333
|
-
node .
|
|
334
|
-
node .
|
|
335
|
-
node .
|
|
336
|
-
node .
|
|
337
|
-
node .
|
|
338
|
-
node .
|
|
339
|
-
node .
|
|
340
|
-
node .
|
|
333
|
+
node .MOP/scripts/mop-workflow.mjs status [--actor CODE] [--task TEXT]
|
|
334
|
+
node .MOP/scripts/mop-workflow.mjs help --actor CODE --task "what user asked"
|
|
335
|
+
node .MOP/scripts/mop-workflow.mjs next --actor CODE --task "what user asked"
|
|
336
|
+
node .MOP/scripts/mop-workflow.mjs phase set --actor CODE --phase prd
|
|
337
|
+
node .MOP/scripts/mop-workflow.mjs artifact create --actor CODE --type prd --title "Title" [--category plan] [--dry-run]
|
|
338
|
+
node .MOP/scripts/mop-workflow.mjs gate readiness --actor CODE --task "task" [--artifact path]
|
|
339
|
+
node .MOP/scripts/mop-workflow.mjs review adversarial --actor CODE --target "plan or file" [--write]
|
|
340
|
+
node .MOP/scripts/mop-workflow.mjs config show [--actor CODE]`);
|
|
341
341
|
}
|
|
342
342
|
|
|
343
343
|
try {
|
package/.agents/AGENTS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MOP Core - Antigravity Instructions
|
|
2
2
|
|
|
3
3
|
This is the Antigravity managed-agent entry point. The provider-neutral project
|
|
4
4
|
rules are in the root `AGENTS.md`; apply those rules first when the root is
|
|
@@ -6,8 +6,8 @@ available in the environment.
|
|
|
6
6
|
|
|
7
7
|
## Authentication Gate
|
|
8
8
|
|
|
9
|
-
Before doing anything, read `.
|
|
10
|
-
`.
|
|
9
|
+
Before doing anything, read `.MOP/STATE.json` and follow
|
|
10
|
+
`.MOP/PROTOCOL.md`.
|
|
11
11
|
|
|
12
12
|
- If setup is pending, run only the setup wizard.
|
|
13
13
|
- If login is required, ask only for codename and password.
|
|
@@ -17,7 +17,7 @@ Before doing anything, read `.memoryofplanet/STATE.json` and follow
|
|
|
17
17
|
- If the router says clarification is needed, ask the clarifying questions
|
|
18
18
|
before implementation.
|
|
19
19
|
- If the router activates Party Mode, show visible agent-to-agent dialogue using
|
|
20
|
-
the exact format in `.
|
|
20
|
+
the exact format in `.MOP/PROTOCOL.md`, with `PARTY MODE` shown in
|
|
21
21
|
large uppercase before the dialogue. Party Mode normally uses at least 3
|
|
22
22
|
agents and prefers 4 when relevant roles exist.
|
|
23
23
|
- For complex work or "what next?" questions, use MOP Workflow:
|
|
@@ -50,5 +50,6 @@ Before doing anything, read `.memoryofplanet/STATE.json` and follow
|
|
|
50
50
|
- Ruflo runtime config: `.claude-flow/config.yaml`
|
|
51
51
|
- Antigravity skills: `.agents/skills/`
|
|
52
52
|
|
|
53
|
-
Installer command
|
|
54
|
-
|
|
53
|
+
Installer command: `npx burhan-mop install`.
|
|
54
|
+
GitHub source fallback for development builds:
|
|
55
|
+
`npx --yes github:BURHANDEV-ENTERPRISE/BURHAN-MOP install`.
|
|
@@ -26,7 +26,7 @@ Okey, nanti kalau nak deploy beri tahu saya. Saya setup auto deploy.
|
|
|
26
26
|
Then record the defer action:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
node .
|
|
29
|
+
node .MOP/scripts/mop-auto-deploy.mjs defer --actor <codename> --answer nanti
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Activation
|
|
@@ -34,7 +34,7 @@ node .memoryofplanet/scripts/mop-auto-deploy.mjs defer --actor <codename> --answ
|
|
|
34
34
|
Only after explicit confirmation:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
node .
|
|
37
|
+
node .MOP/scripts/mop-auto-deploy.mjs enable --actor <codename> --provider github|docker|vercel|all --confirm yes
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
## Provider Intent
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: autosycn
|
|
3
|
-
description: Use this after every meaningful
|
|
3
|
+
description: Use this after every meaningful MOP state or file change to save memory, commit as the real active user, push to the correct branch, and merge to main when allowed.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Autosycn
|
|
7
7
|
|
|
8
|
-
Autosycn is
|
|
8
|
+
Autosycn is MOP's identity-safe autosync skill. The name keeps the
|
|
9
9
|
project spelling `autosycn`, but the behavior is autosync.
|
|
10
10
|
|
|
11
11
|
## Required Identity Rule
|
|
@@ -14,7 +14,7 @@ Never let commits fall back to the AI tool identity. Before pushing, the helper
|
|
|
14
14
|
must have a user Git identity:
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
node .
|
|
17
|
+
node .MOP/scripts/mop-core.mjs member git-identity --actor <codename> --name "<display name>" --email "<github-verified-email>" --github-username "<github-login>"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Use a GitHub-verified email or the user's GitHub noreply email. The branch name
|
|
@@ -27,27 +27,27 @@ key used for `git push`.
|
|
|
27
27
|
First-time git setup:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
node .
|
|
30
|
+
node .MOP/scripts/mop-autosycn.mjs init --actor <owner-codename> --url "<github-url>"
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Before starting new work, after login, or after a long break:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
node .
|
|
36
|
+
node .MOP/scripts/mop-autosycn.mjs preflight --actor <codename>
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
After a state or file change:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
node .
|
|
42
|
+
node .MOP/scripts/mop-autosycn.mjs run --actor <codename> --reason "<what changed>"
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
Manual steps:
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
node .
|
|
49
|
-
node .
|
|
50
|
-
node .
|
|
48
|
+
node .MOP/scripts/mop-autosycn.mjs memory --actor <codename> --summary "<what changed>"
|
|
49
|
+
node .MOP/scripts/mop-autosycn.mjs push --actor <codename> --reason "<what changed>"
|
|
50
|
+
node .MOP/scripts/mop-autosycn.mjs merge --actor <codename> --from <codename> --reason "Merge dev/<codename>: <what changed>"
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
## Guarantees
|
|
@@ -61,7 +61,7 @@ node .memoryofplanet/scripts/mop-autosycn.mjs merge --actor <codename> --from <c
|
|
|
61
61
|
- BURHAN-MOP reviews the pushed branch and merges to `main` only when checks
|
|
62
62
|
pass.
|
|
63
63
|
- Sets `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_NAME`, and
|
|
64
|
-
`GIT_COMMITTER_EMAIL` from
|
|
64
|
+
`GIT_COMMITTER_EMAIL` from MOP member state.
|
|
65
65
|
- Sets local `git config user.name` and `user.email` before commit/merge.
|
|
66
66
|
- Refuses to push when the user's Git email is missing.
|
|
67
67
|
- If a GitHub username is configured, refuses to push unless `gh api user`
|
|
@@ -5,12 +5,12 @@ or asks which agent/workflow/artifact should be used.
|
|
|
5
5
|
|
|
6
6
|
## Behavior
|
|
7
7
|
|
|
8
|
-
1. Read `.
|
|
9
|
-
2. Respect auth and Agent Router gates from `.
|
|
8
|
+
1. Read `.MOP/STATE.json`.
|
|
9
|
+
2. Respect auth and Agent Router gates from `.MOP/PROTOCOL.md`.
|
|
10
10
|
3. Run:
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
node .
|
|
13
|
+
node .MOP/scripts/mop-workflow.mjs help --actor <codename> --task "<user task>"
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
4. Explain the next step in the user's language.
|
|
@@ -25,7 +25,7 @@ node .memoryofplanet/scripts/mop-workflow.mjs help --actor <codename> --task "<u
|
|
|
25
25
|
## Rules
|
|
26
26
|
|
|
27
27
|
- Do not invent a workflow phase if the helper returns one.
|
|
28
|
-
- Keep artifacts under `.
|
|
28
|
+
- Keep artifacts under `.MOP/artifacts/<category>/<artifact-slug>/<type>.md`.
|
|
29
29
|
- Treat the current workspace root as the project root. Do not suggest a nested
|
|
30
30
|
project wrapper folder unless the user explicitly asks for a monorepo or
|
|
31
31
|
multiple apps.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ruflo-core
|
|
3
|
-
description: Use this when working with the
|
|
3
|
+
description: Use this when working with the MOP Ruflo core, Claude Flow configuration, MCP server setup, swarm routing, hooks, or cross-provider agent instructions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Ruflo Core Skill
|
|
7
7
|
|
|
8
8
|
## Goal
|
|
9
9
|
|
|
10
|
-
Keep the
|
|
10
|
+
Keep the MOP Ruflo core portable across Claude Code, Codex,
|
|
11
11
|
ChatGPT coding surfaces, Gemini CLI, and Antigravity.
|
|
12
12
|
|
|
13
13
|
## Instructions
|
|
@@ -32,4 +32,3 @@ ChatGPT coding surfaces, Gemini CLI, and Antigravity.
|
|
|
32
32
|
- Do not assume MCP is available; degrade to filesystem and shell inspection.
|
|
33
33
|
- Do not modify runtime state, logs, sessions, or memory data unless the user
|
|
34
34
|
specifically asks.
|
|
35
|
-
|
|
@@ -20,12 +20,12 @@ Okey, nanti kalau nak deploy beri tahu saya. Saya setup auto deploy.
|
|
|
20
20
|
Record defer:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
node .
|
|
23
|
+
node .MOP/scripts/mop-auto-deploy.mjs defer --actor <codename> --answer nanti
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Activate only with confirmation:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
node .
|
|
29
|
+
node .MOP/scripts/mop-auto-deploy.mjs enable --actor <codename> --provider github|docker|vercel|all --confirm yes
|
|
30
30
|
```
|
|
31
31
|
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: autosycn
|
|
3
|
-
description: Use this after every meaningful
|
|
3
|
+
description: Use this after every meaningful MOP state or file change to save memory, commit as the real active user, push to the correct branch, and merge to main when allowed.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Autosycn
|
|
7
7
|
|
|
8
|
-
Autosycn is
|
|
8
|
+
Autosycn is MOP's identity-safe autosync skill. Use:
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
node .
|
|
12
|
-
node .
|
|
13
|
-
node .
|
|
11
|
+
node .MOP/scripts/mop-autosycn.mjs init --actor <owner-codename> --url "<github-url>"
|
|
12
|
+
node .MOP/scripts/mop-autosycn.mjs preflight --actor <codename>
|
|
13
|
+
node .MOP/scripts/mop-autosycn.mjs run --actor <codename> --reason "<what changed>"
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Before first use, configure the user's real Git identity:
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
node .
|
|
19
|
+
node .MOP/scripts/mop-core.mjs member git-identity --actor <codename> --name "<display name>" --email "<github-verified-email>" --github-username "<github-login>"
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
The helper sets Git author and committer environment variables and local git
|
|
23
|
-
config from
|
|
23
|
+
config from MOP state. It refuses to push without a configured email.
|
|
24
24
|
If a GitHub username is configured, it also refuses to push unless `gh api user`
|
|
25
25
|
matches that username. The branch name does not control GitHub attribution;
|
|
26
26
|
commit email and push credentials do.
|
|
@@ -5,12 +5,12 @@ or asks which agent/workflow/artifact should be used.
|
|
|
5
5
|
|
|
6
6
|
## Behavior
|
|
7
7
|
|
|
8
|
-
1. Read `.
|
|
9
|
-
2. Respect auth and Agent Router gates from `.
|
|
8
|
+
1. Read `.MOP/STATE.json`.
|
|
9
|
+
2. Respect auth and Agent Router gates from `.MOP/PROTOCOL.md`.
|
|
10
10
|
3. Run:
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
node .
|
|
13
|
+
node .MOP/scripts/mop-workflow.mjs help --actor <codename> --task "<user task>"
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
4. Explain the next step in the user's language.
|
|
@@ -25,7 +25,7 @@ node .memoryofplanet/scripts/mop-workflow.mjs help --actor <codename> --task "<u
|
|
|
25
25
|
## Rules
|
|
26
26
|
|
|
27
27
|
- Do not invent a workflow phase if the helper returns one.
|
|
28
|
-
- Keep artifacts under `.
|
|
28
|
+
- Keep artifacts under `.MOP/artifacts/<category>/<artifact-slug>/<type>.md`.
|
|
29
29
|
- Treat the current workspace root as the project root. Do not suggest a nested
|
|
30
30
|
project wrapper folder unless the user explicitly asks for a monorepo or
|
|
31
31
|
multiple apps.
|
package/.codex/config.toml
CHANGED
package/AGENTS.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MOP Core - Cross-Agent Instructions
|
|
2
2
|
|
|
3
3
|
## Authentication Gate - First Action
|
|
4
4
|
|
|
5
|
-
Before doing anything in this workspace, read `.
|
|
6
|
-
follow `.
|
|
5
|
+
Before doing anything in this workspace, read `.MOP/STATE.json` and
|
|
6
|
+
follow `.MOP/PROTOCOL.md`.
|
|
7
7
|
|
|
8
|
-
- `initialized: false` -> output `
|
|
8
|
+
- `initialized: false` -> output `MOP belum di-setup. Jalankan /mop-setup.` Run the setup wizard only.
|
|
9
9
|
- `initialized: true` with no `activeMember` -> output `Codename dan password.` Do not continue until verified.
|
|
10
|
-
- Verify credentials through `node .
|
|
10
|
+
- Verify credentials through `node .MOP/scripts/mop-core.mjs login --codename <codename> --password "<password>"`.
|
|
11
11
|
- Wrong credentials -> output `Credentials tidak sah.`
|
|
12
12
|
- After authentication, run the Agent Router before answering or acting:
|
|
13
13
|
`mop-core.mjs agent route --actor <codename> --task "<user task>"`.
|
|
@@ -19,7 +19,7 @@ follow `.memoryofplanet/PROTOCOL.md`.
|
|
|
19
19
|
- If the router returns `partyMode.active: true`, use Party Mode. Show
|
|
20
20
|
`PARTY MODE` in large uppercase before the dialogue, then show
|
|
21
21
|
agent-to-agent and agent-to-user dialogue with the exact format from
|
|
22
|
-
`.
|
|
22
|
+
`.MOP/PROTOCOL.md`. Party Mode normally uses at least 3 agents and
|
|
23
23
|
prefers 4 when relevant roles exist.
|
|
24
24
|
- For complex work or "what next?" questions, use MOP Workflow:
|
|
25
25
|
`mop-workflow.mjs help --actor <codename> --task "<user task>"`.
|
|
@@ -41,7 +41,7 @@ activate irrelevant agents; route to one primary agent first, then add support
|
|
|
41
41
|
agents through Party Mode only when useful.
|
|
42
42
|
|
|
43
43
|
Default skill: `autosycn`. After meaningful changes, use
|
|
44
|
-
`.
|
|
44
|
+
`.MOP/scripts/mop-autosycn.mjs`. It must commit and merge with the
|
|
45
45
|
real member Git identity from state, never with the AI tool identity.
|
|
46
46
|
In team mode, run `preflight --actor <codename>` before starting work; work goes
|
|
47
47
|
to `dev/<codename>`. Every small or large change is pushed there first, then
|
|
@@ -54,8 +54,9 @@ up when they ask.
|
|
|
54
54
|
Default skill: `mop-help`. It answers "lepas ni buat apa?", routes the next MOP
|
|
55
55
|
workflow phase, and names the next artifact/gate.
|
|
56
56
|
|
|
57
|
-
Installer command
|
|
58
|
-
|
|
57
|
+
Installer command: `npx burhan-mop install`.
|
|
58
|
+
GitHub source fallback for development builds:
|
|
59
|
+
`npx --yes github:BURHANDEV-ENTERPRISE/BURHAN-MOP install`.
|
|
59
60
|
|
|
60
61
|
This directory is a portable Ruflo / Claude Flow agent core. It must work across
|
|
61
62
|
Claude Code, Codex / ChatGPT coding surfaces, Gemini CLI, and Google
|
package/CLAUDE.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Ruflo — Claude Code Configuration
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## MOP Authentication Gate - First Action
|
|
4
4
|
|
|
5
|
-
Before doing anything in this workspace, read `.
|
|
6
|
-
follow `.
|
|
5
|
+
Before doing anything in this workspace, read `.MOP/STATE.json` and
|
|
6
|
+
follow `.MOP/PROTOCOL.md`.
|
|
7
7
|
|
|
8
|
-
- `initialized: false` -> output `
|
|
8
|
+
- `initialized: false` -> output `MOP belum di-setup. Jalankan /mop-setup.` Run the setup wizard only.
|
|
9
9
|
- `initialized: true` with no `activeMember` -> output `Codename dan password.` Do not continue until verified.
|
|
10
|
-
- Verify credentials through `node .
|
|
10
|
+
- Verify credentials through `node .MOP/scripts/mop-core.mjs login --codename <codename> --password "<password>"`.
|
|
11
11
|
- Wrong credentials -> output `Credentials tidak sah.`
|
|
12
12
|
- After authentication, run the Agent Router before answering or acting:
|
|
13
13
|
`mop-core.mjs agent route --actor <codename> --task "<user task>"`.
|
|
@@ -19,7 +19,7 @@ follow `.memoryofplanet/PROTOCOL.md`.
|
|
|
19
19
|
- If the router returns `partyMode.active: true`, use Party Mode. Show
|
|
20
20
|
`PARTY MODE` in large uppercase before the dialogue, then show
|
|
21
21
|
agent-to-agent and agent-to-user dialogue with the exact format from
|
|
22
|
-
`.
|
|
22
|
+
`.MOP/PROTOCOL.md`. Party Mode normally uses at least 3 agents and
|
|
23
23
|
prefers 4 when relevant roles exist.
|
|
24
24
|
- For complex work or "what next?" questions, use MOP Workflow:
|
|
25
25
|
`mop-workflow.mjs help --actor <codename> --task "<user task>"`.
|
|
@@ -36,7 +36,7 @@ activate irrelevant agents; route to one primary agent first, then add support
|
|
|
36
36
|
agents through Party Mode only when useful.
|
|
37
37
|
|
|
38
38
|
Default skill: `autosycn`. After meaningful changes, use
|
|
39
|
-
`.
|
|
39
|
+
`.MOP/scripts/mop-autosycn.mjs`. It must commit and merge with the
|
|
40
40
|
real member Git identity from state, never with the AI tool identity.
|
|
41
41
|
In team mode, run `preflight --actor <codename>` before starting work; work goes
|
|
42
42
|
to `dev/<codename>`. Every small or large change is pushed there first, then
|
|
@@ -49,8 +49,9 @@ up when they ask.
|
|
|
49
49
|
Default skill: `mop-help`. It answers "lepas ni buat apa?", routes the next MOP
|
|
50
50
|
workflow phase, and names the next artifact/gate.
|
|
51
51
|
|
|
52
|
-
Installer command
|
|
53
|
-
|
|
52
|
+
Installer command: `npx burhan-mop install`.
|
|
53
|
+
GitHub source fallback for development builds:
|
|
54
|
+
`npx --yes github:BURHANDEV-ENTERPRISE/BURHAN-MOP install`.
|
|
54
55
|
|
|
55
56
|
During `/mop-setup`, ask whether to activate auto-deploy after the Git/GitHub
|
|
56
57
|
identity questions.
|
package/GEMINI.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MOP Core - Gemini CLI Instructions
|
|
2
2
|
|
|
3
3
|
Gemini CLI should load this file as project context. The main provider-neutral
|
|
4
4
|
rules are imported below.
|
|
@@ -7,8 +7,8 @@ rules are imported below.
|
|
|
7
7
|
|
|
8
8
|
## Gemini-Specific Notes
|
|
9
9
|
|
|
10
|
-
- First action still applies: read `.
|
|
11
|
-
`.
|
|
10
|
+
- First action still applies: read `.MOP/STATE.json` and follow
|
|
11
|
+
`.MOP/PROTOCOL.md`.
|
|
12
12
|
- Treat the current workspace root as the project root; do not create a nested
|
|
13
13
|
project wrapper folder for app work unless the user explicitly asks for it.
|
|
14
14
|
- Use `.gemini/settings.json` for context filenames and MCP server setup.
|