@nemus-cli/nemus 0.2.4 → 0.2.6
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 +40 -1
- package/assets/README.md +5 -0
- package/assets/avatar-500.png +0 -0
- package/assets/social-preview.png +0 -0
- package/dist/cli/ai-prompt.js +1 -1
- package/dist/cli/tui.js +1 -1
- package/dist/commands/configure.js +1 -1
- package/dist/commands/ghq-status.js +1 -1
- package/dist/mcp/install.js +12 -12
- package/dist/mcp/server.js +2 -2
- package/dist/pi-extensions/permission-sync.ts.template +1 -1
- package/dist/pi-extensions/permissions-gate.ts.template +1 -1
- package/dist/pi-extensions/pr-fix-trigger.ts.template +2 -2
- package/dist/pi-extensions/review-reminder.ts.template +1 -1
- package/dist/pi-extensions/workspace-input-status.ts.template +3 -3
- package/dist/scripts/workspace-table.py +3 -3
- package/dist/utils/agent-state.js +1 -1
- package/dist/utils/bug-report.js +3 -3
- package/dist/utils/claude-integration.js +8 -8
- package/dist/utils/permission-sync.js +10 -10
- package/dist/utils/pi-extensions.js +5 -5
- package/package.json +1 -1
- package/skills/analyze-deps.md +0 -10
- package/skills/archive-workspace.md +0 -8
- package/skills/branch-create.md +0 -10
- package/skills/create-workspace.md +0 -20
- package/skills/delete-workspace.md +0 -14
- package/skills/list-org-repos.md +0 -13
- package/skills/list-suites.md +0 -10
- package/skills/list-workspaces.md +0 -14
- package/skills/nemus/SKILL.md +110 -0
- package/skills/{workspace-manager → nemus}/references/ai-prompt.md +0 -14
- package/skills/{workspace-manager → nemus}/references/analyze-deps.md +0 -18
- package/skills/nemus/references/archive-workspace.md +22 -0
- package/skills/{workspace-manager → nemus}/references/branch-create.md +0 -8
- package/skills/{workspace-manager → nemus}/references/branch-merge.md +0 -9
- package/skills/{workspace-manager → nemus}/references/branch-rebase.md +0 -9
- package/skills/{workspace-manager → nemus}/references/cache-clear.md +0 -8
- package/skills/{workspace-manager → nemus}/references/cache-info.md +0 -8
- package/skills/{workspace-manager → nemus}/references/configure-claude.md +0 -8
- package/skills/{workspace-manager → nemus}/references/configure.md +0 -8
- package/skills/{workspace-manager → nemus}/references/create-workspace.md +0 -9
- package/skills/{workspace-manager → nemus}/references/dashboard.md +0 -15
- package/skills/{workspace-manager → nemus}/references/delete-workspace.md +0 -9
- package/skills/{workspace-manager → nemus}/references/generate-docs.md +0 -16
- package/skills/{workspace-manager → nemus}/references/ghq-status.md +0 -14
- package/skills/{workspace-manager → nemus}/references/go.md +0 -11
- package/skills/{workspace-manager → nemus}/references/history.md +0 -17
- package/skills/{workspace-manager → nemus}/references/list-org-repos.md +0 -9
- package/skills/{workspace-manager → nemus}/references/list-suites.md +0 -9
- package/skills/{workspace-manager → nemus}/references/list-workspaces.md +0 -9
- package/skills/{workspace-manager → nemus}/references/mcp.md +3 -21
- package/skills/{workspace-manager → nemus}/references/remove-repo.md +0 -8
- package/skills/{workspace-manager → nemus}/references/run-command.md +1 -10
- package/skills/{workspace-manager → nemus}/references/search-repos.md +0 -9
- package/skills/{workspace-manager → nemus}/references/sessions.md +0 -12
- package/skills/{workspace-manager → nemus}/references/suite-create.md +0 -9
- package/skills/{workspace-manager → nemus}/references/suite-delete.md +0 -8
- package/skills/{workspace-manager → nemus}/references/suite-export.md +0 -9
- package/skills/{workspace-manager → nemus}/references/suite-import.md +0 -9
- package/skills/{workspace-manager → nemus}/references/suite-use.md +0 -9
- package/skills/{workspace-manager → nemus}/references/switch-branch.md +0 -9
- package/skills/{workspace-manager → nemus}/references/update-cache.md +0 -8
- package/skills/{workspace-manager → nemus}/references/update-workspace.md +0 -11
- package/skills/{workspace-manager → nemus}/references/workspace-cleanup.md +0 -9
- package/skills/{workspace-manager → nemus}/references/workspace-diff.md +0 -8
- package/skills/{workspace-manager → nemus}/references/workspace-doctor.md +0 -9
- package/skills/{workspace-manager → nemus}/references/workspace-info.md +0 -8
- package/skills/nemus/references/workspace-status.md +26 -0
- package/skills/{workspace-manager → nemus}/references/workspace-sync.md +0 -9
- package/skills/refresh-workspace-docs.md +5 -81
- package/skills/remove-repo.md +0 -8
- package/skills/run-command.md +0 -10
- package/skills/save-context.md +1 -25
- package/skills/search-repos.md +0 -15
- package/skills/snapshot-list.md +0 -10
- package/skills/snapshot-save.md +0 -4
- package/skills/switch-branch.md +0 -10
- package/skills/update-cache.md +0 -8
- package/skills/update-workspace.md +0 -24
- package/skills/workspace-cleanup.md +0 -10
- package/skills/workspace-diff.md +0 -10
- package/skills/workspace-doctor.md +0 -10
- package/skills/workspace-info.md +0 -26
- package/skills/workspace-status.md +0 -13
- package/skills/workspace-sync.md +0 -10
- package/src/cli/ai-prompt.ts +1 -1
- package/src/cli/tui.tsx +1 -1
- package/src/commands/configure.ts +1 -1
- package/src/commands/ghq-status.ts +1 -1
- package/src/mcp/install.ts +12 -12
- package/src/mcp/server.ts +2 -2
- package/src/pi-extensions/permission-sync.ts.template +1 -1
- package/src/pi-extensions/permissions-gate.ts.template +1 -1
- package/src/pi-extensions/pr-fix-trigger.ts.template +2 -2
- package/src/pi-extensions/review-reminder.ts.template +1 -1
- package/src/pi-extensions/workspace-input-status.ts.template +3 -3
- package/src/scripts/workspace-table.py +3 -3
- package/src/utils/agent-state.ts +1 -1
- package/src/utils/bug-report.ts +3 -3
- package/src/utils/claude-integration.ts +8 -8
- package/src/utils/permission-sync.test.ts +4 -4
- package/src/utils/permission-sync.ts +10 -10
- package/src/utils/pi-extensions.test.ts +1 -1
- package/src/utils/pi-extensions.ts +5 -5
- package/src/utils/repo-resolver.test.ts +1 -1
- package/skills/workspace-manager/SKILL.md +0 -201
- package/skills/workspace-manager/references/archive-workspace.md +0 -38
- package/skills/workspace-manager/references/workspace-status.md +0 -43
|
@@ -419,7 +419,7 @@ function getSkillsSourceDir(): string {
|
|
|
419
419
|
}
|
|
420
420
|
|
|
421
421
|
/**
|
|
422
|
-
* Install all
|
|
422
|
+
* Install all nemus skills from the skills/ directory.
|
|
423
423
|
* Each .md file becomes a skill under <skillsDir>/<skill-name>/SKILL.md.
|
|
424
424
|
* Installs to all active agent skills directories.
|
|
425
425
|
* Idempotent — safe to call multiple times.
|
|
@@ -471,7 +471,7 @@ export function installWorkspaceSkills(skillsDir?: string): void {
|
|
|
471
471
|
}
|
|
472
472
|
|
|
473
473
|
if (installed > 0) {
|
|
474
|
-
logSuccess(`Installed ${installed}
|
|
474
|
+
logSuccess(`Installed ${installed} nemus skills in ${targetBase}`);
|
|
475
475
|
}
|
|
476
476
|
}
|
|
477
477
|
}
|
|
@@ -493,7 +493,7 @@ function copyDirRecursive(src: string, dest: string): void {
|
|
|
493
493
|
}
|
|
494
494
|
|
|
495
495
|
/**
|
|
496
|
-
* Remove all
|
|
496
|
+
* Remove all nemus skills from all possible agent directories.
|
|
497
497
|
* Reads the skills/ source directory to know which skill names to remove.
|
|
498
498
|
* Removes from both Claude and Pi dirs regardless of current config to avoid orphans.
|
|
499
499
|
*/
|
|
@@ -536,7 +536,7 @@ export function uninstallWorkspaceSkills(skillsDir?: string): void {
|
|
|
536
536
|
// ─── Workspace status-line ────────────────────────────────────────────────────
|
|
537
537
|
|
|
538
538
|
/** Absolute install path for the workspace-table Python script. */
|
|
539
|
-
const WORKSPACE_TABLE_SCRIPT = path.join(os.homedir(), '.
|
|
539
|
+
const WORKSPACE_TABLE_SCRIPT = path.join(os.homedir(), '.nemus-table.py');
|
|
540
540
|
|
|
541
541
|
/**
|
|
542
542
|
* Resolve the bundled workspace-table.py path from the installed package.
|
|
@@ -558,7 +558,7 @@ function getWorkspaceTableSourcePath(): string {
|
|
|
558
558
|
* Claude Code shows its default footer — the user's existing styling is
|
|
559
559
|
* never affected.
|
|
560
560
|
*
|
|
561
|
-
* The script is copied to ~/.
|
|
561
|
+
* The script is copied to ~/.nemus-table.py and registered in
|
|
562
562
|
* ~/.claude/settings.json only when no statusLine is already configured —
|
|
563
563
|
* we never overwrite a custom status line the user already has.
|
|
564
564
|
*
|
|
@@ -570,7 +570,7 @@ export function installWorkspaceStatusLine(settingsPath?: string): void {
|
|
|
570
570
|
|
|
571
571
|
if ((settings as any).statusLine) {
|
|
572
572
|
logInfo('statusLine already configured in ~/.claude/settings.json — skipping workspace-table install');
|
|
573
|
-
logInfo(` To use
|
|
573
|
+
logInfo(` To use nemus\'s table, replace your statusLine command with: ${WORKSPACE_TABLE_SCRIPT}`);
|
|
574
574
|
return;
|
|
575
575
|
}
|
|
576
576
|
|
|
@@ -597,7 +597,7 @@ export function installWorkspaceStatusLine(settingsPath?: string): void {
|
|
|
597
597
|
|
|
598
598
|
/**
|
|
599
599
|
* Remove the workspace status-line from Claude Code\'s settings.json.
|
|
600
|
-
* Only removes it if the command points to
|
|
600
|
+
* Only removes it if the command points to nemus\'s own script.
|
|
601
601
|
*
|
|
602
602
|
* @param settingsPath Override ~/.claude/settings.json (for testing).
|
|
603
603
|
*/
|
|
@@ -612,8 +612,8 @@ export function uninstallWorkspaceStatusLine(settingsPath?: string): void {
|
|
|
612
612
|
}
|
|
613
613
|
|
|
614
614
|
const cmd: string = existing.command ?? '';
|
|
615
|
-
if (!cmd.includes('
|
|
616
|
-
logInfo('statusLine is not managed by
|
|
615
|
+
if (!cmd.includes('nemus-table')) {
|
|
616
|
+
logInfo('statusLine is not managed by nemus — leaving it unchanged');
|
|
617
617
|
return;
|
|
618
618
|
}
|
|
619
619
|
|
|
@@ -639,7 +639,7 @@ function extractScriptPath(command: string): string | null {
|
|
|
639
639
|
}
|
|
640
640
|
|
|
641
641
|
/**
|
|
642
|
-
* Detect and repair
|
|
642
|
+
* Detect and repair nemus hook commands in ~/.claude/settings.json
|
|
643
643
|
* that point to script paths which no longer exist on disk.
|
|
644
644
|
*
|
|
645
645
|
* This happens when the package is installed via a manager (e.g. Volta) whose
|
|
@@ -38,7 +38,7 @@ describe('Pi extensions', () => {
|
|
|
38
38
|
|
|
39
39
|
for (const file of fs.readdirSync(extensionsDir)) {
|
|
40
40
|
const content = fs.readFileSync(path.join(extensionsDir, file), 'utf-8');
|
|
41
|
-
expect(content).toContain('auto-generated by
|
|
41
|
+
expect(content).toContain('auto-generated by nemus');
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
|
|
@@ -16,8 +16,8 @@ import { logSuccess, logInfo, logWarning } from './logger';
|
|
|
16
16
|
|
|
17
17
|
const PI_EXTENSIONS_DIR = path.join(os.homedir(), '.pi', 'agent', 'extensions');
|
|
18
18
|
|
|
19
|
-
/** Marker comment that identifies
|
|
20
|
-
const MANAGED_MARKER = '(auto-generated by
|
|
19
|
+
/** Marker comment that identifies nemus managed extensions */
|
|
20
|
+
const MANAGED_MARKER = '(auto-generated by nemus)';
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Extension template definitions.
|
|
@@ -92,7 +92,7 @@ function getExtensionTemplates(options: { workspaceInputStatus?: boolean } = {})
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
|
-
* Install all
|
|
95
|
+
* Install all nemus Pi extensions.
|
|
96
96
|
* Idempotent — overwrites existing managed extensions with latest templates.
|
|
97
97
|
*
|
|
98
98
|
* @param extensionsDir Override the extensions directory (for testing).
|
|
@@ -142,14 +142,14 @@ export function installPiExtensions(extensionsDir?: string, options: { workspace
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
|
-
* Uninstall
|
|
145
|
+
* Uninstall nemus managed Pi extensions.
|
|
146
146
|
* Only removes extensions that contain the managed marker or match
|
|
147
147
|
* known installed names.
|
|
148
148
|
*
|
|
149
149
|
* @param extensionsDir Override the extensions directory (for testing).
|
|
150
150
|
*/
|
|
151
151
|
/**
|
|
152
|
-
* Uninstall
|
|
152
|
+
* Uninstall nemus managed Pi extensions.
|
|
153
153
|
* Pass `onlyNames` to remove only specific extension files (for opt-out).
|
|
154
154
|
*
|
|
155
155
|
* @param extensionsDir Override the extensions directory (for testing).
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workspace-manager
|
|
3
|
-
description: Manage multi-repo development workspaces — create, sync, branch, diff, clone, archive, analyze dependencies, run commands across repos, check status, clean up, delete, list org repos, search repos, list suites, remove repo, cache, suite management, sessions, history, generate docs, configure, MCP server, AI prompt. Use when working with workspaces, repos, branches, git operations across multiple repos, or the `nemus` CLI tool. NEVER use `git clone` directly — always use `nemus update` to add repos and `nemus create` to create workspaces.
|
|
4
|
-
bashPattern: "\\bnemus\\s+(create|list|update|delete|sync|status|diff|run|go|doctor|analyze-deps|history|cleanup|remove-repo|archive|sessions|generate-docs|configure|configure-claude|ghq-status|tui|dashboard|dash|branch|suite|cache|mcp|--)\\b"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Workspace Manager
|
|
8
|
-
|
|
9
|
-
> **CRITICAL — Read before taking any action:**
|
|
10
|
-
> - **NEVER** run `git clone` directly to add a repository to a workspace.
|
|
11
|
-
> - **NEVER** run `git clone` directly to create a workspace.
|
|
12
|
-
> - **NEVER** use `git worktree` to get a second checkout of a tracked repo — worktrees are invisible to `nemus status`/`nemus sync`. Add another instance with `nemus update --repos <repo>:<suffix>` instead.
|
|
13
|
-
> - **ONLY read code from repos in the CURRENT workspace.** If you need to read or reference code from a repo that isn't in the current workspace, add it with `nemus update --workspace <current> --repos <repo> --yes` and read it there. **NEVER** read that repo's code from another workspace, a global ghq/clone path, or anywhere outside the current workspace — other workspaces may be on different branches or stale, and reading them silently breaks context isolation.
|
|
14
|
-
> - **ALWAYS** use `nemus update --workspace <name> --repos <repo> --yes` to add repos.
|
|
15
|
-
> - To add the **same repo more than once** (e.g. a second branch checkout), use `nemus update --workspace <name> --repos <repo>:<suffix> --yes` — it clones into `<repo>-<suffix>` and is tracked independently.
|
|
16
|
-
> - **ALWAYS** use `nemus create --workspace <name> --repos <repos> --yes` to create workspaces.
|
|
17
|
-
> - Direct git operations bypass workspace metadata, break `nemus status`/`nemus sync`, and leave context files stale.
|
|
18
|
-
|
|
19
|
-
Manage multi-repo development workspaces using the `nemus` CLI tool (alias: `nem`).
|
|
20
|
-
|
|
21
|
-
All commands support `--help` for detailed usage. The CLI uses Commander.js — every command has auto-generated help at root, command, and subcommand levels.
|
|
22
|
-
|
|
23
|
-
## Global Flags
|
|
24
|
-
|
|
25
|
-
These flags work on any command:
|
|
26
|
-
|
|
27
|
-
| Flag | Short | Description |
|
|
28
|
-
|---|---|---|
|
|
29
|
-
| `--force-refresh` | `-f` | Force refresh GitHub repos (skip cache) |
|
|
30
|
-
| `--yes` | `-y` | Skip all confirmation prompts |
|
|
31
|
-
| `--version` | `-V` | Print version number |
|
|
32
|
-
| `--help` | `-h` | Show help for any command |
|
|
33
|
-
|
|
34
|
-
## Non-Interactive Usage (for agents/scripts)
|
|
35
|
-
|
|
36
|
-
Every command can be run fully non-interactively by providing all required options as flags. When a required value (like workspace name) is missing and there's no TTY, the command will error with a usage hint.
|
|
37
|
-
|
|
38
|
-
Pattern: **options-first with interactive fallback**.
|
|
39
|
-
- If a flag is provided, it's used directly.
|
|
40
|
-
- If a flag is omitted and a TTY is available, Inquirer prompts the user.
|
|
41
|
-
- `--yes` / `-y` skips all confirmation prompts, and — for commands that create a workspace (`create`, `suite use`) — also skips auto-launching the AI agent afterward in the shell integration, so the command returns immediately instead of dropping into an interactive `claude`/`pi`/`opencode` session.
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
# Fully non-interactive
|
|
45
|
-
nemus create --workspace payments --repos partnerships-api,payments-db --yes
|
|
46
|
-
|
|
47
|
-
# Partially interactive (prompts for repos)
|
|
48
|
-
nemus create --workspace payments
|
|
49
|
-
|
|
50
|
-
# Fully interactive (prompts for everything)
|
|
51
|
-
nemus create
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Command Aliases
|
|
55
|
-
|
|
56
|
-
| Command | Alias(es) | Command | Alias(es) |
|
|
57
|
-
|---------|-----------|---------|-----------|
|
|
58
|
-
| `create` | `c` | `diff` | `di` |
|
|
59
|
-
| `list` | `l` | `run` | `r` |
|
|
60
|
-
| `update` | `u` | `archive` | `a` |
|
|
61
|
-
| `delete` | `d`, `del` | `sessions` | `ses` |
|
|
62
|
-
| `sync` | `s` | `cleanup` | `cl` |
|
|
63
|
-
| `status` | `st` | `remove-repo` | `rr` |
|
|
64
|
-
| `doctor` | `doc` | `generate-docs` | `gd` |
|
|
65
|
-
| `analyze-deps` | `ad` | `configure` | `cfg` |
|
|
66
|
-
| `history` | `h` | `configure-claude` | `cc` |
|
|
67
|
-
| `dashboard` | `dash` | | |
|
|
68
|
-
|
|
69
|
-
## Quick Start
|
|
70
|
-
|
|
71
|
-
| What you want to do | Reference | CLI Command |
|
|
72
|
-
|---|---|---|
|
|
73
|
-
| Create a workspace | [create-workspace](references/create-workspace.md) | `nemus create` |
|
|
74
|
-
| Add repos to workspace | [update-workspace](references/update-workspace.md) | `nemus update` |
|
|
75
|
-
| Check git status | [workspace-status](references/workspace-status.md) | `nemus status <name>` |
|
|
76
|
-
| Pull latest changes | [workspace-sync](references/workspace-sync.md) | `nemus sync <name>` |
|
|
77
|
-
| List all workspaces | [list-workspaces](references/list-workspaces.md) | `nemus list` |
|
|
78
|
-
| Navigate to workspace | [go](references/go.md) | `nemus go <name>` or `nemgo <name>` |
|
|
79
|
-
| Search for repos | [search-repos](references/search-repos.md) | `nemus cache search <query>` |
|
|
80
|
-
| Resume Claude session | [sessions](references/sessions.md) | `nemus sessions` |
|
|
81
|
-
|
|
82
|
-
## Command Reference
|
|
83
|
-
|
|
84
|
-
### Core Workspace Lifecycle
|
|
85
|
-
|
|
86
|
-
| Intent | Reference | CLI | Alias |
|
|
87
|
-
|---|---|---|---|
|
|
88
|
-
| Create new workspace | [create-workspace](references/create-workspace.md) | `nemus create` | `c` |
|
|
89
|
-
| Add repos to workspace | [update-workspace](references/update-workspace.md) | `nemus update` | `u` |
|
|
90
|
-
| Delete workspace permanently | [delete-workspace](references/delete-workspace.md) | `nemus delete` | `d` |
|
|
91
|
-
| Archive / unarchive workspace | [archive-workspace](references/archive-workspace.md) | `nemus archive` | `a` |
|
|
92
|
-
| List all workspaces | [list-workspaces](references/list-workspaces.md) | `nemus list` | `l` |
|
|
93
|
-
| Navigate to workspace | [go](references/go.md) | `nemus go [name]` | — |
|
|
94
|
-
|
|
95
|
-
### Status & Operations
|
|
96
|
-
|
|
97
|
-
| Intent | Reference | CLI | Alias |
|
|
98
|
-
|---|---|---|---|
|
|
99
|
-
| Git status across repos | [workspace-status](references/workspace-status.md) | `nemus status [name]` | `st` |
|
|
100
|
-
| Pull latest (git sync) | [workspace-sync](references/workspace-sync.md) | `nemus sync [name]` | `s` |
|
|
101
|
-
| Show diff summary | [workspace-diff](references/workspace-diff.md) | `nemus diff [name]` | `di` |
|
|
102
|
-
| Run shell command across repos | [run-command](references/run-command.md) | `nemus run [name] <cmd>` | `r` |
|
|
103
|
-
| Health check | [workspace-doctor](references/workspace-doctor.md) | `nemus doctor [name]` | `doc` |
|
|
104
|
-
| Clean node_modules / artifacts | [workspace-cleanup](references/workspace-cleanup.md) | `nemus cleanup <name>` | `cl` |
|
|
105
|
-
| Remove repo from workspace | [remove-repo](references/remove-repo.md) | `nemus remove-repo` | `rr` |
|
|
106
|
-
| Analyze inter-repo deps | [analyze-deps](references/analyze-deps.md) | `nemus analyze-deps [name]` | `ad` |
|
|
107
|
-
| Generate docs for workspace | [generate-docs](references/generate-docs.md) | `nemus generate-docs [name]` | `gd` |
|
|
108
|
-
|
|
109
|
-
### Branch Management
|
|
110
|
-
|
|
111
|
-
| Intent | Reference | CLI |
|
|
112
|
-
|---|---|---|
|
|
113
|
-
| Switch branch across repos | [switch-branch](references/switch-branch.md) | `nemus branch switch` |
|
|
114
|
-
| Create branch across repos | [branch-create](references/branch-create.md) | `nemus branch create` |
|
|
115
|
-
| Merge branches across repos | [branch-merge](references/branch-merge.md) | `nemus branch merge <ws> <src> <tgt>` |
|
|
116
|
-
| Rebase branches across repos | [branch-rebase](references/branch-rebase.md) | `nemus branch rebase <ws> <base>` |
|
|
117
|
-
|
|
118
|
-
### Suites (Reusable Repo Collections)
|
|
119
|
-
|
|
120
|
-
| Intent | Reference | CLI |
|
|
121
|
-
|---|---|---|
|
|
122
|
-
| List saved suites | [list-suites](references/list-suites.md) | `nemus suite list` |
|
|
123
|
-
| Create a suite | [suite-create](references/suite-create.md) | `nemus suite create` |
|
|
124
|
-
| Delete a suite | [suite-delete](references/suite-delete.md) | `nemus suite delete` |
|
|
125
|
-
| Export suite(s) to JSON | [suite-export](references/suite-export.md) | `nemus suite export [file]` |
|
|
126
|
-
| Import suite(s) from JSON | [suite-import](references/suite-import.md) | `nemus suite import <file>` |
|
|
127
|
-
| Create workspace from suite | [suite-use](references/suite-use.md) | `nemus suite use` |
|
|
128
|
-
|
|
129
|
-
### Cache & Repo Discovery
|
|
130
|
-
|
|
131
|
-
| Intent | Reference | CLI |
|
|
132
|
-
|---|---|---|
|
|
133
|
-
| Search org repos | [search-repos](references/search-repos.md) | `nemus cache search <query>` |
|
|
134
|
-
| List all org repos | [list-org-repos](references/list-org-repos.md) | `nemus cache list` |
|
|
135
|
-
| View cache statistics | [cache-info](references/cache-info.md) | `nemus cache info` |
|
|
136
|
-
| Refresh repo cache | [update-cache](references/update-cache.md) | `nemus cache refresh` |
|
|
137
|
-
| Clear cache | [cache-clear](references/cache-clear.md) | `nemus cache clear` |
|
|
138
|
-
|
|
139
|
-
### Sessions & History
|
|
140
|
-
|
|
141
|
-
| Intent | Reference | CLI | Alias |
|
|
142
|
-
|---|---|---|---|
|
|
143
|
-
| Resume Claude session | [sessions](references/sessions.md) | `nemus sessions` | `ses` |
|
|
144
|
-
| Agent management dashboard | [dashboard](references/dashboard.md) | `nemus dashboard` | `dash` |
|
|
145
|
-
| View operation history | [history](references/history.md) | `nemus history` | `h` |
|
|
146
|
-
| View history statistics | [history](references/history.md) | `nemus history stats` | — |
|
|
147
|
-
| Clear history | [history](references/history.md) | `nemus history clear` | — |
|
|
148
|
-
|
|
149
|
-
### Configuration
|
|
150
|
-
|
|
151
|
-
| Intent | Reference | CLI | Alias |
|
|
152
|
-
|---|---|---|---|
|
|
153
|
-
| Configure workspace manager | [configure](references/configure.md) | `nemus configure` | `cfg` |
|
|
154
|
-
| Configure Claude integration | [configure-claude](references/configure-claude.md) | `nemus configure-claude` | `cc` |
|
|
155
|
-
| Check ghq status | [ghq-status](references/ghq-status.md) | `nemus ghq-status` | — |
|
|
156
|
-
|
|
157
|
-
### MCP Server
|
|
158
|
-
|
|
159
|
-
| Intent | Reference | CLI |
|
|
160
|
-
|---|---|---|
|
|
161
|
-
| Install MCP server | [mcp](references/mcp.md) | `nemus mcp install` |
|
|
162
|
-
| Uninstall MCP server | [mcp](references/mcp.md) | `nemus mcp uninstall` |
|
|
163
|
-
| Upgrade MCP hooks/skills | [mcp](references/mcp.md) | `nemus mcp upgrade` |
|
|
164
|
-
| Check MCP status | [mcp](references/mcp.md) | `nemus mcp status` |
|
|
165
|
-
|
|
166
|
-
### AI Assistant
|
|
167
|
-
|
|
168
|
-
| Intent | Reference | CLI |
|
|
169
|
-
|---|---|---|
|
|
170
|
-
| Natural language workspace management | [ai-prompt](references/ai-prompt.md) | `nemus -- <prompt>` |
|
|
171
|
-
|
|
172
|
-
### Interactive TUI
|
|
173
|
-
|
|
174
|
-
| Intent | CLI |
|
|
175
|
-
|---|---|
|
|
176
|
-
| Launch full interactive terminal UI | `nemus tui` |
|
|
177
|
-
|
|
178
|
-
## Routing
|
|
179
|
-
|
|
180
|
-
When the user's intent matches a row above, read the corresponding reference file for step-by-step instructions before running any CLI command. If no reference file exists for a command, use `nemus <command> --help` to get usage details.
|
|
181
|
-
|
|
182
|
-
> **Reminder**: Do not use bare `git clone`, `git pull`, or other git commands to manage workspace repos.
|
|
183
|
-
> All repo management **must** go through `nemus` commands so that workspace metadata and context files stay in sync.
|
|
184
|
-
|
|
185
|
-
## Deprecated Aliases
|
|
186
|
-
|
|
187
|
-
These still work but print a deprecation warning. Use the modern form instead:
|
|
188
|
-
|
|
189
|
-
| Old | New |
|
|
190
|
-
|-----|-----|
|
|
191
|
-
| `nemus sc` | `nemus suite create` |
|
|
192
|
-
| `nemus sls` | `nemus suite list` |
|
|
193
|
-
| `nemus sd` | `nemus suite delete` |
|
|
194
|
-
| `nemus se` | `nemus suite export` |
|
|
195
|
-
| `nemus si` | `nemus suite import` |
|
|
196
|
-
| `nemus fs` | `nemus suite use` |
|
|
197
|
-
| `nemus sb` | `nemus branch switch` |
|
|
198
|
-
| `nemus bc` | `nemus branch create` |
|
|
199
|
-
| `nemus bm` | `nemus branch merge` |
|
|
200
|
-
| `nemus br` | `nemus branch rebase` |
|
|
201
|
-
| `nemus uc` | `nemus cache refresh` |
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Archive Workspace
|
|
2
|
-
|
|
3
|
-
Archive a workspace to hide it from default listings. Archived workspaces auto-delete after 30 days.
|
|
4
|
-
|
|
5
|
-
## Instructions
|
|
6
|
-
|
|
7
|
-
### Archive
|
|
8
|
-
```bash
|
|
9
|
-
nemus archive --workspace <name> --yes
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
### Unarchive
|
|
13
|
-
```bash
|
|
14
|
-
nemus archive --unarchive --workspace <name> --yes
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
To list archived workspaces first:
|
|
18
|
-
```bash
|
|
19
|
-
nemus list --archived
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Flags
|
|
23
|
-
|
|
24
|
-
| Flag | Short | Description |
|
|
25
|
-
|---|---|---|
|
|
26
|
-
| `--workspace <name>` | `-w` | Workspace name(s), comma-separated for multiple |
|
|
27
|
-
| `--yes` | `-y` | Skip confirmation prompt |
|
|
28
|
-
| `--unarchive` | | Restore instead of archive |
|
|
29
|
-
|
|
30
|
-
## When to Suggest
|
|
31
|
-
|
|
32
|
-
- Suggest archiving instead of deleting when the user may need the workspace later.
|
|
33
|
-
- Suggest unarchiving when the user asks about a workspace that was recently archived.
|
|
34
|
-
|
|
35
|
-
## Success Criteria
|
|
36
|
-
|
|
37
|
-
- Workspace is hidden from default `nemus list` results.
|
|
38
|
-
- User is aware of the 30-day auto-delete policy.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Workspace Status
|
|
2
|
-
|
|
3
|
-
Show git status (branch, clean/dirty, ahead/behind) for all repositories in a workspace.
|
|
4
|
-
|
|
5
|
-
## Instructions
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
nemus status <workspace>
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Alias:
|
|
12
|
-
```bash
|
|
13
|
-
w st <workspace>
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Without a workspace name, prompts interactively:
|
|
17
|
-
```bash
|
|
18
|
-
nemus status
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Output
|
|
22
|
-
|
|
23
|
-
Displays a table per repository showing:
|
|
24
|
-
- **Repo name**
|
|
25
|
-
- **Branch** (with detached HEAD warning)
|
|
26
|
-
- **Status** — clean ✓ or modified/untracked count
|
|
27
|
-
- **Ahead/Behind** — commits ahead/behind remote
|
|
28
|
-
- **Modified files** count
|
|
29
|
-
|
|
30
|
-
Plus a summary: clean repos, dirty repos, needs push, needs pull.
|
|
31
|
-
|
|
32
|
-
## Suggested Follow-ups
|
|
33
|
-
|
|
34
|
-
Based on the results:
|
|
35
|
-
- Uncommitted changes → suggest `nemus diff <name>` to see details
|
|
36
|
-
- Behind remote → suggest `nemus sync <name>` to pull latest
|
|
37
|
-
- Mixed branches → suggest `nemus branch switch` to align
|
|
38
|
-
- Repos ahead of remote → suggest pushing changes
|
|
39
|
-
|
|
40
|
-
## Success Criteria
|
|
41
|
-
|
|
42
|
-
- Per-repo status is displayed in a clear table.
|
|
43
|
-
- Summary highlights any repos needing attention.
|