codymaster 4.5.4 → 4.8.0
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/CHANGELOG.md +46 -1
- package/README.md +86 -31
- package/dist/backends/viking-backend.js +235 -0
- package/dist/backends/viking-http-client.js +176 -0
- package/dist/browse-server.js +251 -0
- package/dist/cli/command-registry.js +26 -0
- package/dist/cli/commands/agent.js +120 -0
- package/dist/cli/commands/dashboard.js +93 -0
- package/dist/cli/commands/design-studio.js +111 -0
- package/dist/cli/commands/distro.js +25 -0
- package/dist/cli/commands/engineering.js +488 -0
- package/dist/cli/commands/project.js +324 -0
- package/dist/cli/commands/skill-chain.js +269 -0
- package/dist/cli/commands/system.js +89 -0
- package/dist/cli/commands/task.js +254 -0
- package/dist/cli/update-check.js +83 -0
- package/dist/cm-config.js +110 -0
- package/dist/cm-suggest.js +77 -0
- package/dist/continuity.js +8 -0
- package/dist/distro-validate.js +54 -0
- package/dist/guardian-core.js +74 -0
- package/dist/index.js +36 -2759
- package/dist/mcp-context-server.js +60 -1
- package/dist/mcp-skills-tools.js +81 -0
- package/dist/retro-summary.js +70 -0
- package/dist/second-opinion-providers.js +79 -0
- package/dist/sprint-pipeline.js +228 -0
- package/dist/storage-backend.js +63 -0
- package/dist/utils/cli-utils.js +76 -0
- package/dist/utils/skill-utils.js +32 -0
- package/install.sh +286 -58
- package/package.json +16 -5
- package/scripts/build-skills.mjs +51 -0
- package/scripts/gate-0-repo-hygiene.js +75 -0
- package/scripts/postinstall.js +56 -1
- package/scripts/security-scan.js +1 -1
- package/scripts/validate-skills.mjs +42 -0
- package/scripts/viking-demo.ts +105 -0
- package/skills/CLAUDE.md +2 -2
- package/skills/_shared/helpers.md +10 -0
- package/skills/cm-ads-tracker/SKILL.md +3 -6
- package/skills/cm-browse/SKILL.md +28 -0
- package/skills/cm-conductor-worktrees/SKILL.md +24 -0
- package/skills/cm-content-factory/SKILL.md +1 -1
- package/skills/cm-content-factory/landing/docs/content/changelog.md +36 -0
- package/skills/cm-content-factory/landing/docs/content/deployment.md +46 -0
- package/skills/cm-content-factory/landing/docs/content/execution-flow.md +67 -0
- package/skills/cm-content-factory/landing/docs/content/openspace.md +27 -0
- package/skills/cm-content-factory/landing/docs/content/openviking.md +33 -0
- package/skills/cm-content-factory/landing/docs/content/use-cases.md +26 -0
- package/skills/cm-content-factory/landing/docs/content/v5-intro.md +28 -0
- package/skills/cm-content-factory/landing/docs/index.html +240 -0
- package/skills/cm-content-factory/landing/index.html +99 -99
- package/skills/cm-content-factory/landing/script.js +42 -0
- package/skills/cm-content-factory/landing/translations.js +400 -400
- package/skills/cm-continuity/SKILL.md +33 -6
- package/skills/cm-design-studio/SKILL.md +30 -0
- package/skills/cm-ecosystem-roadmap/SKILL.md +11 -0
- package/skills/cm-engineering-meta/SKILL.md +69 -0
- package/skills/cm-growth-hacking/SKILL.md +1 -12
- package/skills/cm-guardian-runtime/SKILL.md +22 -0
- package/skills/cm-mcp-engineering/SKILL.md +18 -0
- package/skills/cm-notebooklm/SKILL.md +1 -17
- package/skills/cm-post-deploy-canary/SKILL.md +18 -0
- package/skills/cm-qa-visual-cli/SKILL.md +18 -0
- package/skills/cm-retro-cli/SKILL.md +19 -0
- package/skills/cm-second-opinion-cli/SKILL.md +19 -0
- package/skills/cm-secret-shield/SKILL.md +2 -2
- package/skills/cm-sprint-bus/SKILL.md +29 -0
- package/skills/cm-start/SKILL.md +11 -2
- package/skills/cm-tdd/SKILL.md +61 -74
- package/skills/profiles/README.md +21 -0
- package/skills/profiles/core.txt +23 -0
- package/skills/profiles/design.txt +6 -0
- package/skills/profiles/full.txt +58 -0
- package/skills/profiles/growth.txt +10 -0
- package/skills/profiles/knowledge.txt +7 -0
- package/scripts/test-gemini.js +0 -13
- package/skills/cm-frappe-agent/SKILL.md +0 -134
- package/skills/cm-frappe-agent/agents/doctype-architect.md +0 -596
- package/skills/cm-frappe-agent/agents/erpnext-customizer.md +0 -643
- package/skills/cm-frappe-agent/agents/frappe-backend.md +0 -814
- package/skills/cm-frappe-agent/agents/frappe-custom-frontend.md +0 -557
- package/skills/cm-frappe-agent/agents/frappe-debugger.md +0 -625
- package/skills/cm-frappe-agent/agents/frappe-fixer.md +0 -275
- package/skills/cm-frappe-agent/agents/frappe-frontend.md +0 -660
- package/skills/cm-frappe-agent/agents/frappe-installer.md +0 -158
- package/skills/cm-frappe-agent/agents/frappe-performance.md +0 -307
- package/skills/cm-frappe-agent/agents/frappe-planner.md +0 -419
- package/skills/cm-frappe-agent/agents/frappe-remote-ops.md +0 -153
- package/skills/cm-frappe-agent/agents/github-workflow.md +0 -286
- package/skills/cm-frappe-agent/commands/frappe-app.md +0 -351
- package/skills/cm-frappe-agent/commands/frappe-backend.md +0 -162
- package/skills/cm-frappe-agent/commands/frappe-bench.md +0 -254
- package/skills/cm-frappe-agent/commands/frappe-debug.md +0 -263
- package/skills/cm-frappe-agent/commands/frappe-doctype-create.md +0 -272
- package/skills/cm-frappe-agent/commands/frappe-doctype-field.md +0 -310
- package/skills/cm-frappe-agent/commands/frappe-erpnext.md +0 -210
- package/skills/cm-frappe-agent/commands/frappe-fix.md +0 -59
- package/skills/cm-frappe-agent/commands/frappe-frontend.md +0 -210
- package/skills/cm-frappe-agent/commands/frappe-fullstack.md +0 -243
- package/skills/cm-frappe-agent/commands/frappe-github.md +0 -57
- package/skills/cm-frappe-agent/commands/frappe-install.md +0 -52
- package/skills/cm-frappe-agent/commands/frappe-plan.md +0 -442
- package/skills/cm-frappe-agent/commands/frappe-remote.md +0 -58
- package/skills/cm-frappe-agent/commands/frappe-test.md +0 -356
- package/skills/cm-frappe-agent/docs/README.md +0 -51
- package/skills/cm-frappe-agent/docs/agents-catalog.md +0 -113
- package/skills/cm-frappe-agent/docs/architecture.md +0 -149
- package/skills/cm-frappe-agent/docs/commands-catalog.md +0 -82
- package/skills/cm-frappe-agent/docs/resources-catalog.md +0 -66
- package/skills/cm-frappe-agent/docs/sitemap-urls.txt +0 -52
- package/skills/cm-frappe-agent/docs/sitemap.md +0 -81
- package/skills/cm-frappe-agent/docs/sop/user-guide.md +0 -178
- package/skills/cm-frappe-agent/docs/sop/vibe-coding-guide.md +0 -122
- package/skills/cm-frappe-agent/resources/7-layer-architecture.md +0 -985
- package/skills/cm-frappe-agent/resources/bench_commands.md +0 -73
- package/skills/cm-frappe-agent/resources/code-patterns-guide.md +0 -948
- package/skills/cm-frappe-agent/resources/common_pitfalls.md +0 -266
- package/skills/cm-frappe-agent/resources/doctype-registry.md +0 -158
- package/skills/cm-frappe-agent/resources/installation-guide.md +0 -289
- package/skills/cm-frappe-agent/resources/rest-api-patterns.md +0 -182
- package/skills/cm-frappe-agent/resources/scaffold_checklist.md +0 -82
- package/skills/cm-frappe-agent/resources/upgrade_patterns.md +0 -113
- package/skills/cm-frappe-agent/resources/web-form-patterns.md +0 -252
- package/skills/cm-frappe-agent/skills/bench-commands/SKILL.md +0 -621
- package/skills/cm-frappe-agent/skills/client-scripts/SKILL.md +0 -642
- package/skills/cm-frappe-agent/skills/doctype-patterns/SKILL.md +0 -576
- package/skills/cm-frappe-agent/skills/frappe-api/SKILL.md +0 -740
- package/skills/cm-frappe-agent/skills/remote-operations/SKILL.md +0 -47
- package/skills/cm-frappe-agent/skills/server-scripts/SKILL.md +0 -608
- package/skills/cm-frappe-agent/skills/web-forms/SKILL.md +0 -46
- package/skills/frappe-app-builder.zip +0 -0
|
@@ -48,6 +48,25 @@ cm continuity mcp
|
|
|
48
48
|
|
|
49
49
|
# Migrate learnings.json + decisions.json → SQLite (one-time)
|
|
50
50
|
cm continuity migrate
|
|
51
|
+
|
|
52
|
+
# Export SQLite back to JSON (backup)
|
|
53
|
+
cm continuity export
|
|
54
|
+
|
|
55
|
+
# ── OpenViking backend (optional) ────────────────────────
|
|
56
|
+
# 1. Install OpenViking server (Python 3.10+)
|
|
57
|
+
pip install openviking --upgrade
|
|
58
|
+
|
|
59
|
+
# 2. Configure ~/.openviking/ov.conf with embedding provider, then start:
|
|
60
|
+
openviking start # Runs on localhost:1933 by default
|
|
61
|
+
|
|
62
|
+
# 3. Switch CodyMaster to use OpenViking in .cm/config.yaml:
|
|
63
|
+
# storage:
|
|
64
|
+
# backend: viking
|
|
65
|
+
# viking:
|
|
66
|
+
# host: localhost
|
|
67
|
+
# port: 1933
|
|
68
|
+
# workspace: codymaster
|
|
69
|
+
# timeout: 60000
|
|
51
70
|
```
|
|
52
71
|
|
|
53
72
|
## The Protocol
|
|
@@ -163,15 +182,22 @@ Tier 2: WORKING MEMORY (current session → 7 days)
|
|
|
163
182
|
· Read via: cm continuity bus | cm_bus_read MCP tool
|
|
164
183
|
|
|
165
184
|
Tier 3: LONG-TERM MEMORY (30+ days, only if reinforced)
|
|
166
|
-
→
|
|
185
|
+
→ Default: .cm/context.db (SQLite + FTS5)
|
|
167
186
|
· learnings table + learnings_fts (BM25 keyword search)
|
|
168
187
|
· decisions table + decisions_fts
|
|
169
188
|
· skill_outputs per session/chain
|
|
170
189
|
· indexes table (cached L0/L1 content + staleness hash)
|
|
190
|
+
→ Optional: OpenViking backend (storage.backend: viking in .cm/config.yaml)
|
|
191
|
+
· True vector semantic search — finds "async timeout" even when you query "network delay"
|
|
192
|
+
· L0/L1/L2 auto-generated by engine — no manual cm continuity index needed
|
|
193
|
+
· Session compression + long-term memory extraction built-in
|
|
194
|
+
· Graph relations between memories (link/unlink)
|
|
195
|
+
· Setup: pip install openviking && openviking start
|
|
171
196
|
→ Fallback: .cm/memory/learnings.json + decisions.json (kept for compat)
|
|
172
197
|
→ L0 indexes: .cm/learnings-index.md (~100 tok), .cm/skeleton-index.md (~500 tok)
|
|
173
198
|
· Auto-regenerated on addLearning() + on demand via cm continuity index
|
|
174
199
|
· File watcher auto-refreshes learnings L0 on JSON change (300ms debounce)
|
|
200
|
+
· With Viking: engine generates L0/L1 automatically — no file watcher needed
|
|
175
201
|
→ Token budget: .cm/token-budget.json — 200k window, per-category soft limits
|
|
176
202
|
· Enforced at load time: checkBudget() → allowed/remaining/suggestion
|
|
177
203
|
· View: cm continuity budget
|
|
@@ -185,11 +211,12 @@ Tier 5: STRUCTURAL CODE MEMORY (optional — code-heavy projects)
|
|
|
185
211
|
→ See cm-codeintell skill — ONLY when >50 source files
|
|
186
212
|
```
|
|
187
213
|
|
|
188
|
-
**CONTINUITY.md
|
|
189
|
-
**context bus
|
|
190
|
-
**L0 indexes
|
|
191
|
-
**context.db
|
|
192
|
-
**
|
|
214
|
+
**CONTINUITY.md = "what am I doing NOW?"**
|
|
215
|
+
**context bus = "what did upstream skills produce in this chain?"**
|
|
216
|
+
**L0 indexes = "cheapest possible memory load (~600 tokens)"**
|
|
217
|
+
**context.db = "keyword search across all learnings + decisions"**
|
|
218
|
+
**OpenViking (opt.) = "semantic vector search + auto L0/L1 + session compression"**
|
|
219
|
+
**qmd (optional) = "find what was written across hundreds of docs"**
|
|
193
220
|
|
|
194
221
|
### MCP Context Server (Claude Desktop integration)
|
|
195
222
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# cm-design-studio
|
|
2
|
+
|
|
3
|
+
> Local design-variant workspace: checklist, named variants, and a handoff stub—no external MCP required.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- You want **2–3 UI/UX variants** documented before coding.
|
|
8
|
+
- You need a **repeatable handoff** from design choice to implementation agents.
|
|
9
|
+
- You prefer **files under `.cm/`** over ad-hoc chat-only decisions.
|
|
10
|
+
|
|
11
|
+
## Steps
|
|
12
|
+
|
|
13
|
+
1. From the repo root: `cm design-studio init`
|
|
14
|
+
2. Edit `.cm/design-studio/CHECKLIST.md` and `VARIANTS.md` (name options A/B/C).
|
|
15
|
+
3. Pick a variant; complete `.cm/design-studio/HANDOFF.md` (screens, tokens, prompt stub).
|
|
16
|
+
4. Run implementation skills (e.g. `cm-execution`, `cm-tdd`) **using the HANDOFF prompt stub** as the single source of truth.
|
|
17
|
+
|
|
18
|
+
Optional: `cm design-studio status` — list artifact files.
|
|
19
|
+
|
|
20
|
+
## Output
|
|
21
|
+
|
|
22
|
+
- `.cm/design-studio/README.md` — happy path
|
|
23
|
+
- `.cm/design-studio/CHECKLIST.md`
|
|
24
|
+
- `.cm/design-studio/VARIANTS.md`
|
|
25
|
+
- `.cm/design-studio/HANDOFF.md`
|
|
26
|
+
|
|
27
|
+
## Related
|
|
28
|
+
|
|
29
|
+
- ADR 003 (`docs/adr/003-skill-distro-and-meta.md`) for pack layout when publishing skills.
|
|
30
|
+
- `cm suggest` may recommend other skills based on git + sprint state.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# cm-ecosystem-roadmap — marketplace & distros
|
|
2
|
+
|
|
3
|
+
**In CLI today:** `cm distro validate <dir>` checks skill folder layout; see **ADR 003** (`docs/adr/003-skill-distro-and-meta.md`) for `meta.json` + tmpl rules.
|
|
4
|
+
|
|
5
|
+
**Backlog** (community scale-out):
|
|
6
|
+
|
|
7
|
+
- **`cm marketplace`** — starred skills, semver, dependency graph.
|
|
8
|
+
- **`cm install`** / **`cm distro create`** — preset skill packs + branding (SaaS, e-commerce, mobile, agency).
|
|
9
|
+
- **Publish** — npm and/or git tags as distribution channels.
|
|
10
|
+
|
|
11
|
+
Reuse **meta.json** + `SKILL.md.tmpl` from `scripts/build-skills.mjs` for reproducible skill packages.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# cm-engineering-meta — quick wins + access + voice map
|
|
2
|
+
|
|
3
|
+
## Search before building
|
|
4
|
+
|
|
5
|
+
Before adding infrastructure, search in three layers:
|
|
6
|
+
|
|
7
|
+
1. **Tried-and-true** — patterns already in this repo / sibling services.
|
|
8
|
+
2. **New-and-popular** — current docs for your stack version.
|
|
9
|
+
3. **First-principles** — only when 1–2 don’t apply.
|
|
10
|
+
|
|
11
|
+
## AskUserQuestion format
|
|
12
|
+
|
|
13
|
+
When asking the human to choose:
|
|
14
|
+
|
|
15
|
+
- Short **context** (what you already know).
|
|
16
|
+
- Clear **question**.
|
|
17
|
+
- **RECOMMENDATION** (one option you’d pick and why).
|
|
18
|
+
- Lettered options **A / B / C** (not vague yes/no).
|
|
19
|
+
|
|
20
|
+
## Review readiness dashboard (ASCII)
|
|
21
|
+
|
|
22
|
+
Before ship, print a table:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
| Gate | Status | Notes |
|
|
26
|
+
|-------------|--------|-------|
|
|
27
|
+
| Tests | ? | |
|
|
28
|
+
| Lint/Type | ? | |
|
|
29
|
+
| Secrets | ? | |
|
|
30
|
+
| Manual QA | ? | |
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Completeness gap (code review)
|
|
34
|
+
|
|
35
|
+
Flag when an **80% solution** is chosen but the **100%** path costs **< 30 minutes** (tests, edge case, docs).
|
|
36
|
+
|
|
37
|
+
## Investigate Iron Law
|
|
38
|
+
|
|
39
|
+
- Do **not** patch without a **root cause** hypothesis.
|
|
40
|
+
- After **three** failed fix attempts, stop and question architecture or gather more data.
|
|
41
|
+
|
|
42
|
+
## Access controls (Goose-style)
|
|
43
|
+
|
|
44
|
+
- Maintain lists: **autonomous_ok** vs **confirm_required** skill groups (see `.cm/config.example.yaml`).
|
|
45
|
+
- Respect “stop suggesting skill X” in session notes.
|
|
46
|
+
|
|
47
|
+
## Provider abstraction
|
|
48
|
+
|
|
49
|
+
Prefer interfaces for LLM calls so **cm-second-opinion** can swap `OPENAI_API_KEY` / future providers without rewriting skills.
|
|
50
|
+
|
|
51
|
+
## Proactive skill suggestion
|
|
52
|
+
|
|
53
|
+
Infer stage from files touched and git state:
|
|
54
|
+
|
|
55
|
+
- Many `test/` edits → suggest **cm-test-gate**.
|
|
56
|
+
- `Dockerfile` / deploy scripts → **cm-safe-deploy** + **cm canary**.
|
|
57
|
+
- `rm` / migration scripts → **cm-guardian** + **cm-secret-shield**.
|
|
58
|
+
|
|
59
|
+
## Voice-friendly triggers (examples)
|
|
60
|
+
|
|
61
|
+
| Phrase (approx.) | Skill / command |
|
|
62
|
+
|------------------|-----------------|
|
|
63
|
+
| “Run a security check” | cm-secret-shield / cm-security-gate |
|
|
64
|
+
| “Test the website” | cm browse + cm qa-visual |
|
|
65
|
+
| “Code review this” | cm-code-review |
|
|
66
|
+
| “Deploy safely” | cm-safe-deploy |
|
|
67
|
+
| “Log what went wrong” | `cm retro --note "…"` |
|
|
68
|
+
|
|
69
|
+
Use Whisper / AquaVoice → paste transcript; map keywords to the table above.
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-growth-hacking
|
|
3
|
-
description:
|
|
4
|
-
Growth Hacking Engine — Bottom Sheet + Calendar + Trigger + CRO Tracking.
|
|
5
|
-
Modular system for booking popups, lead capture, flash sales, surveys, re-engagement.
|
|
6
|
-
Auto-detect industry → select pattern → generate bottom sheet + calendar CTA + tracking.
|
|
7
|
-
Zero dependencies, works on any static or dynamic site.
|
|
8
|
-
|
|
9
|
-
Kế thừa và liên kết với: cm-booking-calendar, cm-ads-tracker, cm-google-form, cm-readit, cm-ux-master.
|
|
10
|
-
|
|
11
|
-
ALWAYS trigger for: bottom sheet, popup, đặt lịch, booking popup, lead capture, exit intent,
|
|
12
|
-
engagement, "tạo popup", "thêm bottom sheet", "popup đặt lịch", "nhắc lịch hẹn",
|
|
13
|
-
"add to calendar", "google calendar", "apple calendar", flash sale popup, survey popup,
|
|
14
|
-
"tăng conversion", "giảm bounce", re-engagement, "popup CTA"
|
|
3
|
+
description: "Bottom-sheet and popup growth system: booking CTAs, calendars, lead capture, surveys, re-engagement, with CRO tracking hooks. Zero-deps; works static or dynamic sites. Works with cm-booking-calendar, cm-ads-tracker, cm-google-form, cm-readit, cm-ux-master."
|
|
15
4
|
allowed-tools: Read, Write, Edit, Glob, Grep, Browser
|
|
16
5
|
version: 1.0
|
|
17
6
|
priority: HIGH
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# cm-guardian-runtime — destructive command & freeze checks
|
|
2
|
+
|
|
3
|
+
## Commands
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
cm guardian check -- git push --force origin main # exits 1 if blocked
|
|
7
|
+
cm guardian path-check --file ./src/app.ts --roots src,lib
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Behaviour
|
|
11
|
+
|
|
12
|
+
- Regex set for `rm -rf`, `DROP TABLE`, `git push --force`, `git reset --hard`, pipes to shell, etc.
|
|
13
|
+
- Prefix whitelist includes `npm run build`, `npm test`, `npx vitest`.
|
|
14
|
+
- Violations append to `.cm/guardian.log`.
|
|
15
|
+
|
|
16
|
+
## Investigate / debug mode
|
|
17
|
+
|
|
18
|
+
When using **cm-debugging** or root-cause work, treat **freeze roots** as mandatory: only edit inside allowed directories until the hypothesis is proven.
|
|
19
|
+
|
|
20
|
+
## Config
|
|
21
|
+
|
|
22
|
+
See `.cm/config.example.yaml` → `guardian:`.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# cm-mcp-engineering — MCP tools on context server
|
|
2
|
+
|
|
3
|
+
The same binary as memory MCP (`dist/mcp-context-server.js`) now exposes **engineering bridge** tools:
|
|
4
|
+
|
|
5
|
+
| Tool | Purpose |
|
|
6
|
+
|------|---------|
|
|
7
|
+
| `cm_plan` | Sprint state + artifact paths + next skill hint |
|
|
8
|
+
| `cm_review` | Preview `.cm/sprint/artifacts/review.md` |
|
|
9
|
+
| `cm_qa` | Pointers to browse daemon + `cm qa-visual` |
|
|
10
|
+
| `cm_deploy` | Hints for safe deploy + canary |
|
|
11
|
+
| `cm_search` | Learnings + decisions search |
|
|
12
|
+
| `cm_memory_query` | Same backing store, alias-style |
|
|
13
|
+
|
|
14
|
+
Existing tools unchanged: `cm_query`, `cm_resolve`, `cm_bus_read`, `cm_bus_write`, `cm_budget_check`, `cm_memory_decay`, `cm_index_refresh`.
|
|
15
|
+
|
|
16
|
+
## Config
|
|
17
|
+
|
|
18
|
+
Point `--project` at the repo root (or `CM_PROJECT_PATH`).
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cm-notebooklm
|
|
3
|
-
description:
|
|
4
|
-
CodyMaster NotebookLM — Cloud-based AI brain/soul engine. Stores the most
|
|
5
|
-
valuable knowledge (skills, lessons learned, coding experiences, key decisions)
|
|
6
|
-
into Google NotebookLM for cross-machine sync and AI-powered recall.
|
|
7
|
-
Combines cm-dockit (codebase → docs) + cm-deep-search (local BM25) +
|
|
8
|
-
NotebookLM (cloud AI memory + podcast + flashcards).
|
|
9
|
-
|
|
10
|
-
Offers LOCAL vs CLOUD choice for large codebases. Auto-sync mechanism.
|
|
11
|
-
Selective indexing — only high-value content, not everything.
|
|
12
|
-
|
|
13
|
-
Use when user says: "notebooklm", "notebook lm", "nlm", "nạp kiến thức",
|
|
14
|
-
"knowledge base", "create notebook", "sync skills to notebook", "tạo notebook",
|
|
15
|
-
"knowledge memory", "podcast từ skills", "flashcards từ docs",
|
|
16
|
-
"add to notebooklm", "query notebooklm", "hỏi notebooklm",
|
|
17
|
-
"lưu kinh nghiệm", "bộ nhớ AI", "AI memory", "tạo podcast",
|
|
18
|
-
"codymaster notebook", "skill notebook", "sync knowledge",
|
|
19
|
-
"cloud brain", "soul sync", "cross-machine sync".
|
|
3
|
+
description: "Sync high-value dev knowledge (skills, decisions, lessons) into Google NotebookLM for cloud recall, podcasts, and flashcards. Pairs with Dockit/deep-search. Use for NotebookLM, nlm, knowledge base, skill sync, or cross-machine AI memory."
|
|
20
4
|
---
|
|
21
5
|
|
|
22
6
|
# Goal
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# cm-post-deploy-canary — smoke + browse tail
|
|
2
|
+
|
|
3
|
+
## CLI
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
cm canary --url https://app.example.com
|
|
7
|
+
cm canary --url https://app.example.com --browse-port 17395 --token "$CM_BROWSE_TOKEN"
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Flow
|
|
11
|
+
|
|
12
|
+
1. **HTTP GET** the URL (status < 400).
|
|
13
|
+
2. Optionally pull **browse daemon** `/console` for recent browser errors after deploy.
|
|
14
|
+
|
|
15
|
+
## Next
|
|
16
|
+
|
|
17
|
+
- Wire into **cm-safe-deploy** as a final step.
|
|
18
|
+
- Add programmatic CWV (Lighthouse) when you need baselines per PR.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# cm-qa-visual-cli — screenshot via browse daemon
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
`cm browse start` running with the same `CM_BROWSE_TOKEN`.
|
|
6
|
+
|
|
7
|
+
## CLI
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
cm qa-visual --url http://localhost:5173 --port 17395
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Writes `cm-qa-visual.png` in the current working directory.
|
|
14
|
+
|
|
15
|
+
## Next
|
|
16
|
+
|
|
17
|
+
- Diff against golden images for visual regression.
|
|
18
|
+
- Map `git diff` → affected routes (project-specific heuristics).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# cm-retro-cli — operational learnings JSONL
|
|
2
|
+
|
|
3
|
+
## Append
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
cm retro --project . --tool claude --note "Forgot to run gate before push; CI failed on lint."
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Stored in `.cm/operational-learnings.jsonl`.
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
cm retro --project . --summary
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Use with skill evolution
|
|
18
|
+
|
|
19
|
+
Feed highlights into **cm-skill-evolution** / project learnings DB so future sessions avoid repeating mistakes.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# cm-second-opinion-cli — cross-model review stub
|
|
2
|
+
|
|
3
|
+
## CLI
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
cm second-opinion --file /tmp/my.diff
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
- With `OPENAI_API_KEY`, calls **OpenAI chat completions** (`CM_SECOND_OPINION_MODEL` optional, default `gpt-4o-mini`).
|
|
10
|
+
- Without key, prints a **stub** reminder (no network).
|
|
11
|
+
|
|
12
|
+
## Safety
|
|
13
|
+
|
|
14
|
+
- **Never** paste secrets or production credentials into the diff file.
|
|
15
|
+
- Prefer unified diffs of **application code** only.
|
|
16
|
+
|
|
17
|
+
## Roadmap
|
|
18
|
+
|
|
19
|
+
Add Anthropic / Google / Ollama providers via shared provider interface (see **cm-engineering-meta**).
|
|
@@ -79,8 +79,8 @@ ROTATION is not optional after a leak.
|
|
|
79
79
|
// ❌ NEVER write code like this:
|
|
80
80
|
const API_KEY = "sk-proj-abc123def456ghi789";
|
|
81
81
|
const SUPABASE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
|
|
82
|
-
const DB_PASSWORD = "
|
|
83
|
-
fetch('https://api.example.com', { headers: { Authorization: 'Bearer
|
|
82
|
+
const DB_PASSWORD = "<YOUR_SECURE_PASSWORD>";
|
|
83
|
+
fetch('https://api.example.com', { headers: { Authorization: 'Bearer <YOUR_TOKEN>' } });
|
|
84
84
|
|
|
85
85
|
// ✅ ALWAYS write code like this:
|
|
86
86
|
const API_KEY = process.env.API_KEY;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# cm-sprint-bus — opinionated pipeline + artifacts
|
|
2
|
+
|
|
3
|
+
## Pipeline
|
|
4
|
+
|
|
5
|
+
`brainstorm → plan → design → tdd → build → review → qa → security → ship → monitor → retro`
|
|
6
|
+
|
|
7
|
+
## CLI
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
cm sprint init --project .
|
|
11
|
+
cm sprint init --from plan --project . # jump in mid-pipeline
|
|
12
|
+
cm sprint status --project .
|
|
13
|
+
cm sprint complete plan -m "$(cat plan-notes.md)" --project .
|
|
14
|
+
cm sprint dry-run --project .
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Artifacts
|
|
18
|
+
|
|
19
|
+
- `.cm/sprint/state.json`
|
|
20
|
+
- `.cm/sprint/artifacts/<step>.md`
|
|
21
|
+
- `.cm/sprint/events.jsonl`
|
|
22
|
+
|
|
23
|
+
## Skill mapping (hints)
|
|
24
|
+
|
|
25
|
+
Each step maps to existing CodyMaster skills (see `skillMappingForStep` in `src/sprint-pipeline.ts`). Use `cm sprint status` for the **next** recommended skill.
|
|
26
|
+
|
|
27
|
+
## Context bus
|
|
28
|
+
|
|
29
|
+
This complements `.cm/context-bus.json` (skill-chain). Prefer **sprint files** for linear release trains; use **context bus** for ad-hoc chains.
|
package/skills/cm-start/SKILL.md
CHANGED
|
@@ -13,12 +13,15 @@ When this workflow is called, the AI Assistant should execute the following acti
|
|
|
13
13
|
Per `_shared/helpers.md#Load-Working-Memory` — **use Smart Spine order:**
|
|
14
14
|
1. Check `.cm/context-bus.json` → any active pipeline? any prior skill output to reuse?
|
|
15
15
|
2. Load L0 indexes: `learnings-index.md` (~100 tok) + `skeleton-index.md` (~500 tok)
|
|
16
|
+
> **If OpenViking backend active:** Skip step 2 — engine auto-serves L0/L1 via `cm_resolve`.
|
|
16
17
|
3. Scope-filter learnings via `cm_query` — only load what matches current objective
|
|
18
|
+
> **If OpenViking:** `cm_query` uses vector semantic search — broader recall, fewer missed learnings.
|
|
17
19
|
4. Read `CONTINUITY.md` → set Active Goal to the new objective
|
|
18
20
|
5. Run token budget check: `cm continuity budget` → confirm no category is over soft limit
|
|
19
21
|
|
|
20
22
|
> ⚡ Total context load: ~700 tokens. Full load used to be ~3,200.
|
|
21
23
|
> Only escalate to L2 (full files) if L0 index explicitly flags a match.
|
|
24
|
+
> With OpenViking: L0 is auto-maintained — no stale index risk.
|
|
22
25
|
|
|
23
26
|
0.5. **Skill Coverage Check (Adaptive Discovery):**
|
|
24
27
|
- Scan the objective for technologies, frameworks, or patterns mentioned
|
|
@@ -82,5 +85,11 @@ When this workflow is called, the AI Assistant should execute the following acti
|
|
|
82
85
|
- Record any new learnings or decisions made during this workflow
|
|
83
86
|
- If inside a skill chain: `cm continuity bus` → verify context bus reflects completed step
|
|
84
87
|
- Refresh L0 indexes: `cm continuity index` (auto-runs on `addLearning`, manual refresh here)
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
> **If OpenViking:** Skip manual index refresh — engine maintains L0/L1 automatically.
|
|
89
|
+
|
|
90
|
+
> **Note for AI:** If this is a brand new project, suggest running `cm-project-bootstrap` first.
|
|
91
|
+
> If the working environment has a risk of accidentally switching accounts/projects, remind about `cm-identity-guard` (Per `_shared/helpers.md#Identity-Check`).
|
|
92
|
+
>
|
|
93
|
+
> **OpenViking tip:** If the project uses many learnings/decisions (>100 entries) or needs semantic
|
|
94
|
+
> search beyond keyword matching, suggest switching to the Viking backend:
|
|
95
|
+
> `storage.backend: viking` in `.cm/config.yaml` + `pip install openviking && openviking start`
|