@markus-global/cli 0.4.21 → 0.4.23
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/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +8 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +16 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/markus.mjs +1157 -299
- package/dist/web-ui/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/web-ui/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/web-ui/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/web-ui/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/web-ui/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/web-ui/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/web-ui/assets/index-FxtMolbG.js +343 -0
- package/dist/web-ui/assets/index-jBDtl4o2.css +1 -0
- package/dist/web-ui/index.html +2 -2
- package/package.json +1 -1
- package/templates/roles/org-manager/HEARTBEAT.md +8 -0
- package/templates/roles/secretary/HEARTBEAT.md +8 -0
- package/templates/skills/agent-building/SKILL.md +19 -10
- package/templates/skills/self-evolution/SKILL.md +43 -7
- package/templates/skills/team-building/SKILL.md +26 -10
- package/dist/web-ui/assets/index-BWjiUsem.js +0 -66
- package/dist/web-ui/assets/index-BgcwiZ1h.css +0 -1
|
@@ -22,11 +22,15 @@ This skill teaches you how to create Markus team packages — self-contained dir
|
|
|
22
22
|
├── NORMS.md # Working norms (you write via file_write)
|
|
23
23
|
└── members/
|
|
24
24
|
├── {manager-slug}/
|
|
25
|
-
│ ├── ROLE.md #
|
|
26
|
-
│
|
|
25
|
+
│ ├── ROLE.md # Identity and system prompt (REQUIRED)
|
|
26
|
+
│ ├── HEARTBEAT.md # Periodic self-check checklist (RECOMMENDED)
|
|
27
|
+
│ ├── POLICIES.md # Constraints and guardrails (optional)
|
|
28
|
+
│ └── CONTEXT.md # Domain context and references (optional)
|
|
27
29
|
└── {worker-slug}/
|
|
28
|
-
├── ROLE.md #
|
|
29
|
-
|
|
30
|
+
├── ROLE.md # Identity and system prompt (REQUIRED)
|
|
31
|
+
├── HEARTBEAT.md # Periodic self-check checklist (RECOMMENDED)
|
|
32
|
+
├── POLICIES.md # Constraints and guardrails (optional)
|
|
33
|
+
└── CONTEXT.md # Domain context and references (optional)
|
|
30
34
|
```
|
|
31
35
|
|
|
32
36
|
**Do NOT write artifacts to `~/.markus/shared/`, your working directory, or any other location.** Only `~/.markus/builder-artifacts/teams/` is recognized by the system.
|
|
@@ -37,8 +41,10 @@ This skill teaches you how to create Markus team packages — self-contained dir
|
|
|
37
41
|
|---|---|---|
|
|
38
42
|
| `ANNOUNCEMENT.md` | `~/.markus/teams/{teamId}/ANNOUNCEMENT.md` | Injected into every member's context |
|
|
39
43
|
| `NORMS.md` | `~/.markus/teams/{teamId}/NORMS.md` | Injected into every member's context |
|
|
40
|
-
| `members/{name}/ROLE.md` | `~/.markus/agents/{agentId}/role/ROLE.md` |
|
|
44
|
+
| `members/{name}/ROLE.md` | `~/.markus/agents/{agentId}/role/ROLE.md` | Agent's identity and system prompt |
|
|
45
|
+
| `members/{name}/HEARTBEAT.md` | `~/.markus/agents/{agentId}/role/HEARTBEAT.md` | Periodic self-check checklist (every ~30 min) |
|
|
41
46
|
| `members/{name}/POLICIES.md` | `~/.markus/agents/{agentId}/role/POLICIES.md` | Additional agent constraints |
|
|
47
|
+
| `members/{name}/CONTEXT.md` | `~/.markus/agents/{agentId}/role/CONTEXT.md` | Domain context and references |
|
|
42
48
|
|
|
43
49
|
## Two-Step Workflow
|
|
44
50
|
|
|
@@ -72,14 +78,12 @@ This JSON contains ONLY metadata and structure — **no file content**.
|
|
|
72
78
|
{
|
|
73
79
|
"name": "Manager Name",
|
|
74
80
|
"role": "manager",
|
|
75
|
-
"roleName": "project-manager",
|
|
76
81
|
"count": 1,
|
|
77
82
|
"skills": ["skill-id-1"]
|
|
78
83
|
},
|
|
79
84
|
{
|
|
80
85
|
"name": "Worker Name",
|
|
81
86
|
"role": "worker",
|
|
82
|
-
"roleName": "developer",
|
|
83
87
|
"count": 1,
|
|
84
88
|
"skills": ["skill-id-1", "skill-id-2"]
|
|
85
89
|
}
|
|
@@ -121,7 +125,16 @@ After the JSON is saved, write each file individually using `file_write`. The ba
|
|
|
121
125
|
- For reviewers: review-then-merge workflow (git merge or gh pr)
|
|
122
126
|
- For managers: file ownership planning, dependency graphs, `spawn_subagent` for analysis
|
|
123
127
|
|
|
124
|
-
4. **
|
|
128
|
+
4. **Each member's HEARTBEAT.md** (RECOMMENDED) — Defines what the agent proactively checks every ~30 minutes. Without this file, the agent is purely reactive and will only respond to direct messages. Write a role-specific checklist covering:
|
|
129
|
+
- Check mailbox for new messages and respond to urgent items
|
|
130
|
+
- Review assigned tasks — update progress, unblock if possible
|
|
131
|
+
- Check team announcements and norms for updates
|
|
132
|
+
- Role-specific patrol items (e.g., managers: check team task board and unblock members; developers: check build status and PR reviews; reviewers: check tasks awaiting review)
|
|
133
|
+
- Scan recent channel messages for anything requiring attention
|
|
134
|
+
|
|
135
|
+
5. **POLICIES.md** (optional) — For members that need specific constraints.
|
|
136
|
+
|
|
137
|
+
6. **CONTEXT.md** (optional) — Additional domain context, references, or knowledge specific to a member.
|
|
125
138
|
|
|
126
139
|
**Example file_write calls:**
|
|
127
140
|
|
|
@@ -129,7 +142,9 @@ After the JSON is saved, write each file individually using `file_write`. The ba
|
|
|
129
142
|
file_write("~/.markus/builder-artifacts/teams/research-team/ANNOUNCEMENT.md", "# Research Team — Team Announcement\n\n...")
|
|
130
143
|
file_write("~/.markus/builder-artifacts/teams/research-team/NORMS.md", "# Research Team — Working Norms\n\n...")
|
|
131
144
|
file_write("~/.markus/builder-artifacts/teams/research-team/members/research-director/ROLE.md", "# Research Director\n\nYou are **Research Director** — ...\n\n...")
|
|
145
|
+
file_write("~/.markus/builder-artifacts/teams/research-team/members/research-director/HEARTBEAT.md", "# Heartbeat Checklist\n\n- [ ] Check mailbox ...\n- [ ] Review team task board ...\n- [ ] Unblock members ...")
|
|
132
146
|
file_write("~/.markus/builder-artifacts/teams/research-team/members/senior-researcher/ROLE.md", "# Senior Researcher\n\nYou are **Senior Researcher** — ...\n\n...")
|
|
147
|
+
file_write("~/.markus/builder-artifacts/teams/research-team/members/senior-researcher/HEARTBEAT.md", "# Heartbeat Checklist\n\n- [ ] Check mailbox ...\n- [ ] Review assigned tasks ...\n- [ ] Check build status ...")
|
|
133
148
|
```
|
|
134
149
|
|
|
135
150
|
**IMPORTANT**: The member directory slug is derived from the member's `name` field — lowercased, spaces to hyphens, non-alphanumeric removed.
|
|
@@ -148,10 +163,11 @@ file_write("~/.markus/builder-artifacts/teams/research-team/members/senior-resea
|
|
|
148
163
|
### `team.members[]` — Member Specifications (REQUIRED)
|
|
149
164
|
- **`name`**: Display name (the slug for file paths is derived from this)
|
|
150
165
|
- **`role`**: `"manager"` or `"worker"`
|
|
151
|
-
- **`roleName`**: Base role template from the dynamic context
|
|
152
166
|
- **`count`**: Number of instances (default 1)
|
|
153
167
|
- **`skills`**: Skill IDs from the dynamic context. **Actively assign skills — don't leave empty!**
|
|
154
168
|
|
|
169
|
+
**Note**: The `roleName` field is **not needed** for team members. Each member's identity is fully defined by their `ROLE.md` file under `members/{slug}/`. Do NOT include `roleName` unless you specifically want to inherit defaults from a built-in role template (rare).
|
|
170
|
+
|
|
155
171
|
### `team.workflow` — Workflow Configuration (recommended)
|
|
156
172
|
- **`phases`**: Array of phase names defining the team's workflow (e.g., `["plan", "implement", "review", "validate"]`)
|
|
157
173
|
- **`parallelImplementation`**: `true` if multiple members work in parallel during implementation
|
|
@@ -170,7 +186,7 @@ Once all files are written, tell the user:
|
|
|
170
186
|
|
|
171
187
|
## Rules
|
|
172
188
|
|
|
173
|
-
- **DO NOT** invent
|
|
189
|
+
- **DO NOT** invent skill IDs. Only use values from the dynamic context.
|
|
174
190
|
- **DO NOT** leave skills empty when relevant skills are available. Review the skills list!
|
|
175
191
|
- **DO NOT** put file content in the JSON. Always use `file_write` for files.
|
|
176
192
|
- **DO NOT** write artifacts to `~/.markus/shared/` or your working directory. Always use `~/.markus/builder-artifacts/teams/{name}/`.
|