nexus-dev-toolkit 3.0.0__tar.gz → 3.1.0__tar.gz

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.
Files changed (39) hide show
  1. {nexus_dev_toolkit-3.0.0/nexus_dev_toolkit.egg-info → nexus_dev_toolkit-3.1.0}/PKG-INFO +87 -44
  2. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/README.md +83 -41
  3. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/nexus_cli.py +55 -2
  4. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0/nexus_dev_toolkit.egg-info}/PKG-INFO +87 -44
  5. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/nexus_dev_toolkit.egg-info/SOURCES.txt +13 -0
  6. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/nexus_dev_toolkit.egg-info/requires.txt +1 -1
  7. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/pyproject.toml +5 -3
  8. nexus_dev_toolkit-3.1.0/tests/test_cli.py +105 -0
  9. nexus_dev_toolkit-3.1.0/tests/test_server.py +21 -0
  10. nexus_dev_toolkit-3.1.0/tools/agents/code-reviewer.md +93 -0
  11. nexus_dev_toolkit-3.1.0/tools/agents/database-reviewer.md +95 -0
  12. nexus_dev_toolkit-3.1.0/tools/agents/deployment-reviewer.md +97 -0
  13. nexus_dev_toolkit-3.1.0/tools/agents/monitoring-reviewer.md +95 -0
  14. nexus_dev_toolkit-3.1.0/tools/agents/performance-reviewer.md +98 -0
  15. nexus_dev_toolkit-3.1.0/tools/epav/skills/__init__.py +0 -0
  16. nexus_dev_toolkit-3.1.0/tools/epav/skills/code-review.md +91 -0
  17. nexus_dev_toolkit-3.1.0/tools/epav/skills/database-review.md +91 -0
  18. nexus_dev_toolkit-3.1.0/tools/epav/skills/deployment-review.md +94 -0
  19. nexus_dev_toolkit-3.1.0/tools/epav/skills/monitoring-review.md +91 -0
  20. nexus_dev_toolkit-3.1.0/tools/epav/skills/performance-review.md +93 -0
  21. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/LICENSE +0 -0
  22. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/nexus_dev_toolkit.egg-info/dependency_links.txt +0 -0
  23. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/nexus_dev_toolkit.egg-info/entry_points.txt +0 -0
  24. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/nexus_dev_toolkit.egg-info/top_level.txt +0 -0
  25. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/nexus_server.py +0 -0
  26. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/setup.cfg +0 -0
  27. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/__init__.py +0 -0
  28. {nexus_dev_toolkit-3.0.0/tools/epav/skills → nexus_dev_toolkit-3.1.0/tools/agents}/__init__.py +0 -0
  29. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/__init__.py +0 -0
  30. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/arch_ingest.py +0 -0
  31. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/package_resolver.py +0 -0
  32. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/project_rules.py +0 -0
  33. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/skills/apply.md +0 -0
  34. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/skills/epav.md +0 -0
  35. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/skills/evaluate.md +0 -0
  36. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/skills/plan.md +0 -0
  37. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/skills/scaffold.md +0 -0
  38. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/skills/validate.md +0 -0
  39. {nexus_dev_toolkit-3.0.0 → nexus_dev_toolkit-3.1.0}/tools/epav/task_loader.py +0 -0
@@ -1,16 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nexus-dev-toolkit
3
- Version: 3.0.0
4
- Summary: LLM-agnostic developer workflow toolkit — Day 0 scaffold + Day 1 EPAV
3
+ Version: 3.1.0
4
+ Summary: Developer workflow toolkit for Claude Code — Day 0 scaffold + Day 1 EPAV
5
5
  Author-email: Ronald dela Cruz <rcdelacruz@users.noreply.github.com>
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://nexus.coderstudio.co
8
+ Project-URL: Documentation, https://nexus.coderstudio.co/docs
8
9
  Project-URL: Repository, https://github.com/rcdelacruz/nexus-dev-toolkit
9
10
  Project-URL: Issues, https://github.com/rcdelacruz/nexus-dev-toolkit/issues
10
11
  Requires-Python: >=3.10
11
12
  Description-Content-Type: text/markdown
12
13
  License-File: LICENSE
13
- Requires-Dist: mcp[cli]>=1.0.0
14
+ Requires-Dist: mcp[cli]>=1.27.1
14
15
  Requires-Dist: typer>=0.12.0
15
16
  Requires-Dist: rich>=13.0.0
16
17
  Provides-Extra: dev
