@nemus-cli/nemus 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +86 -0
- package/LICENSE +21 -0
- package/README.md +275 -0
- package/assets/README.md +53 -0
- package/assets/banner.png +0 -0
- package/assets/banner.svg +66 -0
- package/assets/favicon-32.png +0 -0
- package/assets/favicon-64.png +0 -0
- package/assets/icon-256.png +0 -0
- package/assets/icon.svg +23 -0
- package/assets/logo-256.png +0 -0
- package/assets/logo-512.png +0 -0
- package/assets/logo-wordmark.svg +35 -0
- package/assets/logo.svg +32 -0
- package/bin/workspace.js +130 -0
- package/dist/cli/ai-prompt.js +421 -0
- package/dist/cli/dashboard/AgentList.js +61 -0
- package/dist/cli/dashboard/DashboardSidebar.js +280 -0
- package/dist/cli/dashboard/HelpFooter.js +73 -0
- package/dist/cli/dashboard/StatusBadge.js +50 -0
- package/dist/cli/dashboard/index.js +11 -0
- package/dist/cli/dashboard/types.js +2 -0
- package/dist/cli/tui.js +48 -0
- package/dist/commands/ai-prompt.js +22 -0
- package/dist/commands/analyze-deps.js +138 -0
- package/dist/commands/archive.js +113 -0
- package/dist/commands/branch/create.js +119 -0
- package/dist/commands/branch/index.js +104 -0
- package/dist/commands/branch/merge.js +90 -0
- package/dist/commands/branch/rebase.js +84 -0
- package/dist/commands/branch/switch.js +165 -0
- package/dist/commands/cache/index.js +80 -0
- package/dist/commands/cache/manager.js +198 -0
- package/dist/commands/cleanup.js +153 -0
- package/dist/commands/configure-claude.js +55 -0
- package/dist/commands/configure.js +231 -0
- package/dist/commands/create.js +204 -0
- package/dist/commands/dashboard/hook-handler.js +162 -0
- package/dist/commands/dashboard/index.js +258 -0
- package/dist/commands/dashboard/launcher.js +40 -0
- package/dist/commands/dashboard/session-picker.js +106 -0
- package/dist/commands/dashboard/sidebar.js +39 -0
- package/dist/commands/dashboard/workspace-picker.js +95 -0
- package/dist/commands/delete.js +194 -0
- package/dist/commands/deprecated-aliases.js +44 -0
- package/dist/commands/diff.js +129 -0
- package/dist/commands/doctor.js +141 -0
- package/dist/commands/generate-docs.js +77 -0
- package/dist/commands/ghq-status.js +72 -0
- package/dist/commands/go.js +154 -0
- package/dist/commands/history.js +124 -0
- package/dist/commands/list.js +191 -0
- package/dist/commands/mcp/index.js +69 -0
- package/dist/commands/migrate.js +296 -0
- package/dist/commands/remove-repo.js +217 -0
- package/dist/commands/report-bug.js +112 -0
- package/dist/commands/run.js +147 -0
- package/dist/commands/save-context.js +171 -0
- package/dist/commands/sessions.js +129 -0
- package/dist/commands/status.js +138 -0
- package/dist/commands/suite/create.js +212 -0
- package/dist/commands/suite/delete.js +64 -0
- package/dist/commands/suite/export.js +126 -0
- package/dist/commands/suite/import.js +128 -0
- package/dist/commands/suite/index.js +94 -0
- package/dist/commands/suite/list.js +49 -0
- package/dist/commands/suite/use.js +227 -0
- package/dist/commands/sync.js +117 -0
- package/dist/commands/update.js +203 -0
- package/dist/mcp/install.js +550 -0
- package/dist/mcp/server.js +398 -0
- package/dist/mcp/tools.js +922 -0
- package/dist/pi-extensions/permission-sync.ts.template +41 -0
- package/dist/pi-extensions/permissions-gate.ts.template +69 -0
- package/dist/pi-extensions/pr-fix-trigger.ts.template +124 -0
- package/dist/pi-extensions/review-reminder.ts.template +58 -0
- package/dist/pi-extensions/workspace-input-status.ts.template +919 -0
- package/dist/program.js +136 -0
- package/dist/scripts/workspace-table.py +394 -0
- package/dist/types/dashboard.js +11 -0
- package/dist/types/index.js +2 -0
- package/dist/utils/agent-config.js +263 -0
- package/dist/utils/agent-state.js +178 -0
- package/dist/utils/banner.js +24 -0
- package/dist/utils/branch-operations.js +232 -0
- package/dist/utils/bug-report.js +355 -0
- package/dist/utils/cache.js +168 -0
- package/dist/utils/claude-integration.js +617 -0
- package/dist/utils/claude-sessions.js +260 -0
- package/dist/utils/cleanup-operations.js +120 -0
- package/dist/utils/colors.js +26 -0
- package/dist/utils/command-helpers.js +44 -0
- package/dist/utils/config.js +150 -0
- package/dist/utils/context-file.js +33 -0
- package/dist/utils/dashboard-hooks.js +172 -0
- package/dist/utils/dependency-analyzer.js +234 -0
- package/dist/utils/diff-operations.js +80 -0
- package/dist/utils/doc-generator.js +184 -0
- package/dist/utils/ghq-integration.js +332 -0
- package/dist/utils/git-operations.js +237 -0
- package/dist/utils/git-status.js +187 -0
- package/dist/utils/github.js +68 -0
- package/dist/utils/health-checks.js +345 -0
- package/dist/utils/history.js +150 -0
- package/dist/utils/hooks.js +100 -0
- package/dist/utils/logger.js +40 -0
- package/dist/utils/permission-sync.js +681 -0
- package/dist/utils/pi-extensions.js +224 -0
- package/dist/utils/progress.js +92 -0
- package/dist/utils/prompts.js +279 -0
- package/dist/utils/repo-resolver.js +260 -0
- package/dist/utils/retry.js +65 -0
- package/dist/utils/run-operations.js +30 -0
- package/dist/utils/suite.js +159 -0
- package/dist/utils/sync-operations.js +107 -0
- package/dist/utils/tmux-dashboard.js +184 -0
- package/dist/utils/validation.js +153 -0
- package/dist/utils/version-check.js +121 -0
- package/dist/utils/workspace-meta.js +185 -0
- package/install-shell-integration.sh +532 -0
- package/install.sh +401 -0
- package/package.json +90 -0
- package/remove-shell-block.awk +44 -0
- package/scripts/postinstall.js +85 -0
- package/skills/analyze-deps.md +23 -0
- package/skills/archive-workspace.md +26 -0
- package/skills/branch-create.md +18 -0
- package/skills/create-workspace.md +39 -0
- package/skills/delete-workspace.md +37 -0
- package/skills/list-org-repos.md +26 -0
- package/skills/list-suites.md +24 -0
- package/skills/list-workspaces.md +27 -0
- package/skills/refresh-workspace-docs.md +89 -0
- package/skills/remove-repo.md +25 -0
- package/skills/run-command.md +23 -0
- package/skills/save-context.md +68 -0
- package/skills/search-repos.md +31 -0
- package/skills/snapshot-list.md +18 -0
- package/skills/snapshot-save.md +12 -0
- package/skills/switch-branch.md +18 -0
- package/skills/update-cache.md +21 -0
- package/skills/update-workspace.md +66 -0
- package/skills/workspace-cleanup.md +18 -0
- package/skills/workspace-diff.md +23 -0
- package/skills/workspace-doctor.md +23 -0
- package/skills/workspace-info.md +45 -0
- package/skills/workspace-manager/SKILL.md +201 -0
- package/skills/workspace-manager/references/ai-prompt.md +44 -0
- package/skills/workspace-manager/references/analyze-deps.md +45 -0
- package/skills/workspace-manager/references/archive-workspace.md +38 -0
- package/skills/workspace-manager/references/branch-create.md +31 -0
- package/skills/workspace-manager/references/branch-merge.md +22 -0
- package/skills/workspace-manager/references/branch-rebase.md +22 -0
- package/skills/workspace-manager/references/cache-clear.md +18 -0
- package/skills/workspace-manager/references/cache-info.md +22 -0
- package/skills/workspace-manager/references/configure-claude.md +31 -0
- package/skills/workspace-manager/references/configure.md +35 -0
- package/skills/workspace-manager/references/create-workspace.md +45 -0
- package/skills/workspace-manager/references/dashboard.md +61 -0
- package/skills/workspace-manager/references/delete-workspace.md +33 -0
- package/skills/workspace-manager/references/generate-docs.md +36 -0
- package/skills/workspace-manager/references/ghq-status.md +28 -0
- package/skills/workspace-manager/references/go.md +33 -0
- package/skills/workspace-manager/references/history.md +41 -0
- package/skills/workspace-manager/references/list-org-repos.md +26 -0
- package/skills/workspace-manager/references/list-suites.md +21 -0
- package/skills/workspace-manager/references/list-workspaces.md +27 -0
- package/skills/workspace-manager/references/mcp.md +49 -0
- package/skills/workspace-manager/references/remove-repo.md +26 -0
- package/skills/workspace-manager/references/run-command.md +44 -0
- package/skills/workspace-manager/references/search-repos.md +24 -0
- package/skills/workspace-manager/references/sessions.md +27 -0
- package/skills/workspace-manager/references/suite-create.md +22 -0
- package/skills/workspace-manager/references/suite-delete.md +21 -0
- package/skills/workspace-manager/references/suite-export.md +19 -0
- package/skills/workspace-manager/references/suite-import.md +19 -0
- package/skills/workspace-manager/references/suite-use.md +27 -0
- package/skills/workspace-manager/references/switch-branch.md +25 -0
- package/skills/workspace-manager/references/update-cache.md +22 -0
- package/skills/workspace-manager/references/update-workspace.md +50 -0
- package/skills/workspace-manager/references/workspace-cleanup.md +33 -0
- package/skills/workspace-manager/references/workspace-diff.md +27 -0
- package/skills/workspace-manager/references/workspace-doctor.md +27 -0
- package/skills/workspace-manager/references/workspace-info.md +33 -0
- package/skills/workspace-manager/references/workspace-status.md +43 -0
- package/skills/workspace-manager/references/workspace-sync.md +26 -0
- package/skills/workspace-status.md +26 -0
- package/skills/workspace-sync.md +23 -0
- package/src/cli/ai-prompt.test.ts +667 -0
- package/src/cli/ai-prompt.ts +421 -0
- package/src/cli/dashboard/AgentList.tsx +44 -0
- package/src/cli/dashboard/DashboardSidebar.tsx +291 -0
- package/src/cli/dashboard/HelpFooter.tsx +22 -0
- package/src/cli/dashboard/StatusBadge.tsx +23 -0
- package/src/cli/dashboard/index.ts +5 -0
- package/src/cli/dashboard/types.ts +16 -0
- package/src/cli/tui.tsx +51 -0
- package/src/cli/workspace-cli.test.ts +30 -0
- package/src/commands/ai-prompt.ts +21 -0
- package/src/commands/analyze-deps.ts +119 -0
- package/src/commands/archive.ts +114 -0
- package/src/commands/branch/create.ts +94 -0
- package/src/commands/branch/index.ts +74 -0
- package/src/commands/branch/merge.ts +61 -0
- package/src/commands/branch/rebase.ts +54 -0
- package/src/commands/branch/switch.ts +150 -0
- package/src/commands/cache/index.ts +51 -0
- package/src/commands/cache/manager.ts +168 -0
- package/src/commands/cleanup.ts +132 -0
- package/src/commands/configure-claude.ts +55 -0
- package/src/commands/configure.ts +204 -0
- package/src/commands/create.ts +196 -0
- package/src/commands/dashboard/hook-handler.ts +138 -0
- package/src/commands/dashboard/index.ts +248 -0
- package/src/commands/dashboard/launcher.ts +42 -0
- package/src/commands/dashboard/session-picker.ts +73 -0
- package/src/commands/dashboard/sidebar.js +39 -0
- package/src/commands/dashboard/workspace-picker.ts +62 -0
- package/src/commands/delete.test.ts +250 -0
- package/src/commands/delete.ts +171 -0
- package/src/commands/deprecated-aliases.ts +55 -0
- package/src/commands/diff.ts +106 -0
- package/src/commands/doctor.ts +110 -0
- package/src/commands/generate-docs.ts +45 -0
- package/src/commands/ghq-status.ts +70 -0
- package/src/commands/go.ts +125 -0
- package/src/commands/history.ts +136 -0
- package/src/commands/list.test.ts +219 -0
- package/src/commands/list.ts +176 -0
- package/src/commands/mcp/index.ts +39 -0
- package/src/commands/migrate.ts +277 -0
- package/src/commands/remove-repo.ts +194 -0
- package/src/commands/report-bug.ts +88 -0
- package/src/commands/run.ts +125 -0
- package/src/commands/save-context.test.ts +113 -0
- package/src/commands/save-context.ts +141 -0
- package/src/commands/sessions.ts +99 -0
- package/src/commands/status.ts +111 -0
- package/src/commands/suite/create.ts +240 -0
- package/src/commands/suite/delete.ts +65 -0
- package/src/commands/suite/export.ts +97 -0
- package/src/commands/suite/import.ts +100 -0
- package/src/commands/suite/index.ts +66 -0
- package/src/commands/suite/list.ts +54 -0
- package/src/commands/suite/use.ts +232 -0
- package/src/commands/sync.ts +97 -0
- package/src/commands/update.ts +197 -0
- package/src/mcp/install.ts +529 -0
- package/src/mcp/server.ts +579 -0
- package/src/mcp/tools.test.ts +545 -0
- package/src/mcp/tools.ts +1019 -0
- package/src/mcp/update-workspace.test.ts +220 -0
- package/src/pi-extensions/permission-sync.ts.template +41 -0
- package/src/pi-extensions/permissions-gate.ts.template +69 -0
- package/src/pi-extensions/pr-fix-trigger.ts.template +124 -0
- package/src/pi-extensions/review-reminder.ts.template +58 -0
- package/src/pi-extensions/workspace-input-status.ts.template +919 -0
- package/src/program.ts +112 -0
- package/src/scripts/workspace-table.py +394 -0
- package/src/types/dashboard.ts +29 -0
- package/src/types/index.ts +109 -0
- package/src/types/ink.d.ts +171 -0
- package/src/utils/agent-config.test.ts +303 -0
- package/src/utils/agent-config.ts +264 -0
- package/src/utils/agent-state.test.ts +166 -0
- package/src/utils/agent-state.ts +135 -0
- package/src/utils/banner.ts +24 -0
- package/src/utils/branch-operations.ts +237 -0
- package/src/utils/bug-report.test.ts +174 -0
- package/src/utils/bug-report.ts +355 -0
- package/src/utils/cache.ts +150 -0
- package/src/utils/claude-integration.test.ts +381 -0
- package/src/utils/claude-integration.ts +649 -0
- package/src/utils/claude-sessions.test.ts +262 -0
- package/src/utils/claude-sessions.ts +251 -0
- package/src/utils/cleanup-operations.ts +94 -0
- package/src/utils/colors.ts +25 -0
- package/src/utils/command-helpers.ts +46 -0
- package/src/utils/config.test.ts +203 -0
- package/src/utils/config.ts +133 -0
- package/src/utils/context-file.ts +36 -0
- package/src/utils/dashboard-hooks.test.ts +168 -0
- package/src/utils/dashboard-hooks.ts +163 -0
- package/src/utils/dependency-analyzer.ts +243 -0
- package/src/utils/diff-operations.ts +59 -0
- package/src/utils/doc-generator.ts +187 -0
- package/src/utils/ghq-integration.test.ts +195 -0
- package/src/utils/ghq-integration.ts +317 -0
- package/src/utils/git-operations.test.ts +265 -0
- package/src/utils/git-operations.ts +233 -0
- package/src/utils/git-status.ts +171 -0
- package/src/utils/github.ts +74 -0
- package/src/utils/health-checks.ts +359 -0
- package/src/utils/history.ts +140 -0
- package/src/utils/hooks.ts +92 -0
- package/src/utils/logger.ts +37 -0
- package/src/utils/permission-sync.test.ts +593 -0
- package/src/utils/permission-sync.ts +720 -0
- package/src/utils/pi-extensions.test.ts +182 -0
- package/src/utils/pi-extensions.ts +226 -0
- package/src/utils/progress.ts +73 -0
- package/src/utils/prompts.test.ts +169 -0
- package/src/utils/prompts.ts +296 -0
- package/src/utils/repo-resolver.test.ts +313 -0
- package/src/utils/repo-resolver.ts +294 -0
- package/src/utils/retry.test.ts +124 -0
- package/src/utils/retry.ts +85 -0
- package/src/utils/run-operations.ts +38 -0
- package/src/utils/suite.test.ts +256 -0
- package/src/utils/suite.ts +144 -0
- package/src/utils/sync-operations.ts +87 -0
- package/src/utils/tmux-dashboard.ts +193 -0
- package/src/utils/validation.test.ts +139 -0
- package/src/utils/validation.ts +128 -0
- package/src/utils/version-check.test.ts +108 -0
- package/src/utils/version-check.ts +96 -0
- package/src/utils/workspace-meta.ts +173 -0
- package/sync-permissions.sh +137 -0
- package/tsconfig.json +20 -0
- package/uninstall.sh +162 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Generate Docs
|
|
2
|
+
|
|
3
|
+
Generate workspace documentation including a README, dependency graph, and repository index.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
nemus generate-docs <workspace>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Alias:
|
|
12
|
+
```bash
|
|
13
|
+
w gd <workspace>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Without a workspace name, prompts interactively:
|
|
17
|
+
```bash
|
|
18
|
+
nemus generate-docs
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Generated Files
|
|
22
|
+
|
|
23
|
+
Creates these files in the workspace root:
|
|
24
|
+
- `WORKSPACE-README.md` — Overview of the workspace and its repos
|
|
25
|
+
- `DEPENDENCY-GRAPH.md` — Mermaid diagram of inter-repo dependencies
|
|
26
|
+
- `REPOSITORY-INDEX.md` — Detailed index of all repos
|
|
27
|
+
|
|
28
|
+
## When to Suggest
|
|
29
|
+
|
|
30
|
+
- After creating a workspace with many repos
|
|
31
|
+
- When user wants to understand workspace structure
|
|
32
|
+
- When onboarding someone to a multi-repo project
|
|
33
|
+
|
|
34
|
+
## Success Criteria
|
|
35
|
+
|
|
36
|
+
- All three documentation files are generated in the workspace directory.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# GHQ Status
|
|
2
|
+
|
|
3
|
+
Check the status of ghq integration for faster repository cloning.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
nemus ghq-status
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Shows
|
|
12
|
+
|
|
13
|
+
- Whether ghq is installed
|
|
14
|
+
- ghq root directory and number of managed repos
|
|
15
|
+
- How ghq accelerates workspace creation (cached local copies)
|
|
16
|
+
|
|
17
|
+
## How ghq Works with Workspace Manager
|
|
18
|
+
|
|
19
|
+
1. **First clone**: ghq downloads repo to its cache
|
|
20
|
+
2. **Workspace creation**: Copies from ghq cache instead of cloning from remote
|
|
21
|
+
3. **Subsequent clones**: Much faster (local copy vs network clone)
|
|
22
|
+
4. **Isolation**: Each workspace still gets its own independent clone
|
|
23
|
+
|
|
24
|
+
## When to Suggest
|
|
25
|
+
|
|
26
|
+
- User reports slow workspace creation
|
|
27
|
+
- User asks about optimizing clone performance
|
|
28
|
+
- User asks what ghq is or whether to install it
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Go (Navigate to Workspace)
|
|
2
|
+
|
|
3
|
+
Quickly navigate to a workspace directory. Works with the `nemgo` shell function for auto-CD.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
With a known workspace name:
|
|
8
|
+
```bash
|
|
9
|
+
nemus go <name>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Without a name (interactive fuzzy picker):
|
|
13
|
+
```bash
|
|
14
|
+
nemus go
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Or use the shell function (auto-CDs into the workspace):
|
|
18
|
+
```bash
|
|
19
|
+
nemgo <name>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The `nemgo` variant also launches Claude Code automatically if a session exists.
|
|
23
|
+
|
|
24
|
+
## How It Works
|
|
25
|
+
|
|
26
|
+
1. `nemus go` writes the workspace path to `~/.workspace-last-go`
|
|
27
|
+
2. The shell integration function reads that file and runs `cd`
|
|
28
|
+
3. If the workspace has an existing Claude session, it resumes it
|
|
29
|
+
|
|
30
|
+
## Success Criteria
|
|
31
|
+
|
|
32
|
+
- The terminal's working directory changes to the workspace path.
|
|
33
|
+
- If a Claude session exists, it resumes automatically (with `nemgo`).
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# History
|
|
2
|
+
|
|
3
|
+
View operation history for workspace-manager commands.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
### Show Recent History
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
nemus history
|
|
11
|
+
nemus history show 50 # last 50 records
|
|
12
|
+
nemus history show --command create # filter by command
|
|
13
|
+
nemus history show --workspace my-ws # filter by workspace
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### Show Statistics
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
nemus history stats
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Shows total operations, success rate, average duration, and per-command usage counts.
|
|
23
|
+
|
|
24
|
+
### Clear History
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
nemus history clear
|
|
28
|
+
nemus history clear --yes # skip confirmation
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Alias
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
w h # same as nemus history
|
|
35
|
+
w h stats # same as nemus history stats
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Success Criteria
|
|
39
|
+
|
|
40
|
+
- History records are displayed in a table with timestamp, command, workspace, duration, and status.
|
|
41
|
+
- Stats show meaningful aggregations.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# List Org Repos
|
|
2
|
+
|
|
3
|
+
List all organization repositories from GitHub.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Run:
|
|
8
|
+
```bash
|
|
9
|
+
nemus cache list
|
|
10
|
+
```
|
|
11
|
+
Pass `--force-refresh` (or `-f`) only if the user explicitly asks to refresh the cache:
|
|
12
|
+
```bash
|
|
13
|
+
nemus cache list --force-refresh
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
2. Present the repos in a clear format. Since there may be many, consider:
|
|
17
|
+
- Grouping by prefix (api-, service-, lib-, etc.)
|
|
18
|
+
- Showing count totals
|
|
19
|
+
- Asking the user to narrow down with `nemus cache search <query>` if needed
|
|
20
|
+
|
|
21
|
+
3. If the cache is stale, suggest `nemus cache refresh` to update it.
|
|
22
|
+
|
|
23
|
+
## Success Criteria
|
|
24
|
+
|
|
25
|
+
- All org repos are listed, optionally grouped by prefix.
|
|
26
|
+
- User is guided toward `nemus cache search` if the list is too large to browse.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# List Suites
|
|
2
|
+
|
|
3
|
+
List all saved suites with their repo counts.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
nemus suite list
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Present the suites showing name, number of repos, description (if available), and repo list.
|
|
12
|
+
|
|
13
|
+
To create a workspace from a suite (non-interactive):
|
|
14
|
+
```bash
|
|
15
|
+
nemus suite use --suite <suite-name> --workspace <workspace-name> --yes
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Success Criteria
|
|
19
|
+
|
|
20
|
+
- All available suites are listed with their repo counts and descriptions.
|
|
21
|
+
- User is guided toward `nemus suite use` if they want to create a workspace from a suite.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# List Workspaces
|
|
2
|
+
|
|
3
|
+
List all existing workspaces managed by workspace-manager.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Run:
|
|
8
|
+
```bash
|
|
9
|
+
nemus list
|
|
10
|
+
```
|
|
11
|
+
Pass `--archived` only if the user asks to see archived workspaces:
|
|
12
|
+
```bash
|
|
13
|
+
nemus list --archived
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
2. Present the results showing:
|
|
17
|
+
- Workspace name
|
|
18
|
+
- Number of repositories
|
|
19
|
+
- Creation date
|
|
20
|
+
- Archived status (if applicable)
|
|
21
|
+
|
|
22
|
+
3. If no workspaces exist, suggest creating one with `nemus create`.
|
|
23
|
+
|
|
24
|
+
## Success Criteria
|
|
25
|
+
|
|
26
|
+
- All active workspaces are listed with repo count and creation date.
|
|
27
|
+
- Archived workspaces are shown only when explicitly requested.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# MCP Server
|
|
2
|
+
|
|
3
|
+
Manage the MCP (Model Context Protocol) server integration with Claude Code.
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
### Install
|
|
8
|
+
|
|
9
|
+
Register the workspace-manager MCP server with Claude Code:
|
|
10
|
+
```bash
|
|
11
|
+
nemus mcp install
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
This also installs shell integration, permission sync hooks, and workspace skills.
|
|
15
|
+
|
|
16
|
+
### Uninstall
|
|
17
|
+
|
|
18
|
+
Remove the MCP server registration:
|
|
19
|
+
```bash
|
|
20
|
+
nemus mcp uninstall
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Upgrade
|
|
24
|
+
|
|
25
|
+
Update hooks and skills without re-registering the MCP server:
|
|
26
|
+
```bash
|
|
27
|
+
nemus mcp upgrade
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Use after updating the workspace-manager package.
|
|
31
|
+
|
|
32
|
+
### Status
|
|
33
|
+
|
|
34
|
+
Check if the MCP server is registered:
|
|
35
|
+
```bash
|
|
36
|
+
nemus mcp status
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## What MCP Provides
|
|
40
|
+
|
|
41
|
+
When installed, Claude Code gains access to workspace-manager tools:
|
|
42
|
+
- `create-workspace`, `list-workspaces`, `workspace-status`, etc.
|
|
43
|
+
- Enables natural language workspace management via `nemus -- <prompt>`
|
|
44
|
+
|
|
45
|
+
## When to Suggest
|
|
46
|
+
|
|
47
|
+
- After installing or upgrading workspace-manager
|
|
48
|
+
- When Claude Code doesn't seem to have workspace tools
|
|
49
|
+
- When `nemus -- <prompt>` fails to find MCP tools
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Remove Repo
|
|
2
|
+
|
|
3
|
+
Remove a repository instance from a workspace.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Warn the user about any uncommitted changes before removing.
|
|
8
|
+
|
|
9
|
+
2. Run the command:
|
|
10
|
+
```bash
|
|
11
|
+
nemus remove-repo --workspace <name> --repos <dir-name> --yes
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Note: `--repos` takes the **directory name** inside the workspace (not the GitHub repo name — these differ when using suffixes).
|
|
15
|
+
|
|
16
|
+
## Flags
|
|
17
|
+
|
|
18
|
+
| Flag | Short | Description |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| `--workspace <name>` | `-w` | Target workspace |
|
|
21
|
+
| `--repos <dir,...>` | `-r` | Comma-separated directory names to remove |
|
|
22
|
+
| `--yes` | `-y` | Skip confirmation prompt |
|
|
23
|
+
|
|
24
|
+
## Success Criteria
|
|
25
|
+
|
|
26
|
+
- The specified repo directory is removed from the workspace after user confirmation.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Run Command
|
|
2
|
+
|
|
3
|
+
Run a shell command across all repositories in a workspace (3 concurrent, 5 minute timeout per repo).
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
nemus run <workspace> <command>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Alias:
|
|
12
|
+
```bash
|
|
13
|
+
w r <workspace> <command>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Without a workspace name, prompts interactively:
|
|
17
|
+
```bash
|
|
18
|
+
nemus run "<command>"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
nemus run my-workspace "npm install"
|
|
25
|
+
nemus run my-workspace "git status -s"
|
|
26
|
+
nemus run my-workspace "npm test"
|
|
27
|
+
nemus run my-workspace "echo hello"
|
|
28
|
+
nemus run my-workspace "git checkout main"
|
|
29
|
+
nemus run my-workspace "cat package.json | jq .version"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Output
|
|
33
|
+
|
|
34
|
+
Shows per-repo results:
|
|
35
|
+
- ✓ for successful execution (with stdout)
|
|
36
|
+
- ✗ for failed execution (with stderr)
|
|
37
|
+
- Summary count of successes and failures
|
|
38
|
+
|
|
39
|
+
Exits with code 1 if any repo failed.
|
|
40
|
+
|
|
41
|
+
## Success Criteria
|
|
42
|
+
|
|
43
|
+
- Command is executed in all repos and per-repo success/failure is reported.
|
|
44
|
+
- stdout and stderr from each repo are clearly displayed.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Search Repos
|
|
2
|
+
|
|
3
|
+
Search organization repositories by name or description using fuzzy matching.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Run:
|
|
8
|
+
```bash
|
|
9
|
+
nemus cache search <query>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. Present matching repos with:
|
|
13
|
+
- Repository name
|
|
14
|
+
- Description
|
|
15
|
+
- URL
|
|
16
|
+
|
|
17
|
+
3. If the user is looking for repos to add to a workspace, suggest:
|
|
18
|
+
- `nemus create` to create a new workspace with selected repos
|
|
19
|
+
- `nemus update` to add repos to an existing workspace
|
|
20
|
+
|
|
21
|
+
## Success Criteria
|
|
22
|
+
|
|
23
|
+
- Matching repos are listed with name, description, and URL.
|
|
24
|
+
- Follow-up action (create or update workspace) is suggested if appropriate.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Sessions
|
|
2
|
+
|
|
3
|
+
Pick a workspace with an active Claude Code session and resume it.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
Interactive only — displays a fuzzy-searchable list of workspaces with sessions:
|
|
8
|
+
```bash
|
|
9
|
+
nemus sessions
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Alias:
|
|
13
|
+
```bash
|
|
14
|
+
w ses
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## How It Works
|
|
18
|
+
|
|
19
|
+
1. Scans for Claude Code sessions across all workspaces
|
|
20
|
+
2. Shows them sorted by last active time
|
|
21
|
+
3. User picks one → terminal CDs to that workspace and resumes the Claude session
|
|
22
|
+
|
|
23
|
+
## When to Suggest
|
|
24
|
+
|
|
25
|
+
- User asks to "continue where I left off"
|
|
26
|
+
- User wants to resume work on a previous workspace
|
|
27
|
+
- User asks about their recent Claude sessions
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Suite Create
|
|
2
|
+
|
|
3
|
+
Create a new suite (reusable collection of repositories) that can be used to quickly set up workspaces.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. In interactive mode:
|
|
8
|
+
```bash
|
|
9
|
+
nemus suite create
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. In non-interactive mode (for agents):
|
|
13
|
+
```bash
|
|
14
|
+
nemus suite create --name <suite-name> --repos repo1,repo2,repo3 --description "optional description" --yes
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
3. After creation, confirm with the suite name and repo count.
|
|
18
|
+
|
|
19
|
+
## Success Criteria
|
|
20
|
+
|
|
21
|
+
- Suite is saved with the specified name and repos.
|
|
22
|
+
- Suite appears in `nemus suite list`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Suite Delete
|
|
2
|
+
|
|
3
|
+
Delete a saved suite.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. In interactive mode:
|
|
8
|
+
```bash
|
|
9
|
+
nemus suite delete
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. In non-interactive mode (for agents):
|
|
13
|
+
```bash
|
|
14
|
+
nemus suite delete --name <suite-name> --yes
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
3. Confirm deletion.
|
|
18
|
+
|
|
19
|
+
## Success Criteria
|
|
20
|
+
|
|
21
|
+
- Suite is removed and no longer appears in `nemus suite list`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Suite Export
|
|
2
|
+
|
|
3
|
+
Export one or all suites to a JSON file for sharing.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Export all suites:
|
|
8
|
+
```bash
|
|
9
|
+
nemus suite export ./suites.json
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. In interactive mode, you'll be prompted to choose a single suite or all.
|
|
13
|
+
|
|
14
|
+
3. Share the exported file with teammates who can import it with `nemus suite import`.
|
|
15
|
+
|
|
16
|
+
## Success Criteria
|
|
17
|
+
|
|
18
|
+
- JSON file is created with suite data.
|
|
19
|
+
- File can be imported with `nemus suite import`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Suite Import
|
|
2
|
+
|
|
3
|
+
Import suites from a JSON file (exported by `nemus suite export`).
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Run:
|
|
8
|
+
```bash
|
|
9
|
+
nemus suite import <file-path>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. Existing suites with the same name will be skipped by default.
|
|
13
|
+
|
|
14
|
+
3. After import, verify with `nemus suite list`.
|
|
15
|
+
|
|
16
|
+
## Success Criteria
|
|
17
|
+
|
|
18
|
+
- Suites from the file are imported.
|
|
19
|
+
- Imported suites appear in `nemus suite list`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Suite Use
|
|
2
|
+
|
|
3
|
+
Create a new workspace from a saved suite.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. In interactive mode:
|
|
8
|
+
```bash
|
|
9
|
+
nemus suite use
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. In non-interactive mode (for agents):
|
|
13
|
+
```bash
|
|
14
|
+
nemus suite use --suite <suite-name> --workspace <workspace-name> --yes
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
3. This will:
|
|
18
|
+
- Clone all repos defined in the suite
|
|
19
|
+
- Run any post-clone hooks configured in the suite
|
|
20
|
+
- Set up Claude Code integration
|
|
21
|
+
|
|
22
|
+
4. After creation, suggest `nemus status <workspace>` to verify.
|
|
23
|
+
|
|
24
|
+
## Success Criteria
|
|
25
|
+
|
|
26
|
+
- Workspace is created with all suite repos cloned.
|
|
27
|
+
- Post-clone hooks (if any) are executed.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Switch Branch
|
|
2
|
+
|
|
3
|
+
Switch all repositories in a workspace to a specified branch.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
nemus branch switch --workspace <name> --branch <branch-name>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Short | Description |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| `--workspace <name>` | `-w` | Target workspace |
|
|
16
|
+
| `--branch <name>` | `-b` | Target branch name |
|
|
17
|
+
|
|
18
|
+
If some repos fail to switch (due to uncommitted changes), suggest:
|
|
19
|
+
- Committing or stashing changes first
|
|
20
|
+
- Using `nemus status <name>` to check the state
|
|
21
|
+
|
|
22
|
+
## Success Criteria
|
|
23
|
+
|
|
24
|
+
- All repos without uncommitted changes are switched to the target branch.
|
|
25
|
+
- Repos that failed to switch are clearly reported with the reason.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Update Cache
|
|
2
|
+
|
|
3
|
+
Force refresh the GitHub repository cache so newly added repos become searchable.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Run:
|
|
8
|
+
```bash
|
|
9
|
+
nemus cache refresh
|
|
10
|
+
```
|
|
11
|
+
Or use the short flag on any command:
|
|
12
|
+
```bash
|
|
13
|
+
nemus cache list --force-refresh
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
2. Report the result (number of repos cached, etc.).
|
|
17
|
+
|
|
18
|
+
3. Suggest using `nemus cache search <query>` or `nemus cache list` to browse the updated list.
|
|
19
|
+
|
|
20
|
+
## Success Criteria
|
|
21
|
+
|
|
22
|
+
- Cache is refreshed and the updated repo count is reported.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Update Workspace
|
|
2
|
+
|
|
3
|
+
Add more repositories to an existing workspace.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. Run the command with flags (non-interactive):
|
|
8
|
+
```bash
|
|
9
|
+
nemus update --workspace <name> --repos <r1,r2,...>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Or interactively:
|
|
13
|
+
```bash
|
|
14
|
+
nemus update
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
2. Report which repos were added successfully and which were skipped (already exist).
|
|
18
|
+
|
|
19
|
+
## Flags
|
|
20
|
+
|
|
21
|
+
| Flag | Short | Description |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `--workspace <name>` | `-w` | Target workspace |
|
|
24
|
+
| `--repos <r1,r2,...>` | `-r` | Comma-separated repo names to add. Use `repo:suffix` to add the same repo again under a separate folder. |
|
|
25
|
+
|
|
26
|
+
## Adding the same repo more than once (instances)
|
|
27
|
+
|
|
28
|
+
The same repository can live in a workspace multiple times under different
|
|
29
|
+
folders — useful for comparing branches/versions side by side, or keeping a
|
|
30
|
+
second checkout instead of a `git worktree` (which `nemus status`/`nemus sync` do NOT
|
|
31
|
+
track). Append `:suffix` to the repo name; the repo is cloned into
|
|
32
|
+
`<repo>-<suffix>`:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# casper already in the workspace — add a second checkout for branch CAS-101
|
|
36
|
+
nemus update --workspace my-ws --repos casper:cas-101 # -> folder casper-cas-101
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The suffix may contain letters, numbers, hyphens, and underscores. Each
|
|
40
|
+
instance is tracked independently by `nemus status` and `nemus sync` and is labeled
|
|
41
|
+
`(instance: <folder>)` in the workspace context file.
|
|
42
|
+
|
|
43
|
+
> Do NOT use `git worktree` inside a workspace to get a second checkout of a
|
|
44
|
+
> tracked repo — worktrees are invisible to `nemus status`/`nemus sync`. Use
|
|
45
|
+
> `nemus update --repos <repo>:<suffix>` instead.
|
|
46
|
+
|
|
47
|
+
## Success Criteria
|
|
48
|
+
|
|
49
|
+
- All specified repos are cloned into the workspace.
|
|
50
|
+
- User is informed of any repos skipped due to already existing.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Workspace Cleanup
|
|
2
|
+
|
|
3
|
+
Remove node_modules and build artifacts from all repos in a workspace to free disk space.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
nemus cleanup <workspace> --all --yes
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or specify what to clean:
|
|
12
|
+
```bash
|
|
13
|
+
nemus cleanup <workspace> --node-modules --yes
|
|
14
|
+
nemus cleanup <workspace> --build --yes
|
|
15
|
+
nemus cleanup <workspace> --git-clean --yes
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Flags
|
|
19
|
+
|
|
20
|
+
| Flag | Description |
|
|
21
|
+
|---|---|
|
|
22
|
+
| `--all` | Remove everything (node_modules + build artifacts + git clean) |
|
|
23
|
+
| `--node-modules` | Remove `node_modules` directories |
|
|
24
|
+
| `--build` | Remove `dist`, `build`, `.next`, `coverage`, `out` |
|
|
25
|
+
| `--git-clean` | Remove untracked files via git clean |
|
|
26
|
+
| `--yes` / `-y` | Skip confirmation prompt |
|
|
27
|
+
|
|
28
|
+
Remind the user they'll need to run `npm install` before building again.
|
|
29
|
+
|
|
30
|
+
## Success Criteria
|
|
31
|
+
|
|
32
|
+
- Selected directories are removed and disk space freed is reported.
|
|
33
|
+
- User is reminded to re-run `npm install` before building.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Workspace Diff
|
|
2
|
+
|
|
3
|
+
Show diff summary (staged/unstaged file counts, insertions, deletions) for all repos in a workspace.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
1. If no workspace is specified, run `nemus list` and ask which one.
|
|
8
|
+
|
|
9
|
+
2. Run:
|
|
10
|
+
```bash
|
|
11
|
+
nemus diff
|
|
12
|
+
```
|
|
13
|
+
Or target a specific workspace:
|
|
14
|
+
```bash
|
|
15
|
+
nemus diff <name>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
3. Present a clear summary showing per-repo:
|
|
19
|
+
- Number of staged/unstaged files
|
|
20
|
+
- Lines inserted/deleted
|
|
21
|
+
- Which files changed
|
|
22
|
+
|
|
23
|
+
4. If the user wants full diff content, they can pipe through `less` or redirect to a file.
|
|
24
|
+
|
|
25
|
+
## Success Criteria
|
|
26
|
+
|
|
27
|
+
- Per-repo diff summary is presented with file counts and line statistics.
|