@vyuhlabs/dxkit 0.1.0 → 0.1.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/README.md +241 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# @vyuhlabs/dxkit
|
|
2
|
+
|
|
3
|
+
AI-native developer experience toolkit for any repository. Adds Claude Code agents, skills, commands, and quality hooks to existing projects in seconds.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Auto-detect your stack and set up everything
|
|
9
|
+
npx @vyuhlabs/dxkit init --detect
|
|
10
|
+
|
|
11
|
+
# Interactive mode (prompts for config)
|
|
12
|
+
npx @vyuhlabs/dxkit init
|
|
13
|
+
|
|
14
|
+
# Full mode (DX + quality + hooks + CI)
|
|
15
|
+
npx @vyuhlabs/dxkit init --full --yes
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## What It Does
|
|
19
|
+
|
|
20
|
+
Running `init` auto-detects your tech stack and generates a complete `.claude/` directory with:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
.claude/
|
|
24
|
+
settings.json # Permissions, deny list, hooks
|
|
25
|
+
agents/ # Active agents (auto-trigger)
|
|
26
|
+
knowledge-bot.md # Answers codebase questions
|
|
27
|
+
onboarding.md # Interactive onboarding buddy
|
|
28
|
+
quality-reviewer.md # Reviews code before committing
|
|
29
|
+
agents-available/ # Dormant agents (activate on demand)
|
|
30
|
+
codebase-explorer.md # Deep architecture analysis
|
|
31
|
+
code-reviewer.md # PR review and security audit
|
|
32
|
+
test-writer.md # Writes tests for existing code
|
|
33
|
+
debugger.md # Root cause analysis
|
|
34
|
+
commands/ # Slash commands
|
|
35
|
+
ask.md # /ask — Query the codebase
|
|
36
|
+
quality.md # /quality — Run linters
|
|
37
|
+
test.md # /test — Run tests with coverage
|
|
38
|
+
check.md # /check — Full pre-commit validation
|
|
39
|
+
fix.md # /fix — Auto-fix issues
|
|
40
|
+
learn.md # /learn — Capture gotchas/conventions
|
|
41
|
+
onboarding.md # /onboarding — Start onboarding
|
|
42
|
+
help.md # /help — List everything
|
|
43
|
+
session-start.md # /session-start — Begin dev session
|
|
44
|
+
session-end.md # /session-end — Checkpoint + evolve skills
|
|
45
|
+
...
|
|
46
|
+
skills/ # Domain knowledge
|
|
47
|
+
codebase/ # Auto-generated architecture overview
|
|
48
|
+
learned/ # Evolving gotchas, conventions, deny list
|
|
49
|
+
quality/ # Quality check patterns
|
|
50
|
+
...
|
|
51
|
+
rules/ # Path-scoped rules (per language)
|
|
52
|
+
CLAUDE.md # Main context file for Claude Code
|
|
53
|
+
.ai/
|
|
54
|
+
sessions/ # Session checkpoints
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Supported Languages
|
|
58
|
+
|
|
59
|
+
| Language | Detection | Linters | Tests | Coverage |
|
|
60
|
+
|---|---|---|---|---|
|
|
61
|
+
| Node.js / TypeScript | `package.json` | ESLint, Prettier, tsc | Jest | jest --coverage |
|
|
62
|
+
| Python | `pyproject.toml`, `setup.py` | ruff, mypy | pytest | pytest-cov |
|
|
63
|
+
| Go | `go.mod` | golangci-lint, go vet | go test | go cover |
|
|
64
|
+
| C# | `*.csproj`, `*.sln` | dotnet format, Roslyn | dotnet test | coverlet |
|
|
65
|
+
| Rust | `Cargo.toml` | clippy, rustfmt | cargo test | tarpaulin |
|
|
66
|
+
|
|
67
|
+
## Supported Tools
|
|
68
|
+
|
|
69
|
+
Auto-detected and integrated when present:
|
|
70
|
+
|
|
71
|
+
- **Google Cloud** (gcloud) — SDK commands, security rules
|
|
72
|
+
- **Infisical** — Secrets management, never-leak rules
|
|
73
|
+
- **Pulumi** — IaC with preview-before-apply safety
|
|
74
|
+
- **Docker** — Container commands
|
|
75
|
+
|
|
76
|
+
## Commands
|
|
77
|
+
|
|
78
|
+
After init, these slash commands are available in Claude Code:
|
|
79
|
+
|
|
80
|
+
### Development Workflow
|
|
81
|
+
| Command | Description |
|
|
82
|
+
|---|---|
|
|
83
|
+
| `/session-start` | Start an AI-assisted dev session |
|
|
84
|
+
| `/session-end` | End session, create checkpoint, evolve skills |
|
|
85
|
+
| `/ask <question>` | Ask about the codebase (delegates to knowledge-bot) |
|
|
86
|
+
| `/learn` | Capture a gotcha, convention, or thing to avoid |
|
|
87
|
+
|
|
88
|
+
### Quality & Testing
|
|
89
|
+
| Command | Description |
|
|
90
|
+
|---|---|
|
|
91
|
+
| `/quality` | Run language-specific linters and type checks |
|
|
92
|
+
| `/test` | Run tests with coverage enforcement |
|
|
93
|
+
| `/check` | Full pre-commit validation (quality + tests + AI review) |
|
|
94
|
+
| `/fix` | Auto-fix formatting and lint issues |
|
|
95
|
+
| `/setup-hooks` | Install git pre-commit/pre-push hooks |
|
|
96
|
+
|
|
97
|
+
### Exploration & Onboarding
|
|
98
|
+
| Command | Description |
|
|
99
|
+
|---|---|
|
|
100
|
+
| `/onboarding` | Interactive onboarding for new developers |
|
|
101
|
+
| `/explore-codebase` | Deep architecture exploration |
|
|
102
|
+
| `/help` | List all commands and agents |
|
|
103
|
+
|
|
104
|
+
### Operations
|
|
105
|
+
| Command | Description |
|
|
106
|
+
|---|---|
|
|
107
|
+
| `/fix-issue <number>` | Investigate and fix a GitHub issue |
|
|
108
|
+
| `/doctor` | Diagnose environment issues |
|
|
109
|
+
| `/enable-agent <name>` | Activate a dormant agent |
|
|
110
|
+
|
|
111
|
+
## Agents
|
|
112
|
+
|
|
113
|
+
### Active by Default
|
|
114
|
+
These agents auto-trigger when Claude detects a matching question:
|
|
115
|
+
|
|
116
|
+
- **knowledge-bot** — "How does auth work?" "Where are payments handled?"
|
|
117
|
+
- **onboarding** — "I'm new, help me get started" "What does this project do?"
|
|
118
|
+
- **quality-reviewer** — "Review my changes" "Check quality before I commit"
|
|
119
|
+
|
|
120
|
+
### Dormant (activate with `/enable-agent`)
|
|
121
|
+
- **codebase-explorer** — Deep architecture analysis, generates documentation
|
|
122
|
+
- **code-reviewer** — PR review and security audit (read-only)
|
|
123
|
+
- **test-writer** — Writes tests for existing code
|
|
124
|
+
- **debugger** — Systematic root cause analysis
|
|
125
|
+
|
|
126
|
+
## Learning System
|
|
127
|
+
|
|
128
|
+
DXKit includes a continuous learning system that improves over time:
|
|
129
|
+
|
|
130
|
+
1. **Stop Hook** — After each conversation, Claude is reminded to capture learnings
|
|
131
|
+
2. **`/learn` command** — Explicitly save gotchas, conventions, or things to avoid
|
|
132
|
+
3. **`/session-end`** — Creates checkpoint and evolves skill files
|
|
133
|
+
4. **Evolving files** — These files are append-only and never overwritten:
|
|
134
|
+
- `.claude/skills/learned/references/gotchas.md`
|
|
135
|
+
- `.claude/skills/learned/references/conventions.md`
|
|
136
|
+
- `.claude/skills/learned/references/deny-recommendations.md`
|
|
137
|
+
|
|
138
|
+
## Coverage Enforcement
|
|
139
|
+
|
|
140
|
+
Tests run with a minimum coverage threshold (default: 80%). Configure at init time or in `.vyuh-dxkit.json`.
|
|
141
|
+
|
|
142
|
+
## CLI Reference
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Initialize (auto-detect stack)
|
|
146
|
+
npx @vyuhlabs/dxkit init --detect
|
|
147
|
+
|
|
148
|
+
# Initialize (interactive)
|
|
149
|
+
npx @vyuhlabs/dxkit init
|
|
150
|
+
|
|
151
|
+
# Initialize (everything, no prompts)
|
|
152
|
+
npx @vyuhlabs/dxkit init --full --yes
|
|
153
|
+
|
|
154
|
+
# Re-generate after config changes (preserves evolved files)
|
|
155
|
+
npx @vyuhlabs/dxkit update
|
|
156
|
+
|
|
157
|
+
# Re-generate with codebase rescan
|
|
158
|
+
npx @vyuhlabs/dxkit update --rescan
|
|
159
|
+
|
|
160
|
+
# Verify setup
|
|
161
|
+
npx @vyuhlabs/dxkit doctor
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Init Options
|
|
165
|
+
|
|
166
|
+
| Flag | Description |
|
|
167
|
+
|---|---|
|
|
168
|
+
| `--detect` | Auto-detect stack, minimal prompts |
|
|
169
|
+
| `--yes` | Accept all defaults |
|
|
170
|
+
| `--dx-only` | Just `.claude/` + `CLAUDE.md` (default) |
|
|
171
|
+
| `--full` | Everything: DX + quality + hooks + CI |
|
|
172
|
+
| `--force` | Overwrite existing files (except evolved) |
|
|
173
|
+
| `--name <n>` | Override project name |
|
|
174
|
+
| `--no-scan` | Skip codebase analysis |
|
|
175
|
+
|
|
176
|
+
## Example: Adding to an Existing Node.js Project
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
cd my-express-app
|
|
180
|
+
npx @vyuhlabs/dxkit init --detect --yes
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
This generates:
|
|
184
|
+
- `CLAUDE.md` with Node.js-specific context
|
|
185
|
+
- `.claude/commands/quality.md` with `npx eslint .` and `npx tsc --noEmit`
|
|
186
|
+
- `.claude/commands/test.md` with `npx jest --coverage` (80% threshold)
|
|
187
|
+
- `.claude/rules/` with Node.js conventions
|
|
188
|
+
- `.claude/skills/codebase/SKILL.md` with auto-scanned architecture overview
|
|
189
|
+
- 3 active agents + 4 dormant agents
|
|
190
|
+
|
|
191
|
+
Then in Claude Code:
|
|
192
|
+
```
|
|
193
|
+
/help # See everything available
|
|
194
|
+
/ask How does the auth middleware work? # Ask about the codebase
|
|
195
|
+
/quality # Run ESLint + TypeScript checks
|
|
196
|
+
/onboarding # Get oriented as a new developer
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Example: Adding to a Python + Go Monorepo
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
cd my-monorepo
|
|
203
|
+
npx @vyuhlabs/dxkit init --detect --yes
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Detects both languages and generates:
|
|
207
|
+
- Quality commands with ruff + mypy (Python) and golangci-lint (Go)
|
|
208
|
+
- Test commands with pytest + go test
|
|
209
|
+
- Path-scoped rules for both `.py` and `.go` files
|
|
210
|
+
- Language-specific coverage enforcement
|
|
211
|
+
|
|
212
|
+
## How It Works
|
|
213
|
+
|
|
214
|
+
1. **Detection** — Scans for config files (`package.json`, `go.mod`, `pyproject.toml`, etc.) to determine languages and tools
|
|
215
|
+
2. **Template Processing** — Processes `.md.template` files through a conditional template engine, stripping irrelevant language sections
|
|
216
|
+
3. **Codebase Scanning** — Analyzes source files to find entry points, API routes, test patterns, and conventions
|
|
217
|
+
4. **Generation** — Writes files non-destructively (never overwrites without `--force`, evolving files always preserved)
|
|
218
|
+
5. **Manifest** — Saves state to `.vyuh-dxkit.json` for `update` and `doctor` commands
|
|
219
|
+
|
|
220
|
+
## Non-Destructive by Design
|
|
221
|
+
|
|
222
|
+
- Files that already exist are **skipped** (use `--force` to overwrite)
|
|
223
|
+
- Evolving files (`gotchas.md`, `conventions.md`, `deny-recommendations.md`) are **never overwritten**, even with `--force`
|
|
224
|
+
- The manifest (`.vyuh-dxkit.json`) tracks what was generated for safe updates
|
|
225
|
+
|
|
226
|
+
## AI-Assisted Development Workflow
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
/session-start # Load context, plan work
|
|
230
|
+
git checkout -b feature/my-feature # Create branch
|
|
231
|
+
/ask How does the payment flow work? # Understand the code
|
|
232
|
+
# ... develop with full context ...
|
|
233
|
+
/quality # Lint + AI review
|
|
234
|
+
/test # Tests with coverage
|
|
235
|
+
git add -A && git commit # Commit
|
|
236
|
+
/session-end # Checkpoint + evolve skills
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## License
|
|
240
|
+
|
|
241
|
+
MIT
|
package/dist/constants.d.ts
CHANGED
package/dist/constants.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EVOLVING_FILES = exports.DEFAULT_COVERAGE = exports.DEFAULT_VERSIONS = exports.VERSION = void 0;
|
|
4
4
|
exports.buildVariables = buildVariables;
|
|
5
5
|
exports.buildConditions = buildConditions;
|
|
6
|
-
exports.VERSION = '0.1.
|
|
6
|
+
exports.VERSION = '0.1.1';
|
|
7
7
|
exports.DEFAULT_VERSIONS = {
|
|
8
8
|
python: '3.12',
|
|
9
9
|
go: '1.24.0',
|