@@ -20,11 +21,10 @@ Dynamic: license-file
20
21
 
21
22
  # nexus-dev-toolkit
22
23
 
23
- [![PyPI version](https://img.shields.io/pypi/v/nexus-dev-toolkit)](https://pypi.org/project/nexus-dev-toolkit/)
24
- [![Python](https://img.shields.io/pypi/pyversions/nexus-dev-toolkit)](https://pypi.org/project/nexus-dev-toolkit/)
25
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
26
24
 
27
- Developer workflow toolkit for AI-assisted development. Gives any team a structured Day 0 scaffold and repeatable Day 1 feature cycle via the EPAV methodology.
25
+ Developer workflow toolkit for Claude Code. Gives any team a structured Day 0 scaffold and repeatable Day 1 feature cycle via the EPAV methodology.
26
+
27
+ **[Documentation](https://nexus.coderstudio.co/docs)**
28
28
 
29
29
  ---
30
30
 
@@ -32,7 +32,7 @@ Developer workflow toolkit for AI-assisted development. Gives any team a structu
32
32
 
33
33
  Ad-hoc AI prompting doesn't scale. Every dev prompts differently, context drifts, and nobody knows what the AI was told last sprint.
34
34
 
35
- `nexus-dev-toolkit` gives your team a single workflow:
35
+ nexus-dev-toolkit gives your team a single workflow:
36
36
 
37
37
  - **Day 0** — scaffold the project once, production-grade, zero credentials needed
38
38
  - **Day 1** — every feature follows the same four steps: evaluate → plan → apply → validate
@@ -41,68 +41,98 @@ Every skill, every rule, every pattern lives in the project repo — versioned,
41
41
 
42
42
  ---
43
43
 
44
- ## The Workflow
44
+ ## Setup
45
45
 
46
- ### Day 0 — `/scaffold` (once per project)
46
+ ### 1. Install prerequisites
47
47
 
48
+ **uv** (recommended package manager):
49
+ ```bash
50
+ curl -LsSf https://astral.sh/uv/install.sh | sh
48
51
  ```
49
- nexus init <project-dir>
52
+
53
+ **Claude Code:**
54
+ ```bash
55
+ npm install -g @anthropic-ai/claude-code
56
+ claude login
50
57
  ```
51
58
 
52
- Sets up `.claude/commands/`, `.claude/settings.json`, and `knowledge/`. Then in Claude Code:
59
+ **graphify** _(strongly recommended)_ — builds a queryable knowledge graph of your codebase. EPAV skills query this graph to understand blast radius and cross-file dependencies before touching any code.
53
60
 
61
+ | | With graphify | Without graphify |
62
+ |---|---|---|
63
+ | Context loading | Scoped subgraph — fast, low token cost | Full file reads — slow, high token cost |
64
+ | Blast radius | Accurate, graph-backed | Best-effort, grep-based |
65
+ | Auto-update | PostToolUse hook keeps graph current | N/A |
66
+ | EPAV skills | Full capability | Degraded but functional |
67
+
68
+ ```bash
69
+ uv tool install graphifyy # PyPI package name has double y; command is "graphify"
70
+ graphify install # registers /graphify skill into Claude Code
54
71
  ```
55
- /scaffold
72
+
73
+ ### 2. Install nexus-dev-toolkit
74
+
75
+ ```bash
76
+ uv tool install nexus-dev-toolkit
56
77
  ```
57
78
 
58
- EVALUATE → PLAN → APPLY → VALIDATE. Produces a production-grade project: correct stack from your arch doc, mock auth, mock data, design system, AGENTS.md — all from your architecture document. Runs with `npm install && npm run dev` (or equivalent) from commit one.
79
+ ### 3. Initialize your project
59
80
 
60
- ### Day 1 — EPAV (every feature, every sprint)
81
+ ```bash
82
+ cd my-project
83
+ nexus init .
84
+ ```
85
+
86
+ ### 4. Place your reference docs
87
+
88
+ Before running `/scaffold`, put everything Claude needs in `docs/`:
61
89
 
62
90
  ```
63
- /evaluate → /plan → /apply → /validate
91
+ docs/
92
+ ├── arch-docs/ ← architecture doc, ADRs
93
+ ├── figma/ ← Figma export ZIP
94
+ ├── brd/ ← Business Requirements Document
95
+ └── prd/ ← Product Requirements Document
64
96
  ```
65
97
 
66
- Each step is a built-in skill in `.claude/commands/`. Every task starts with a row from the dev tasks CSV. Every task ends with acceptance criteria verified.
98
+ ### 5. Start Day 0
67
99
 
68
- ---
100
+ Open the project in Claude Code and run:
101
+ ```
102
+ /scaffold
103
+ ```
69
104
 
70
- ## Install
105
+ `/scaffold` runs EVALUATE first then stops. You drive each phase by typing the next command:
71
106
 
72
- **Requirements:** Python 3.10+, `uv` (recommended) or `pip`
107
+ ```
108
+ /scaffold → (review) → /plan → (review) → /apply → (review) → /validate
109
+ ```
73
110
 
74
- ```bash
75
- # Recommended
76
- uv tool install nexus-dev-toolkit
111
+ ### 6. Build the knowledge graph
77
112
 
78
- # Or via pip
79
- pip install nexus-dev-toolkit
113
+ After `/scaffold` completes, run in Claude Code:
114
+ ```
115
+ /graphify .
80
116
  ```
81
117
 
82
- ---
118
+ This generates `graphify-out/graph.json` — required by all EPAV skills before starting Day 1.
83
119
 
84
- ## Quick Start
120
+ ---
85
121
 
86
- ```bash
87
- cd my-project
88
- nexus init .
89
- ```
122
+ ## The Workflow
90
123
 
91
- Then open the project in Claude Code and type `/scaffold`.
124
+ ### Day 0 `/scaffold` (once per project)
92
125
 
93
- ---
126
+ Produces a production-grade project from your architecture document and Figma design: correct stack, mock auth, mock data, design system, AGENTS.md — zero external dependencies. Runs `npm install && npm run dev` (or equivalent) from commit one.
94
127
 
95
- ## Commands
128
+ ### Day 1 — EPAV (every feature, every sprint)
96
129
 
97
- ```bash
98
- nexus init . # set up .claude/commands/ + knowledge/ + .mcp.json
99
- nexus skill add code-review # create a custom skill in .claude/commands/
100
- nexus skill list # list all skills
101
- nexus rule add api-standards # create a rule in knowledge/rules/
102
- nexus rule list # list all rules
103
- nexus update # update to latest version
130
+ ```
131
+ /evaluate <task> → /plan → /apply → /validate
104
132
  ```
105
133
 
134
+ Each step is a built-in skill in `.claude/commands/`. Every task starts from the dev tasks CSV. Every task ends with acceptance criteria verified.
135
+
106
136
  ---
107
137
 
108
138
  ## What `nexus init` Creates
@@ -116,7 +146,7 @@ nexus update # update to latest version
116
146
  │ ├── apply.md ← /apply — implement the plan
117
147
  │ ├── validate.md ← /validate — verify acceptance criteria
118
148
  │ └── epav.md ← /epav — full cycle guide
119
- └── settings.json ← PostToolUse hook: graphify auto-updates after every file edit
149
+ └── settings.json ← PostToolUse: graphify auto-updates after every file edit
120
150
  knowledge/
121
151
  ├── rules/ ← coding standards, arch decisions
122
152
  ├── patterns/ ← reusable implementation patterns
@@ -127,8 +157,23 @@ knowledge/
127
157
 
128
158
  ---
129
159
 
160
+ ## Commands
161
+
162
+ ```bash
163
+ nexus init . # set up .claude/commands/ + knowledge/ + .mcp.json
164
+ nexus skill add code-review # create a custom skill in .claude/commands/
165
+ nexus skill list # list all skills
166
+ nexus rule add api-standards # create a rule in knowledge/rules/
167
+ nexus rule list # list all rules
168
+ nexus update # update to latest version
169
+ ```
170
+
171
+ ---
172
+
130
173
  ## MCP Server
131
174
 
175
+ `nexus init` writes `.mcp.json` automatically. For Claude Desktop, add manually:
176
+
132
177
  ```json
133
178
  {
134
179
  "mcpServers": {
@@ -140,8 +185,6 @@ knowledge/
140
185
  }
141
186
  ```
142
187
 
143
- `nexus init` writes `.mcp.json` automatically.
144
-
145
188
  ### MCP Tools
146
189
 
147
190
  | Tool | Purpose |
@@ -1,10 +1,9 @@
1
1
  # nexus-dev-toolkit
2
2
 
3
- [![PyPI version](https://img.shields.io/pypi/v/nexus-dev-toolkit)](https://pypi.org/project/nexus-dev-toolkit/)
4
- [![Python](https://img.shields.io/pypi/pyversions/nexus-dev-toolkit)](https://pypi.org/project/nexus-dev-toolkit/)
5
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6
3
 
7
- Developer workflow toolkit for AI-assisted development. Gives any team a structured Day 0 scaffold and repeatable Day 1 feature cycle via the EPAV methodology.
4
+ Developer workflow toolkit for Claude Code. Gives any team a structured Day 0 scaffold and repeatable Day 1 feature cycle via the EPAV methodology.
5
+
6
+ **[Documentation](https://nexus.coderstudio.co/docs)**
8
7
 
9
8
  ---
10
9
 
@@ -12,7 +11,7 @@ Developer workflow toolkit for AI-assisted development. Gives any team a structu
12
11
 
13
12
  Ad-hoc AI prompting doesn't scale. Every dev prompts differently, context drifts, and nobody knows what the AI was told last sprint.
14
13
 
15
- `nexus-dev-toolkit` gives your team a single workflow:
14
+ nexus-dev-toolkit gives your team a single workflow:
16
15
 
17
16
  - **Day 0** — scaffold the project once, production-grade, zero credentials needed
18
17
  - **Day 1** — every feature follows the same four steps: evaluate → plan → apply → validate
@@ -21,68 +20,98 @@ Every skill, every rule, every pattern lives in the project repo — versioned,
21
20
 
22
21
  ---
23
22
 
24
- ## The Workflow
23
+ ## Setup
25
24
 
26
- ### Day 0 — `/scaffold` (once per project)
25
+ ### 1. Install prerequisites
27
26
 
27
+ **uv** (recommended package manager):
28
+ ```bash
29
+ curl -LsSf https://astral.sh/uv/install.sh | sh
28
30
  ```
29
- nexus init <project-dir>
31
+
32
+ **Claude Code:**
33
+ ```bash
34
+ npm install -g @anthropic-ai/claude-code
35
+ claude login
30
36
  ```
31
37
 
32
- Sets up `.claude/commands/`, `.claude/settings.json`, and `knowledge/`. Then in Claude Code:
38
+ **graphify** _(strongly recommended)_ — builds a queryable knowledge graph of your codebase. EPAV skills query this graph to understand blast radius and cross-file dependencies before touching any code.
33
39
 
40
+ | | With graphify | Without graphify |
41
+ |---|---|---|
42
+ | Context loading | Scoped subgraph — fast, low token cost | Full file reads — slow, high token cost |
43
+ | Blast radius | Accurate, graph-backed | Best-effort, grep-based |
44
+ | Auto-update | PostToolUse hook keeps graph current | N/A |
45
+ | EPAV skills | Full capability | Degraded but functional |
46
+
47
+ ```bash
48
+ uv tool install graphifyy # PyPI package name has double y; command is "graphify"
49
+ graphify install # registers /graphify skill into Claude Code
34
50
  ```
35
- /scaffold
51
+
52
+ ### 2. Install nexus-dev-toolkit
53
+
54
+ ```bash
55
+ uv tool install nexus-dev-toolkit
36
56
  ```
37
57
 
38
- EVALUATE → PLAN → APPLY → VALIDATE. Produces a production-grade project: correct stack from your arch doc, mock auth, mock data, design system, AGENTS.md — all from your architecture document. Runs with `npm install && npm run dev` (or equivalent) from commit one.
58
+ ### 3. Initialize your project
39
59
 
40
- ### Day 1 — EPAV (every feature, every sprint)
60
+ ```bash
61
+ cd my-project
62
+ nexus init .
63
+ ```
64
+
65
+ ### 4. Place your reference docs
66
+
67
+ Before running `/scaffold`, put everything Claude needs in `docs/`:
41
68
 
42
69
  ```
43
- /evaluate → /plan → /apply → /validate
70
+ docs/
71
+ ├── arch-docs/ ← architecture doc, ADRs
72
+ ├── figma/ ← Figma export ZIP
73
+ ├── brd/ ← Business Requirements Document
74
+ └── prd/ ← Product Requirements Document
44
75
  ```
45
76
 
46
- Each step is a built-in skill in `.claude/commands/`. Every task starts with a row from the dev tasks CSV. Every task ends with acceptance criteria verified.
77
+ ### 5. Start Day 0
47
78
 
48
- ---
79
+ Open the project in Claude Code and run:
80
+ ```
81
+ /scaffold
82
+ ```
49
83
 
50
- ## Install
84
+ `/scaffold` runs EVALUATE first then stops. You drive each phase by typing the next command:
51
85
 
52
- **Requirements:** Python 3.10+, `uv` (recommended) or `pip`
86
+ ```
87
+ /scaffold → (review) → /plan → (review) → /apply → (review) → /validate
88
+ ```
53
89
 
54
- ```bash
55
- # Recommended
56
- uv tool install nexus-dev-toolkit
90
+ ### 6. Build the knowledge graph
57
91
 
58
- # Or via pip
59
- pip install nexus-dev-toolkit
92
+ After `/scaffold` completes, run in Claude Code:
93
+ ```
94
+ /graphify .
60
95
  ```
61
96
 
62
- ---
97
+ This generates `graphify-out/graph.json` — required by all EPAV skills before starting Day 1.
63
98
 
64
- ## Quick Start
99
+ ---
65
100
 
66
- ```bash
67
- cd my-project
68
- nexus init .
69
- ```
101
+ ## The Workflow
70
102
 
71
- Then open the project in Claude Code and type `/scaffold`.
103
+ ### Day 0 `/scaffold` (once per project)
72
104
 
73
- ---
105
+ Produces a production-grade project from your architecture document and Figma design: correct stack, mock auth, mock data, design system, AGENTS.md — zero external dependencies. Runs `npm install && npm run dev` (or equivalent) from commit one.
74
106
 
75
- ## Commands
107
+ ### Day 1 — EPAV (every feature, every sprint)
76
108
 
77
- ```bash
78
- nexus init . # set up .claude/commands/ + knowledge/ + .mcp.json
79
- nexus skill add code-review # create a custom skill in .claude/commands/
80
- nexus skill list # list all skills
81
- nexus rule add api-standards # create a rule in knowledge/rules/
82
- nexus rule list # list all rules
83
- nexus update # update to latest version
109
+ ```
110
+ /evaluate <task> → /plan → /apply → /validate
84
111
  ```
85
112
 
113
+ Each step is a built-in skill in `.claude/commands/`. Every task starts from the dev tasks CSV. Every task ends with acceptance criteria verified.
114
+
86
115
  ---
87
116
 
88
117
  ## What `nexus init` Creates
@@ -96,7 +125,7 @@ nexus update # update to latest version
96
125
  │ ├── apply.md ← /apply — implement the plan
97
126
  │ ├── validate.md ← /validate — verify acceptance criteria
98
127
  │ └── epav.md ← /epav — full cycle guide
99
- └── settings.json ← PostToolUse hook: graphify auto-updates after every file edit
128
+ └── settings.json ← PostToolUse: graphify auto-updates after every file edit
100
129
  knowledge/
101
130
  ├── rules/ ← coding standards, arch decisions
102
131
  ├── patterns/ ← reusable implementation patterns
@@ -107,8 +136,23 @@ knowledge/
107
136
 
108
137
  ---
109
138
 
139
+ ## Commands
140
+
141
+ ```bash
142
+ nexus init . # set up .claude/commands/ + knowledge/ + .mcp.json
143
+ nexus skill add code-review # create a custom skill in .claude/commands/
144
+ nexus skill list # list all skills
145
+ nexus rule add api-standards # create a rule in knowledge/rules/
146
+ nexus rule list # list all rules
147
+ nexus update # update to latest version
148
+ ```
149
+
150
+ ---
151
+
110
152
  ## MCP Server
111
153
 
154
+ `nexus init` writes `.mcp.json` automatically. For Claude Desktop, add manually:
155
+
112
156
  ```json
113
157
  {
114
158
  "mcpServers": {
@@ -120,8 +164,6 @@ knowledge/
120
164
  }
121
165
  ```
122
166
 
123
- `nexus init` writes `.mcp.json` automatically.
124
-
125
167
  ### MCP Tools
126
168
 
127
169
  | Tool | Purpose |
@@ -8,7 +8,7 @@ import typer
8
8
  from rich.console import Console
9
9
  from rich.table import Table
10
10
 
11
- app = typer.Typer(name="nexus", no_args_is_help=True, help="nexus-dev-toolkit — LLM-agnostic developer workflow toolkit")
11
+ app = typer.Typer(name="nexus", no_args_is_help=False, help="nexus-dev-toolkit — Day 0 scaffold + Day 1 EPAV workflow for Claude Code")
12
12
  skill_app = typer.Typer(name="skill", no_args_is_help=True, help="Manage skills in .claude/commands/")
13
13
  rule_app = typer.Typer(name="rule", no_args_is_help=True, help="Manage rules in knowledge/rules/")
14
14
  app.add_typer(skill_app, name="skill")
@@ -16,6 +16,31 @@ app.add_typer(rule_app, name="rule")
16
16
 
17
17
  console = Console()
18
18
 
19
+ _VERSION = "3.1.0"
20
+
21
+ _LOGO = """\
22
+ [cyan]███╗ ██╗███████╗██╗ ██╗██╗ ██╗███████╗[/cyan]
23
+ [cyan]████╗ ██║██╔════╝╚██╗██╔╝██║ ██║██╔════╝[/cyan]
24
+ [cyan]██╔██╗ ██║█████╗ ╚███╔╝ ██║ ██║███████╗[/cyan]
25
+ [cyan]██║╚██╗██║██╔══╝ ██╔██╗ ██║ ██║╚════██║[/cyan]
26
+ [cyan]██║ ╚████║███████╗██╔╝ ██╗╚██████╔╝███████║[/cyan]
27
+ [cyan]╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝[/cyan]
28
+ [dim white]dev toolkit[/dim white] [dim cyan]v{version}[/dim cyan]"""
29
+
30
+
31
+ def _print_logo() -> None:
32
+ from rich.padding import Padding
33
+ console.print()
34
+ console.print(Padding(_LOGO.format(version=_VERSION), (0, 2)))
35
+ console.print()
36
+
37
+
38
+ @app.callback(invoke_without_command=True)
39
+ def _callback(ctx: typer.Context) -> None:
40
+ if ctx.invoked_subcommand is None:
41
+ _print_logo()
42
+ console.print(ctx.get_help())
43
+
19
44
  # ── Built-in skills shipped with the package ──────────────────────────────────
20
45
 
21
46
  _SKILLS_SRC = Path(__file__).parent / "tools" / "epav" / "skills"
@@ -27,8 +52,24 @@ _BUILTIN_SKILLS = [
27
52
  "apply.md",
28
53
  "validate.md",
29
54
  "epav.md",
55
+ "code-review.md",
56
+ "database-review.md",
57
+ "deployment-review.md",
58
+ "performance-review.md",
59
+ "monitoring-review.md",
60
+ ]
61
+
62
+ _AGENTS_SRC = Path(__file__).parent / "tools" / "agents"
63
+
64
+ _BUILTIN_AGENTS = [
65
+ "deployment-reviewer.md",
66
+ "code-reviewer.md",
67
+ "performance-reviewer.md",
68
+ "monitoring-reviewer.md",
69
+ "database-reviewer.md",
30
70
  ]
31
71
 
72
+
32
73
  # ── .claude/settings.json ────────────────────────────────────────────────────
33
74
 
34
75
  _CLAUDE_SETTINGS = {
@@ -70,6 +111,7 @@ def _init_project(project_dir: Path) -> list[str]:
70
111
  """
71
112
  nexus init — sets up:
72
113
  .claude/commands/ ← built-in skills
114
+ .claude/agents/ ← built-in subagents
73
115
  .claude/settings.json ← PostToolUse graphify hook
74
116
  knowledge/ ← empty scaffold
75
117
  """
@@ -86,6 +128,17 @@ def _init_project(project_dir: Path) -> list[str]:
86
128
  shutil.copy2(src, dest)
87
129
  created.append(f".claude/commands/{skill_name}")
88
130
 
131
+ # .claude/agents/ — copy built-in subagents
132
+ agents_dir = project_dir / ".claude" / "agents"
133
+ agents_dir.mkdir(parents=True, exist_ok=True)
134
+
135
+ for agent_name in _BUILTIN_AGENTS:
136
+ src = _AGENTS_SRC / agent_name
137
+ dest = agents_dir / agent_name
138
+ if src.exists() and not dest.exists():
139
+ shutil.copy2(src, dest)
140
+ created.append(f".claude/agents/{agent_name}")
141
+
89
142
  # .claude/settings.json — PostToolUse graphify hook
90
143
  settings_path = project_dir / ".claude" / "settings.json"
91
144
  if not settings_path.exists():
@@ -121,7 +174,7 @@ def init(
121
174
  ) -> None:
122
175
  """Initialize .claude/commands/, .claude/settings.json, and knowledge/ in a project."""
123
176
  root = Path(project_dir).resolve()
124
- console.print(f"\n [cyan]▶[/cyan] Initializing nexus in [bold]{root}[/bold]\n")
177
+ console.print(f" [cyan]▶[/cyan] Initializing nexus in [bold]{root}[/bold]\n")
125
178
 
126
179
  created = _init_project(root)
127
180
  for f in created: