diff --git a/CHANGELOG.md b/CHANGELOG.md index 344860a..21b8097 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,20 @@ # Changelog -## [Unreleased] +## [0.1.0] - 2026-03-18 ### Added -- `aspens scan` — deterministic tech stack and structure detection +- `aspens scan` — deterministic tech stack, structure, and domain detection - `aspens doc init` — generate skills and CLAUDE.md via Claude - `aspens doc sync` — update skills from git diffs -- `aspens doc sync --install-hook` — auto-sync on every commit +- `aspens doc sync --install-hook` — auto-sync on every commit with 5-minute cooldown +- `aspens add` — install agents, hooks, and slash commands from bundled library +- `aspens customize agents` — inject project context into installed agents - Chunked generation mode for large repos -- Verbose mode (`--verbose`) to see Claude's exploration in real time +- Auto-scaling timeout based on repo size +- `--model` flag for choosing Claude model (sonnet, opus, haiku) +- `--verbose` mode to see Claude's exploration in real time +- Token usage summary after generation +- Repo size estimation in scan output - Existing docs strategy: improve, rewrite, or skip +- 9 bundled agents, 2 hooks, 2 slash commands +- Test suite (vitest, 69 tests) diff --git a/README.md b/README.md index 15ad93d..031b10f 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ $ aspens doc init . | `--timeout ` | Claude timeout (default: 300) | | `--mode ` | `all`, `chunked`, or `base-only` (skips interactive prompt) | | `--strategy ` | `improve`, `rewrite`, or `skip` for existing docs (skips interactive prompt) | +| `--model ` | Claude model (e.g., sonnet, opus, haiku) | | `--verbose` | Show what Claude is reading in real time | ### `aspens doc sync [path]` @@ -127,18 +128,42 @@ $ aspens doc sync . | `--install-hook` | Install git post-commit hook for auto-sync | | `--dry-run` | Preview without writing files | | `--timeout ` | Claude timeout (default: 300) | +| `--model ` | Claude model (e.g., sonnet, opus, haiku) | | `--verbose` | Show what Claude is reading in real time | ### `aspens add [name]` -Add individual components from the library. Coming soon. +Add individual components from the bundled library. ```bash -aspens add agent code-reviewer # Add an AI agent +aspens add agent all # Add all 9 AI agents +aspens add agent code-reviewer # Add a specific agent +aspens add agent --list # Browse available agents aspens add hook skill-activation # Add auto-triggering hooks aspens add command dev-docs # Add slash commands ``` +| Option | Description | +|--------|-------------| +| `--list` | Browse available components | +| `--force` | Overwrite existing files | + +### `aspens customize agents` + +Inject your project's tech stack, conventions, and file paths into installed agents. Reads your skills and CLAUDE.md, then tailors each agent with project-specific context. + +```bash +aspens customize agents # Customize all installed agents +aspens customize agents --dry-run # Preview changes +``` + +| Option | Description | +|--------|-------------| +| `--dry-run` | Preview without writing files | +| `--timeout ` | Claude timeout (default: 300) | +| `--model ` | Claude model (e.g., sonnet, opus, haiku) | +| `--verbose` | Show what Claude is doing | + ## How It Works ``` diff --git a/bin/cli.js b/bin/cli.js index 68d45ed..784bf40 100755 --- a/bin/cli.js +++ b/bin/cli.js @@ -20,7 +20,7 @@ function countTemplates(subdir) { function showWelcome() { console.log(` - ${pc.cyan(pc.bold('aspens'))} ${pc.dim('v0.0.1')} — AI-ready documentation for your codebase + ${pc.cyan(pc.bold('aspens'))} ${pc.dim('v0.1.0')} — AI-ready documentation for your codebase ${pc.bold('Quick Start')} ${pc.green('aspens scan')} See your repo's tech stack and domains @@ -63,7 +63,7 @@ function showWelcome() { program .name('aspens') .description('Generate and maintain AI-ready documentation for your codebase') - .version('0.0.1') + .version('0.1.0') .action(() => { // No command given — show welcome showWelcome(); diff --git a/package-lock.json b/package-lock.json index c72e50c..59fb326 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aspens", - "version": "0.0.1", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "aspens", - "version": "0.0.1", + "version": "0.1.0", "license": "MIT", "dependencies": { "@clack/prompts": "^0.8.0", diff --git a/package.json b/package.json index eaace93..33fb15c 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,16 @@ { "name": "aspens", - "version": "0.0.1", + "version": "0.1.0", "description": "CLI for managing shared AI coding config across repos", "type": "module", "bin": { "aspens": "./bin/cli.js" }, "main": "./src/index.js", + "files": [ + "bin/", + "src/" + ], "keywords": [ "claude-code", "orchestrator",