@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 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
@@ -1,5 +1,5 @@
1
1
  import { ResolvedConfig } from './types';
2
- export declare const VERSION = "0.1.0";
2
+ export declare const VERSION = "0.1.1";
3
3
  export declare const DEFAULT_VERSIONS: {
4
4
  python: string;
5
5
  go: string;
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.0';
6
+ exports.VERSION = '0.1.1';
7
7
  exports.DEFAULT_VERSIONS = {
8
8
  python: '3.12',
9
9
  go: '1.24.0',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vyuhlabs/dxkit",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "AI-native developer experience toolkit for any repository",
5
5
  "license": "MIT",
6
6
  "bin": {