nemonix-cli 1.0.0 → 1.0.2
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/cli.js +36 -4
- package/package.json +1 -1
- package/src/config/claude-code-config/CHANGELOG.md +9 -9
- package/src/config/claude-code-config/agents/implementer.md +2 -2
- package/src/config/claude-code-config/commands/prompts/nextjs-setup-project.md +1 -1
- package/src/config/claude-code-config/commands/prompts/saas-create-architecture.md +2 -2
- package/src/config/claude-code-config/commands/prompts/tools.md +3 -3
- package/src/config/claude-code-config/scripts/auto-rename-session/__tests__/shared.test.ts +4 -4
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/sample-transcript.jsonl +2 -2
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-short-message.jsonl +1 -1
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-with-title.jsonl +1 -1
- package/src/config/claude-code-config/scripts/auto-rename-session/src/rename-all.ts +1 -1
- package/src/config/claude-code-config/scripts/auto-rename-session/src/shared.ts +3 -3
- package/src/config/claude-code-config/scripts/command-validator/README.md +2 -2
- package/src/config/claude-code-config/scripts/statusline/CLAUDE.md +1 -1
- package/src/config/claude-code-config/scripts/statusline/README.md +1 -1
- package/src/config/claude-code-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -4
- package/src/config/claude-code-config/scripts/statusline/fixtures/test-input.json +4 -4
- package/src/config/claude-code-config/settings.json +5 -5
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-06-tasks.md +2 -2
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/SKILL.md +1 -1
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/workflow-patterns.md +1 -1
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-00-init.md +2 -2
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-01-interactive-prd.md +3 -3
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/SKILL.md +13 -13
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/scripts/setup-templates.sh +8 -8
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/scripts/update-progress.sh +2 -2
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-00-init.md +7 -7
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-00b-branch.md +1 -1
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-00b-interactive.md +3 -3
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-00b-save.md +5 -5
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-03-execute-teams.md +6 -6
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-06-resolve.md +1 -1
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-09-finish.md +5 -5
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/00-context.md +1 -1
- package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/README.md +4 -4
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-00b-economy.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-01-analyze.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-02-plan.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-02b-tasks.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-03-execute.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-04-validate.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-05-examine.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-07-tests.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-08-run-tests.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/01-analyze.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/02-plan.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/03-execute.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/04-validate.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/05-examine.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/06-resolve.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/07-tests.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/08-run-tests.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/09-finish.md +0 -0
- /package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/step-complete.md +0 -0
package/dist/cli.js
CHANGED
|
@@ -2789,9 +2789,9 @@ GFS4: `);
|
|
|
2789
2789
|
function readdir(path, options, cb) {
|
|
2790
2790
|
if (typeof options === "function")
|
|
2791
2791
|
cb = options, options = null;
|
|
2792
|
-
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$
|
|
2792
|
+
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path2, options2, cb2, startTime) {
|
|
2793
2793
|
return fs$readdir(path2, fs$readdirCallback(path2, options2, cb2, startTime));
|
|
2794
|
-
} : function go$
|
|
2794
|
+
} : function go$readdir2(path2, options2, cb2, startTime) {
|
|
2795
2795
|
return fs$readdir(path2, options2, fs$readdirCallback(path2, options2, cb2, startTime));
|
|
2796
2796
|
};
|
|
2797
2797
|
return go$readdir(path, options, cb);
|
|
@@ -3656,7 +3656,7 @@ var require_empty = __commonJS((exports, module) => {
|
|
|
3656
3656
|
var path = __require("path");
|
|
3657
3657
|
var mkdir = require_mkdirs();
|
|
3658
3658
|
var remove = require_remove();
|
|
3659
|
-
var emptyDir = u2(async function
|
|
3659
|
+
var emptyDir = u2(async function emptyDir2(dir) {
|
|
3660
3660
|
let items;
|
|
3661
3661
|
try {
|
|
3662
3662
|
items = await fs.readdir(dir);
|
|
@@ -4376,7 +4376,7 @@ var r = { modifier: { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23
|
|
|
4376
4376
|
Object.keys(r.modifier);
|
|
4377
4377
|
var tD = Object.keys(r.color);
|
|
4378
4378
|
var eD = Object.keys(r.bgColor);
|
|
4379
|
-
[...tD];
|
|
4379
|
+
[...tD, ...eD];
|
|
4380
4380
|
function sD() {
|
|
4381
4381
|
const t = new Map;
|
|
4382
4382
|
for (const [u, F] of Object.entries(r)) {
|
|
@@ -6626,6 +6626,37 @@ async function installConfig() {
|
|
|
6626
6626
|
}
|
|
6627
6627
|
v2.success(import_picocolors4.default.green(`Installed ${installed} files to ${targetDir}`));
|
|
6628
6628
|
}
|
|
6629
|
+
async function installShellAliases() {
|
|
6630
|
+
const aliases = [
|
|
6631
|
+
'alias cc="claude --dangerously-skip-permissions"',
|
|
6632
|
+
'alias ccc="claude --continue --dangerously-skip-permissions"'
|
|
6633
|
+
];
|
|
6634
|
+
const marker = "# nemonix-cli aliases";
|
|
6635
|
+
const block = `${marker}
|
|
6636
|
+
${aliases.join(`
|
|
6637
|
+
`)}
|
|
6638
|
+
${marker} end`;
|
|
6639
|
+
const home = os.homedir();
|
|
6640
|
+
const shell = process.env.SHELL || "/bin/bash";
|
|
6641
|
+
const rcFile = shell.includes("zsh") ? path.join(home, ".zshrc") : path.join(home, ".bashrc");
|
|
6642
|
+
const spinner = L2();
|
|
6643
|
+
spinner.start(`Adding shell aliases to ${path.basename(rcFile)}`);
|
|
6644
|
+
let content = "";
|
|
6645
|
+
if (import_fs_extra.default.existsSync(rcFile)) {
|
|
6646
|
+
content = await import_fs_extra.default.readFile(rcFile, "utf-8");
|
|
6647
|
+
}
|
|
6648
|
+
if (content.includes(marker)) {
|
|
6649
|
+
content = content.replace(new RegExp(`${marker}\\n[\\s\\S]*?${marker} end`), block);
|
|
6650
|
+
} else {
|
|
6651
|
+
content = content.trimEnd() + `
|
|
6652
|
+
|
|
6653
|
+
` + block + `
|
|
6654
|
+
`;
|
|
6655
|
+
}
|
|
6656
|
+
await import_fs_extra.default.writeFile(rcFile, content);
|
|
6657
|
+
spinner.stop(`${import_picocolors4.default.green("✓")} Aliases added to ${path.basename(rcFile)} — ${import_picocolors4.default.dim("cc")} and ${import_picocolors4.default.dim("ccc")}`);
|
|
6658
|
+
v2.info(` Run ${import_picocolors4.default.cyan(`source ${rcFile}`)} or open a new terminal to use them.`);
|
|
6659
|
+
}
|
|
6629
6660
|
async function installDeps() {
|
|
6630
6661
|
const scriptsDir = path.join(getClaudeDir(), "scripts");
|
|
6631
6662
|
if (!import_fs_extra.default.existsSync(path.join(scriptsDir, "package.json"))) {
|
|
@@ -6820,6 +6851,7 @@ async function setup() {
|
|
|
6820
6851
|
await installConfig();
|
|
6821
6852
|
await mergeSettings();
|
|
6822
6853
|
await installDeps();
|
|
6854
|
+
await installShellAliases();
|
|
6823
6855
|
fe(import_picocolors6.default.green("Claude Code config installed! Restart Claude Code to apply changes."));
|
|
6824
6856
|
}
|
|
6825
6857
|
async function update() {
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- `skills/web-design-guidelines/` - Review UI code for Web Interface Guidelines compliance
|
|
8
8
|
|
|
9
9
|
### Updated Skills
|
|
10
|
-
- `skills/
|
|
10
|
+
- `skills/nemo/` - Enhanced NEMO methodology with setup templates and updated step flows
|
|
11
11
|
- `skills/create-saas/` - Complete SaaS workflow with discovery, brainstorm, validate, PRD, architecture, and task phases
|
|
12
12
|
- `skills/debug-skills/` - Improved error debugging with systematic analysis and verification
|
|
13
13
|
- `skills/review-code/` - Enhanced code review with security, clean code, and best practices
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
- `commands/debug-ccli.md` - Debug Claude CLI errors by analyzing debug logs
|
|
35
35
|
|
|
36
36
|
### New Skills
|
|
37
|
-
- `skills/
|
|
37
|
+
- `skills/nemo-skills/` - NEMO methodology skill
|
|
38
38
|
- `skills/brainstorm-skills/` - Deep iterative research skill
|
|
39
39
|
- `skills/ci-experts-skills/` - CI/CD debugging skill
|
|
40
40
|
- `skills/claude-memory-skills/` - CLAUDE.md creation skill
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
- **New**: `nextjs-speed` - Optimize Next.js pages for speed
|
|
112
112
|
- **New**: `optimize-prisma-query` - Audit Prisma queries for minimal data selection
|
|
113
113
|
- **New**: `review-emails` - Analyze marketing emails for clarity
|
|
114
|
-
- **New**: `
|
|
114
|
+
- **New**: `redk3rn3l/*` - Personal utility commands (vercel-cli, neon-cli, knip-cleanup, etc.)
|
|
115
115
|
|
|
116
116
|
### Skills
|
|
117
117
|
- **New**: `ci-experts` - CI/CD debugging with Vercel and GitHub CLI references
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
- **New**: `prompts/saas-create-logos` - Create minimalist SVG logos
|
|
143
143
|
|
|
144
144
|
### Deleted
|
|
145
|
-
- **Removed**: `
|
|
145
|
+
- **Removed**: `redk3rn3l/*` commands (moved to personal config)
|
|
146
146
|
|
|
147
147
|
### Skills
|
|
148
148
|
- **New**: `claude-memory` - CLAUDE.md file structure and best practices
|
|
@@ -201,9 +201,9 @@
|
|
|
201
201
|
## [2025-11-12]
|
|
202
202
|
|
|
203
203
|
### Commands
|
|
204
|
-
- **New**: `
|
|
204
|
+
- **New**: `redk3rn3l/*` - Personal utility commands
|
|
205
205
|
- Reorganize commands: move utils/ to git/ for git-related commands
|
|
206
|
-
- Rename validate to examine in
|
|
206
|
+
- Rename validate to examine in nemo-quick workflow
|
|
207
207
|
|
|
208
208
|
### Statusline
|
|
209
209
|
- Add interactive config command
|
|
@@ -218,8 +218,8 @@
|
|
|
218
218
|
- **New**: `snipper` - Fast code modification agent
|
|
219
219
|
|
|
220
220
|
### Commands
|
|
221
|
-
- **New**: `
|
|
222
|
-
- **New**: `
|
|
221
|
+
- **New**: `nemo` workflow (formerly epct) - Systematic implementation
|
|
222
|
+
- **New**: `nemo-quick/*` - Quick versions without task folders
|
|
223
223
|
- **New**: `debug` - Deep error analysis
|
|
224
224
|
- **New**: `explain` - Deep code explanation with diagrams
|
|
225
225
|
- **New**: `marketing/copywriting` - Marketing copy specialist
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
|
|
230
230
|
### Structure
|
|
231
231
|
- Reorganize commands into modules (git/, prompts/, tasks/, utils/, marketing/)
|
|
232
|
-
- Rename epct to
|
|
232
|
+
- Rename epct to nemo (Analyze-Plan-Execute-eXamine)
|
|
233
233
|
|
|
234
234
|
### Statusline
|
|
235
235
|
- Add interactive config
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: implementer
|
|
3
|
-
description: Team-aware task implementer for
|
|
3
|
+
description: Team-aware task implementer for NEMO workflows. Owns an assigned area, claims tasks from shared TaskList, implements with strict boundaries, reports via SendMessage. Use as teammate in -m (teams) mode or standalone for task execution.
|
|
4
4
|
tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch, Skill
|
|
5
5
|
model: sonnet
|
|
6
6
|
---
|
|
@@ -60,7 +60,7 @@ You are NOT a freelancer. You are part of a coordinated team:
|
|
|
60
60
|
|
|
61
61
|
<input>
|
|
62
62
|
You will receive a task assignment in one of these formats:
|
|
63
|
-
- A task file path like: `.claude/output/
|
|
63
|
+
- A task file path like: `.claude/output/nemo/{task-id}/tasks/task-01-setup-auth.md`
|
|
64
64
|
- Inline task content with objective, plan, files, and acceptance criteria
|
|
65
65
|
- A message from the team lead describing what to implement
|
|
66
66
|
|
|
@@ -3,7 +3,7 @@ description: Setup a complete Next.js project with TypeScript, Tailwind, shadcn/
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
<objective>
|
|
6
|
-
Setup a production-ready Next.js project in the current directory with the complete
|
|
6
|
+
Setup a production-ready Next.js project in the current directory with the complete Nemonix stack.
|
|
7
7
|
|
|
8
8
|
This creates a Next.js 15 App Router project with TypeScript, Tailwind CSS, shadcn/ui components, TanStack Query, dark/light theme toggle, dialog manager, server toast, and a landing page with navbar.
|
|
9
9
|
</objective>
|
|
@@ -9,7 +9,7 @@ Define tool selection, technology stack decisions, infrastructure choices, and a
|
|
|
9
9
|
</objective>
|
|
10
10
|
|
|
11
11
|
<context>
|
|
12
|
-
Tools reference: @https://github.com/
|
|
12
|
+
Tools reference: @https://github.com/Redk3rn3l/NemonixClaudeConf/blob/main/claude-code-config/commands/prompts/tools.md
|
|
13
13
|
</context>
|
|
14
14
|
|
|
15
15
|
<process>
|
|
@@ -35,7 +35,7 @@ Tools reference: @https://github.com/Melvynx/aiblueprint/blob/main/ai-coding/too
|
|
|
35
35
|
## Phase 2: Read Tools Reference
|
|
36
36
|
|
|
37
37
|
4. **Fetch tools.md** - Read the complete tool reference at:
|
|
38
|
-
https://github.com/
|
|
38
|
+
https://github.com/Redk3rn3l/NemonixClaudeConf/blob/main/claude-code-config/commands/prompts/tools.md
|
|
39
39
|
|
|
40
40
|
5. **Use as primary source** for tool recommendations
|
|
41
41
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Reference document listing all recommended tools and libraries for
|
|
2
|
+
description: Reference document listing all recommended tools and libraries for Nemonix development
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Nemonix Tools & Libraries Reference
|
|
6
6
|
|
|
7
|
-
This document lists all recommended tools and libraries for development with the
|
|
7
|
+
This document lists all recommended tools and libraries for development with the Nemonix stack. Use this as a reference when making architecture decisions.
|
|
8
8
|
|
|
9
9
|
## Quick Reference Table
|
|
10
10
|
|
|
@@ -126,12 +126,12 @@ describe("parseTitle", () => {
|
|
|
126
126
|
});
|
|
127
127
|
|
|
128
128
|
it("should return null for ANY title containing workflow/skill keywords", () => {
|
|
129
|
-
expect(parseTitle("Set Up
|
|
130
|
-
expect(parseTitle("Running
|
|
129
|
+
expect(parseTitle("Set Up NEMO Skill")).toBeNull();
|
|
130
|
+
expect(parseTitle("Running Nemo Workflow")).toBeNull();
|
|
131
131
|
expect(parseTitle("Execute Workflow Steps")).toBeNull();
|
|
132
|
-
expect(parseTitle("Start
|
|
132
|
+
expect(parseTitle("Start NEMO")).toBeNull();
|
|
133
133
|
expect(parseTitle("Initialize Skill")).toBeNull();
|
|
134
|
-
expect(parseTitle("Loading
|
|
134
|
+
expect(parseTitle("Loading NEMO")).toBeNull();
|
|
135
135
|
expect(parseTitle("Build Approval Workflow")).toBeNull();
|
|
136
136
|
expect(parseTitle("Debug Skill System")).toBeNull();
|
|
137
137
|
expect(parseTitle("Add Workflow Feature")).toBeNull();
|
package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/sample-transcript.jsonl
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{"type":"file-history-snapshot","messageId":"409fe884-7ba8-4577-93e9-e3c8f090431f","snapshot":{"messageId":"409fe884-7ba8-4577-93e9-e3c8f090431f","trackedFileBackups":{},"timestamp":"2026-01-05T13:19:37.529Z"},"isSnapshotUpdate":false}
|
|
2
|
-
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/
|
|
3
|
-
{"parentUuid":"409fe884-7ba8-4577-93e9-e3c8f090431f","isSidechain":false,"userType":"external","cwd":"/
|
|
2
|
+
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l","sessionId":"test-session-123","version":"2.0.76","gitBranch":"main","type":"user","message":{"role":"user","content":"Help me build a React component for user authentication"},"uuid":"409fe884-7ba8-4577-93e9-e3c8f090431f","timestamp":"2026-01-05T13:19:37.521Z"}
|
|
3
|
+
{"parentUuid":"409fe884-7ba8-4577-93e9-e3c8f090431f","isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l","sessionId":"test-session-123","version":"2.0.76","gitBranch":"main","message":{"model":"claude-opus-4-5-20251101","id":"msg_01HLwb1d4WTJpgjWPKjP2sST","type":"message","role":"assistant","content":[{"type":"text","text":"I'll help you create a React authentication component. Let me start by setting up the basic structure."}],"stop_reason":"end_turn","usage":{"input_tokens":1000,"output_tokens":200}},"requestId":"req_011CWpJGYa1vqkZBsFWUEKUj","type":"assistant","uuid":"e8ee8f5d-b970-4313-bf82-283f46700754","timestamp":"2026-01-05T13:19:41.893Z"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
{"type":"file-history-snapshot","messageId":"def456","snapshot":{}}
|
|
2
|
-
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/
|
|
2
|
+
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l","sessionId":"short-session","version":"2.0.76","gitBranch":"main","type":"user","message":{"role":"user","content":"hey"},"uuid":"def456","timestamp":"2026-01-05T13:19:37.521Z"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{"type":"file-history-snapshot","messageId":"abc123","snapshot":{"messageId":"abc123","trackedFileBackups":{},"timestamp":"2026-01-05T13:19:37.529Z"},"isSnapshotUpdate":false}
|
|
2
|
-
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/
|
|
2
|
+
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l","sessionId":"titled-session","version":"2.0.76","gitBranch":"main","type":"user","message":{"role":"user","content":"Fix the bug in my code"},"uuid":"abc123","timestamp":"2026-01-05T13:19:37.521Z"}
|
|
3
3
|
{"type":"custom-title","customTitle":"Debug Code Issue","sessionId":"titled-session"}
|
|
@@ -25,7 +25,7 @@ async function main() {
|
|
|
25
25
|
|
|
26
26
|
if (!inputPath) {
|
|
27
27
|
console.error("Usage: bun run rename-all <project-path> [--override]");
|
|
28
|
-
console.error("Example: bun run rename-all /
|
|
28
|
+
console.error("Example: bun run rename-all /home/redk3rn3l/cc");
|
|
29
29
|
console.error("Example: bun run rename-all . --override");
|
|
30
30
|
console.error("\nFlags:");
|
|
31
31
|
console.error(" --override Override existing titles");
|
|
@@ -88,11 +88,11 @@ export function buildPrompt(
|
|
|
88
88
|
<title>Implement Ralph Conditions</title>
|
|
89
89
|
</example>
|
|
90
90
|
<example>
|
|
91
|
-
<user>/
|
|
91
|
+
<user>/nemo add dark mode toggle</user>
|
|
92
92
|
<title>Add Dark Mode Toggle</title>
|
|
93
93
|
</example>
|
|
94
94
|
<example>
|
|
95
|
-
<user>run /
|
|
95
|
+
<user>run /nemo to refactor the authentication system</user>
|
|
96
96
|
<title>Refactor Auth System</title>
|
|
97
97
|
</example>
|
|
98
98
|
<example>
|
|
@@ -129,7 +129,7 @@ export function parseTitle(text: string): string | null {
|
|
|
129
129
|
|
|
130
130
|
// Filter out ANY title containing workflow/skill keywords - these are NOT user intent
|
|
131
131
|
const forbiddenKeywords = [
|
|
132
|
-
"
|
|
132
|
+
"nemo",
|
|
133
133
|
"workflow",
|
|
134
134
|
"skill",
|
|
135
135
|
"brainstorm",
|
|
@@ -31,7 +31,7 @@ The validator is configured as a PreToolUse hook in Claude Code settings:
|
|
|
31
31
|
"hooks": [
|
|
32
32
|
{
|
|
33
33
|
"type": "command",
|
|
34
|
-
"command": "bun /
|
|
34
|
+
"command": "bun /home/redk3rn3l/.claude/scripts/command-validator/src/cli.ts"
|
|
35
35
|
}
|
|
36
36
|
]
|
|
37
37
|
}
|
|
@@ -81,7 +81,7 @@ The test suite includes:
|
|
|
81
81
|
- Sensitive file access: /etc/passwd, /etc/shadow, /etc/sudoers
|
|
82
82
|
|
|
83
83
|
### Special Cases
|
|
84
|
-
- rm -rf safety: Allows deletions in safe paths (/
|
|
84
|
+
- rm -rf safety: Allows deletions in safe paths (/home/redk3rn3l/Developer/, /tmp/)
|
|
85
85
|
- Protected paths: Blocks dangerous operations on /etc, /usr, /bin, etc.
|
|
86
86
|
- Binary content detection
|
|
87
87
|
- Command length limits
|
|
@@ -159,7 +159,7 @@ Update your `~/.claude/settings.json`:
|
|
|
159
159
|
{
|
|
160
160
|
"statusLine": {
|
|
161
161
|
"type": "command",
|
|
162
|
-
"command": "bun /
|
|
162
|
+
"command": "bun /home/redk3rn3l/.claude/scripts/statusline/src/index.ts",
|
|
163
163
|
"padding": 0
|
|
164
164
|
}
|
|
165
165
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/
|
|
2
|
-
{"parentUuid":"uuid-1","isSidechain":false,"userType":"external","cwd":"/
|
|
3
|
-
{"parentUuid":"uuid-2","isSidechain":false,"userType":"external","cwd":"/
|
|
4
|
-
{"parentUuid":"uuid-3","isSidechain":false,"userType":"external","cwd":"/
|
|
1
|
+
{"parentUuid":null,"isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l/.claude/scripts/statusline","sessionId":"demo-session","version":"2.0.31","gitBranch":"main","timestamp":"2025-11-11T10:00:00.000Z","message":{"model":"claude-sonnet-4-5-20250929","id":"msg_01","type":"message","role":"user","content":[{"type":"text","text":"Hello"}],"usage":{"input_tokens":1000,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":100}},"uuid":"uuid-1"}
|
|
2
|
+
{"parentUuid":"uuid-1","isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l/.claude/scripts/statusline","sessionId":"demo-session","version":"2.0.31","gitBranch":"main","timestamp":"2025-11-11T10:05:00.000Z","message":{"model":"claude-sonnet-4-5-20250929","id":"msg_02","type":"message","role":"assistant","content":[{"type":"text","text":"Hi there!"}],"usage":{"input_tokens":50000,"cache_creation_input_tokens":30000,"cache_read_input_tokens":0,"output_tokens":200}},"uuid":"uuid-2"}
|
|
3
|
+
{"parentUuid":"uuid-2","isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l/.claude/scripts/statusline","sessionId":"demo-session","version":"2.0.31","gitBranch":"main","timestamp":"2025-11-11T10:10:00.000Z","message":{"model":"claude-sonnet-4-5-20250929","id":"msg_03","type":"message","role":"user","content":[{"type":"text","text":"Can you help me?"}],"usage":{"input_tokens":20000,"cache_creation_input_tokens":0,"cache_read_input_tokens":40000,"output_tokens":150}},"uuid":"uuid-3"}
|
|
4
|
+
{"parentUuid":"uuid-3","isSidechain":false,"userType":"external","cwd":"/home/redk3rn3l/.claude/scripts/statusline","sessionId":"demo-session","version":"2.0.31","gitBranch":"main","timestamp":"2025-11-11T10:15:00.000Z","message":{"model":"claude-sonnet-4-5-20250929","id":"msg_04","type":"message","role":"assistant","content":[{"type":"text","text":"Of course! What do you need?"}],"usage":{"input_tokens":30000,"cache_creation_input_tokens":0,"cache_read_input_tokens":45000,"output_tokens":300}},"uuid":"uuid-4"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"session_id": "06a7b019-03f8-4083-a9db-410d95cb01e6",
|
|
3
|
-
"transcript_path": "/
|
|
4
|
-
"cwd": "/
|
|
3
|
+
"transcript_path": "/home/redk3rn3l/.claude/scripts/statusline/fixtures/mock-transcript.jsonl",
|
|
4
|
+
"cwd": "/home/redk3rn3l/.claude",
|
|
5
5
|
"model": {
|
|
6
6
|
"id": "claude-sonnet-4-5-20250929",
|
|
7
7
|
"display_name": "Sonnet 4.5"
|
|
8
8
|
},
|
|
9
9
|
"workspace": {
|
|
10
|
-
"current_dir": "/
|
|
11
|
-
"project_dir": "/
|
|
10
|
+
"current_dir": "/home/redk3rn3l/.claude",
|
|
11
|
+
"project_dir": "/home/redk3rn3l/.claude"
|
|
12
12
|
},
|
|
13
13
|
"version": "2.0.68",
|
|
14
14
|
"output_style": {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"hooks": [
|
|
51
51
|
{
|
|
52
52
|
"type": "command",
|
|
53
|
-
"command": "bun /
|
|
53
|
+
"command": "bun /home/redk3rn3l/.claude/scripts/command-validator/src/cli.ts"
|
|
54
54
|
}
|
|
55
55
|
]
|
|
56
56
|
}
|
|
@@ -61,11 +61,11 @@
|
|
|
61
61
|
"hooks": [
|
|
62
62
|
{
|
|
63
63
|
"type": "command",
|
|
64
|
-
"command": "afplay -v 0.1 /
|
|
64
|
+
"command": "afplay -v 0.1 /home/redk3rn3l/.claude/song/finish.mp3"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"type": "command",
|
|
68
|
-
"command": "bun /
|
|
68
|
+
"command": "bun /home/redk3rn3l/.claude/scripts/auto-rename-session/src/index.ts"
|
|
69
69
|
}
|
|
70
70
|
]
|
|
71
71
|
}
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"hooks": [
|
|
77
77
|
{
|
|
78
78
|
"type": "command",
|
|
79
|
-
"command": "afplay -v 0.1 /
|
|
79
|
+
"command": "afplay -v 0.1 /home/redk3rn3l/.claude/song/need-human.mp3"
|
|
80
80
|
}
|
|
81
81
|
]
|
|
82
82
|
}
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
},
|
|
85
85
|
"statusLine": {
|
|
86
86
|
"type": "command",
|
|
87
|
-
"command": "bun run /
|
|
87
|
+
"command": "bun run /home/redk3rn3l/.claude/scripts/statusline/src/index.ts",
|
|
88
88
|
"padding": 0
|
|
89
89
|
},
|
|
90
90
|
"spinnerTipsEnabled": false,
|
|
@@ -331,7 +331,7 @@ Files created:
|
|
|
331
331
|
|
|
332
332
|
Suggested workflow:
|
|
333
333
|
1. Start with task 01, work sequentially
|
|
334
|
-
2. Use /
|
|
334
|
+
2. Use /nemo or Claude Code for each task
|
|
335
335
|
3. Reference PRD.md and ARCHI.md for context
|
|
336
336
|
4. Update task status as you complete them
|
|
337
337
|
```
|
|
@@ -442,5 +442,5 @@ The user now has:
|
|
|
442
442
|
|
|
443
443
|
<critical>
|
|
444
444
|
Congratulations! The SaaS planning workflow is complete.
|
|
445
|
-
The user can now use Claude Code with /
|
|
445
|
+
The user can now use Claude Code with /nemo or similar to implement each task.
|
|
446
446
|
</critical>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skill-workflow-creator
|
|
3
|
-
description: Create multi-step workflow skills with progressive step loading, state management, and interactive decisions. Use when building complex skills like
|
|
3
|
+
description: Create multi-step workflow skills with progressive step loading, state management, and interactive decisions. Use when building complex skills like NEMO that need structured phases.
|
|
4
4
|
argument-hint: <workflow name> [description]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -134,8 +134,8 @@ fi
|
|
|
134
134
|
|
|
135
135
|
```bash
|
|
136
136
|
# Make script executable and run it
|
|
137
|
-
chmod +x /
|
|
138
|
-
/
|
|
137
|
+
chmod +x /home/redk3rn3l/.claude/skills/setup-ralph/scripts/setup.sh
|
|
138
|
+
/home/redk3rn3l/.claude/skills/setup-ralph/scripts/setup.sh "{project_path}" "{feature_name}"
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
The setup script creates:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-01-interactive-prd
|
|
3
|
-
description: Collaborative PRD brainstorming with parallel exploration (
|
|
3
|
+
description: Collaborative PRD brainstorming with parallel exploration (NEMO-style)
|
|
4
4
|
prev_step: steps/step-00-init.md
|
|
5
5
|
next_step: steps/step-02-create-stories.md
|
|
6
6
|
---
|
|
@@ -25,7 +25,7 @@ next_step: steps/step-02-create-stories.md
|
|
|
25
25
|
|
|
26
26
|
- 🎯 Start with open discovery - understand the vision
|
|
27
27
|
- 💾 Build PRD incrementally with user approval at each section
|
|
28
|
-
- 📖 Use parallel agents to gather context (like
|
|
28
|
+
- 📖 Use parallel agents to gather context (like NEMO analyze phase)
|
|
29
29
|
- 🚫 FORBIDDEN to load next step until PRD is saved and approved
|
|
30
30
|
|
|
31
31
|
## CONTEXT BOUNDARIES:
|
|
@@ -91,7 +91,7 @@ questions:
|
|
|
91
91
|
multiSelect: false
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
### Phase 2: Parallel Exploration (
|
|
94
|
+
### Phase 2: Parallel Exploration (NEMO-Style)
|
|
95
95
|
|
|
96
96
|
**Launch parallel exploration agents to understand context:**
|
|
97
97
|
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Systematic implementation using
|
|
2
|
+
name: nemo
|
|
3
|
+
description: Systematic implementation using NEMO methodology (Analyze-Plan-Execute-eXamine) with parallel agents, self-validation, and optional adversarial review. Use when implementing features, fixing bugs, or making code changes that benefit from structured workflow.
|
|
4
4
|
argument-hint: "[-a] [-x] [-s] [-t] [-b] [-pr] [-i] [-m] [-r <task-id>] <task description>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<objective>
|
|
8
|
-
Execute systematic implementation workflows using the
|
|
8
|
+
Execute systematic implementation workflows using the NEMO methodology with progressive step loading.
|
|
9
9
|
</objective>
|
|
10
10
|
|
|
11
11
|
<quick_start>
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
/
|
|
15
|
-
/
|
|
16
|
-
/
|
|
17
|
-
/
|
|
18
|
-
/
|
|
19
|
-
/
|
|
20
|
-
/
|
|
21
|
-
/
|
|
22
|
-
/
|
|
14
|
+
/nemo add authentication middleware # Basic
|
|
15
|
+
/nemo -a -s implement user registration # Autonomous + save
|
|
16
|
+
/nemo -a -x -s fix login bug # With adversarial review
|
|
17
|
+
/nemo -a -m implement full auth system # Agent Teams (parallel)
|
|
18
|
+
/nemo -a -x -s -t add auth middleware # Full workflow with tests
|
|
19
|
+
/nemo -a -pr add auth middleware # With PR creation
|
|
20
|
+
/nemo -r 01-auth-middleware # Resume previous task
|
|
21
|
+
/nemo -e add auth middleware # Economy mode (save tokens)
|
|
22
|
+
/nemo -i add auth middleware # Interactive flag config
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
</quick_start>
|
|
@@ -31,7 +31,7 @@ Execute systematic implementation workflows using the APEX methodology with prog
|
|
|
31
31
|
|----|-----|------|-------------|
|
|
32
32
|
| `-a` | `-A` | `--auto` | Skip confirmations, auto-approve |
|
|
33
33
|
| `-x` | `-X` | `--examine` | Adversarial code review |
|
|
34
|
-
| `-s` | `-S` | `--save` | Save outputs to `.claude/output/
|
|
34
|
+
| `-s` | `-S` | `--save` | Save outputs to `.claude/output/nemo/` |
|
|
35
35
|
| `-t` | `-T` | `--test` | Include test creation + runner |
|
|
36
36
|
| `-e` | `-E` | `--economy` | No subagents, save tokens |
|
|
37
37
|
| `-b` | `-B` | `--branch` | Verify not on main, create branch |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
#
|
|
2
|
+
# NEMO Template Setup Script
|
|
3
3
|
# Creates output directory structure and initializes template files
|
|
4
4
|
#
|
|
5
5
|
# Usage: setup-templates.sh "feature-name" [other args...]
|
|
@@ -38,16 +38,16 @@ TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
|
38
38
|
|
|
39
39
|
# Use current working directory as project root
|
|
40
40
|
PROJECT_ROOT=$(pwd)
|
|
41
|
-
|
|
41
|
+
NEMO_OUTPUT_DIR="${PROJECT_ROOT}/.claude/output/nemo"
|
|
42
42
|
|
|
43
|
-
# Create
|
|
44
|
-
mkdir -p "$
|
|
43
|
+
# Create nemo output directory if it doesn't exist
|
|
44
|
+
mkdir -p "$NEMO_OUTPUT_DIR"
|
|
45
45
|
|
|
46
46
|
# Find the next available number
|
|
47
47
|
NEXT_NUM=1
|
|
48
|
-
if [[ -d "$
|
|
48
|
+
if [[ -d "$NEMO_OUTPUT_DIR" ]]; then
|
|
49
49
|
# Find highest existing number prefix
|
|
50
|
-
HIGHEST=$(ls -1 "$
|
|
50
|
+
HIGHEST=$(ls -1 "$NEMO_OUTPUT_DIR" 2>/dev/null | grep -oE '^[0-9]+' | sort -n | tail -1)
|
|
51
51
|
if [[ -n "$HIGHEST" ]]; then
|
|
52
52
|
# Force base-10 interpretation (leading zeros would be treated as octal)
|
|
53
53
|
NEXT_NUM=$((10#$HIGHEST + 1))
|
|
@@ -60,7 +60,7 @@ TASK_NUM=$(printf "%02d" "$NEXT_NUM")
|
|
|
60
60
|
# Build full task ID
|
|
61
61
|
TASK_ID="${TASK_NUM}-${FEATURE_NAME}"
|
|
62
62
|
|
|
63
|
-
OUTPUT_DIR="${
|
|
63
|
+
OUTPUT_DIR="${NEMO_OUTPUT_DIR}/${TASK_ID}"
|
|
64
64
|
|
|
65
65
|
# Get skill directory
|
|
66
66
|
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
@@ -140,5 +140,5 @@ fi
|
|
|
140
140
|
# Output the generated task_id for capture by caller
|
|
141
141
|
echo "TASK_ID=${TASK_ID}"
|
|
142
142
|
echo "OUTPUT_DIR=${OUTPUT_DIR}"
|
|
143
|
-
echo "✓
|
|
143
|
+
echo "✓ NEMO templates initialized: ${OUTPUT_DIR}"
|
|
144
144
|
exit 0
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
#
|
|
2
|
+
# NEMO Progress Update Script
|
|
3
3
|
# Updates 00-context.md progress table
|
|
4
4
|
|
|
5
5
|
set -e
|
|
@@ -19,7 +19,7 @@ fi
|
|
|
19
19
|
|
|
20
20
|
# Find project root
|
|
21
21
|
PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
22
|
-
CONTEXT_FILE="${PROJECT_ROOT}/.claude/output/
|
|
22
|
+
CONTEXT_FILE="${PROJECT_ROOT}/.claude/output/nemo/${TASK_ID}/00-context.md"
|
|
23
23
|
|
|
24
24
|
# Validate context file exists
|
|
25
25
|
if [[ ! -f "$CONTEXT_FILE" ]]; then
|
package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-00-init.md
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-00-init
|
|
3
|
-
description: Initialize
|
|
3
|
+
description: Initialize NEMO workflow - parse flags, detect continuation, setup state
|
|
4
4
|
next_step: steps/step-01-analyze.md
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -34,7 +34,7 @@ next_step: steps/step-01-analyze.md
|
|
|
34
34
|
|
|
35
35
|
## YOUR TASK:
|
|
36
36
|
|
|
37
|
-
Initialize the
|
|
37
|
+
Initialize the NEMO workflow by parsing flags, detecting continuation state, and setting up the execution environment.
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -45,12 +45,12 @@ Initialize the APEX workflow by parsing flags, detecting continuation state, and
|
|
|
45
45
|
|
|
46
46
|
```yaml
|
|
47
47
|
# ===========================================
|
|
48
|
-
#
|
|
48
|
+
# NEMO DEFAULT SETTINGS
|
|
49
49
|
# ===========================================
|
|
50
50
|
|
|
51
51
|
auto_mode: false # -a: Skip confirmations, use recommended options
|
|
52
52
|
examine_mode: false # -x: Auto-proceed to adversarial review
|
|
53
|
-
save_mode: false # -s: Save outputs to .claude/output/
|
|
53
|
+
save_mode: false # -s: Save outputs to .claude/output/nemo/
|
|
54
54
|
test_mode: false # -t: Include test creation and runner steps
|
|
55
55
|
economy_mode: false # -e: No subagents, save tokens (for limited plans)
|
|
56
56
|
branch_mode: false # -b: Verify not on main, create branch if needed
|
|
@@ -137,7 +137,7 @@ Other:
|
|
|
137
137
|
Example: "add user authentication" → "add-user-authentication"
|
|
138
138
|
|
|
139
139
|
{task_id} will be generated by the setup script:
|
|
140
|
-
- Script auto-detects next available number in .claude/output/
|
|
140
|
+
- Script auto-detects next available number in .claude/output/nemo/
|
|
141
141
|
- Result: "01-add-user-authentication" (or 02, 03, etc.)
|
|
142
142
|
```
|
|
143
143
|
|
|
@@ -153,7 +153,7 @@ If {resume_task} is NOT set, skip directly to step 3.
|
|
|
153
153
|
1. **Search for matching task:**
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
|
-
ls .claude/output/
|
|
156
|
+
ls .claude/output/nemo/ | grep "^{resume_task}"
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
2. **If exact match found:**
|
|
@@ -204,7 +204,7 @@ IF {save_mode} = true:
|
|
|
204
204
|
Show COMPACT initialization summary (one table, then proceed immediately):
|
|
205
205
|
|
|
206
206
|
```
|
|
207
|
-
✓
|
|
207
|
+
✓ NEMO: {task_description}
|
|
208
208
|
|
|
209
209
|
| Variable | Value |
|
|
210
210
|
|----------|-------|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-00b-interactive
|
|
3
|
-
description: Interactively configure
|
|
3
|
+
description: Interactively configure NEMO workflow flags
|
|
4
4
|
returns_to: step-00-init.md
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -34,7 +34,7 @@ Present an interactive menu for the user to enable/disable workflow flags.
|
|
|
34
34
|
|
|
35
35
|
Show current flag values:
|
|
36
36
|
```
|
|
37
|
-
**Current
|
|
37
|
+
**Current NEMO Configuration:**
|
|
38
38
|
|
|
39
39
|
| Flag | Status | Description |
|
|
40
40
|
|------|--------|-------------|
|
|
@@ -118,7 +118,7 @@ IF {pr_mode} = true → {branch_mode} = true
|
|
|
118
118
|
|
|
119
119
|
Display updated configuration:
|
|
120
120
|
```
|
|
121
|
-
**Updated
|
|
121
|
+
**Updated NEMO Configuration:**
|
|
122
122
|
|
|
123
123
|
| Flag | Status |
|
|
124
124
|
|------|--------|
|
package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-00b-save.md
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-00b-save
|
|
3
|
-
description: Setup save output structure for
|
|
3
|
+
description: Setup save output structure for NEMO workflow
|
|
4
4
|
returns_to: step-00-init.md
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@ returns_to: step-00-init.md
|
|
|
22
22
|
|
|
23
23
|
## YOUR TASK:
|
|
24
24
|
|
|
25
|
-
Create the output directory structure and initialize all output files for the
|
|
25
|
+
Create the output directory structure and initialize all output files for the NEMO workflow.
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
@@ -31,7 +31,7 @@ Create the output directory structure and initialize all output files for the AP
|
|
|
31
31
|
When save_mode is enabled, all outputs go to the PROJECT directory:
|
|
32
32
|
|
|
33
33
|
```
|
|
34
|
-
.claude/output/
|
|
34
|
+
.claude/output/nemo/{task-id}/
|
|
35
35
|
├── 00-context.md # Params, user request, timestamp
|
|
36
36
|
├── 01-analyze.md # Analysis findings
|
|
37
37
|
├── 02-plan.md # Implementation plan
|
|
@@ -72,7 +72,7 @@ bash {skill_dir}/scripts/setup-templates.sh \
|
|
|
72
72
|
|
|
73
73
|
The script:
|
|
74
74
|
- Auto-generates `{task_id}` = `NN-{feature_name}` (next available number)
|
|
75
|
-
- Creates `.claude/output/
|
|
75
|
+
- Creates `.claude/output/nemo/{task_id}/` directory
|
|
76
76
|
- Initializes `00-context.md` with configuration and progress table
|
|
77
77
|
- Pre-creates all step files from templates
|
|
78
78
|
- Only creates files for enabled steps (examine, tests, PR)
|
|
@@ -82,7 +82,7 @@ The script:
|
|
|
82
82
|
|
|
83
83
|
From the script output, set:
|
|
84
84
|
- `{task_id}` = the generated ID (e.g., `01-add-auth-middleware`)
|
|
85
|
-
- `{output_dir}` = `.claude/output/
|
|
85
|
+
- `{output_dir}` = `.claude/output/nemo/{task_id}`
|
|
86
86
|
|
|
87
87
|
### 3. Return
|
|
88
88
|
|
|
@@ -107,15 +107,15 @@ Ensure CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set in settings.json.
|
|
|
107
107
|
|
|
108
108
|
```
|
|
109
109
|
TeamCreate:
|
|
110
|
-
team_name: "
|
|
111
|
-
description: "
|
|
110
|
+
team_name: "nemo-{feature_name}"
|
|
111
|
+
description: "NEMO: {task_description}"
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
**Spawn teammates using the Task tool with `subagent_type: "implementer"`:**
|
|
115
115
|
|
|
116
116
|
<critical>
|
|
117
117
|
MANDATORY: Always use `subagent_type: "implementer"` for ALL teammates.
|
|
118
|
-
The `implementer` agent is the dedicated
|
|
118
|
+
The `implementer` agent is the dedicated NEMO executor — it knows how to:
|
|
119
119
|
- Claim tasks from TaskList via TaskUpdate
|
|
120
120
|
- Stay within its assigned file boundaries
|
|
121
121
|
- Report via SendMessage (not plain text)
|
|
@@ -125,7 +125,7 @@ NEVER use `general-purpose` or other agent types.
|
|
|
125
125
|
|
|
126
126
|
For each teammate, spawn via the Task tool:
|
|
127
127
|
- `subagent_type`: `"implementer"` (MANDATORY)
|
|
128
|
-
- `team_name`: `"
|
|
128
|
+
- `team_name`: `"nemo-{feature_name}"`
|
|
129
129
|
- `name`: `"impl-{group-name}"` (e.g., `impl-backend`, `impl-frontend`)
|
|
130
130
|
- `mode`: `"bypassPermissions"`
|
|
131
131
|
- `prompt`: Full task context (see template below)
|
|
@@ -137,11 +137,11 @@ For each teammate, spawn via the Task tool:
|
|
|
137
137
|
```
|
|
138
138
|
Task:
|
|
139
139
|
subagent_type: "implementer"
|
|
140
|
-
team_name: "
|
|
140
|
+
team_name: "nemo-{feature_name}"
|
|
141
141
|
name: "impl-{group-name}"
|
|
142
142
|
mode: "bypassPermissions"
|
|
143
143
|
prompt: |
|
|
144
|
-
You are impl-{group-name} in team
|
|
144
|
+
You are impl-{group-name} in team nemo-{feature_name}.
|
|
145
145
|
|
|
146
146
|
## Your Assignment
|
|
147
147
|
|
package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-09-finish.md
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-09-finish
|
|
3
|
-
description: Finish
|
|
3
|
+
description: Finish NEMO workflow and create pull request
|
|
4
4
|
previous_step: step-08-run-tests.md (or step-04-validate.md if no tests)
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -31,7 +31,7 @@ previous_step: step-08-run-tests.md (or step-04-validate.md if no tests)
|
|
|
31
31
|
|
|
32
32
|
## YOUR TASK:
|
|
33
33
|
|
|
34
|
-
Finalize the
|
|
34
|
+
Finalize the NEMO workflow by committing remaining changes, pushing to remote, and creating a pull request.
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
@@ -114,7 +114,7 @@ gh pr create --title "feat({task_id}): {task_description}" --body "$(cat <<'EOF'
|
|
|
114
114
|
|
|
115
115
|
---
|
|
116
116
|
|
|
117
|
-
_Generated by
|
|
117
|
+
_Generated by NEMO workflow_
|
|
118
118
|
EOF
|
|
119
119
|
)"
|
|
120
120
|
```
|
|
@@ -145,7 +145,7 @@ Display workflow completion summary:
|
|
|
145
145
|
|
|
146
146
|
```
|
|
147
147
|
═══════════════════════════════════════════════════════
|
|
148
|
-
|
|
148
|
+
NEMO WORKFLOW COMPLETE
|
|
149
149
|
═══════════════════════════════════════════════════════
|
|
150
150
|
|
|
151
151
|
Task: {task_description}
|
|
@@ -186,7 +186,7 @@ Display workflow completion summary:
|
|
|
186
186
|
|
|
187
187
|
## WORKFLOW COMPLETE
|
|
188
188
|
|
|
189
|
-
This is the final step of the
|
|
189
|
+
This is the final step of the NEMO workflow. No next step to load.
|
|
190
190
|
|
|
191
191
|
<critical>
|
|
192
192
|
Remember: This step ONLY handles git operations and PR creation. All code changes should have been completed in earlier steps.
|
package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/README.md
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# NEMO Template System
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
This directory contains template files used to initialize
|
|
5
|
+
This directory contains template files used to initialize NEMO workflow outputs when save mode (`-s`) is enabled. This template system significantly reduces token usage by moving repetitive content out of step files.
|
|
6
6
|
|
|
7
7
|
## Template Files
|
|
8
8
|
|
|
@@ -38,7 +38,7 @@ Templates use `{{variable}}` syntax for placeholders:
|
|
|
38
38
|
| `{{pr_mode}}` | PR mode flag | `true` or `false` |
|
|
39
39
|
| `{{interactive_mode}}` | Interactive mode flag | `true` or `false` |
|
|
40
40
|
| `{{branch_name}}` | Git branch name | `feature/add-auth` |
|
|
41
|
-
| `{{original_input}}` | Raw user input | `/
|
|
41
|
+
| `{{original_input}}` | Raw user input | `/nemo -a -s add auth` |
|
|
42
42
|
| `{{examine_status}}` | Progress status for examine steps | `⏸ Pending` or `⏭ Skip` |
|
|
43
43
|
| `{{test_status}}` | Progress status for test steps | `⏸ Pending` or `⏭ Skip` |
|
|
44
44
|
| `{{pr_status}}` | Progress status for PR step | `⏸ Pending` or `⏭ Skip` |
|
|
@@ -68,7 +68,7 @@ bash scripts/setup-templates.sh \
|
|
|
68
68
|
|
|
69
69
|
**Output:**
|
|
70
70
|
```
|
|
71
|
-
.claude/output/
|
|
71
|
+
.claude/output/nemo/01-add-auth-middleware/
|
|
72
72
|
├── 00-context.md # Always created
|
|
73
73
|
├── 01-analyze.md # Always created
|
|
74
74
|
├── 02-plan.md # Always created
|
|
File without changes
|
|
File without changes
|
/package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-02-plan.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/steps/step-07-tests.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/02-plan.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/07-tests.md
RENAMED
|
File without changes
|
|
File without changes
|
/package/src/config/claude-code-config/skills/{workflow-apex → workflow-nemo}/templates/09-finish.md
RENAMED
|
File without changes
|
|
File without changes
|