Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use “real-time” as a compound adjective.

Small wording fix for consistency and grammar in user-facing docs.

✏️ Suggested doc fix
-- `--verbose` mode to see Claude's exploration in real time
+- `--verbose` mode to see Claude's exploration in real-time
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- `--verbose` mode to see Claude's exploration in real time
- `--verbose` mode to see Claude's exploration in real-time
🧰 Tools
🪛 LanguageTool

[uncategorized] ~15-~15: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...se` mode to see Claude's exploration in real time - Token usage summary after generation ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CHANGELOG.md` at line 15, Update the user-facing CHANGELOG entry for the
`--verbose` flag so the compound adjective is hyphenated: change the phrase
"`--verbose` mode to see Claude's exploration in real time" to use "real-time"
(e.g., "`--verbose` mode to see Claude's exploration in real-time") to fix
grammar and maintain consistency.

- 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)
29 changes: 27 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ $ aspens doc init .
| `--timeout <seconds>` | Claude timeout (default: 300) |
| `--mode <mode>` | `all`, `chunked`, or `base-only` (skips interactive prompt) |
| `--strategy <strategy>` | `improve`, `rewrite`, or `skip` for existing docs (skips interactive prompt) |
| `--model <model>` | Claude model (e.g., sonnet, opus, haiku) |
| `--verbose` | Show what Claude is reading in real time |

### `aspens doc sync [path]`
Expand Down Expand Up @@ -127,18 +128,42 @@ $ aspens doc sync .
| `--install-hook` | Install git post-commit hook for auto-sync |
| `--dry-run` | Preview without writing files |
| `--timeout <seconds>` | Claude timeout (default: 300) |
| `--model <model>` | Claude model (e.g., sonnet, opus, haiku) |
| `--verbose` | Show what Claude is reading in real time |

### `aspens add <type> [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 |
Comment on lines +146 to +149

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

aspens add --force is documented but not implemented in CLI.

README lists --force for aspens add, but the command currently exposes only --list. Please either remove this row or add the option in add command implementation.

📘 Minimal README-only fix
 | Option | Description |
 |--------|-------------|
 | `--list` | Browse available components |
-| `--force` | Overwrite existing files |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Option | Description |
|--------|-------------|
| `--list` | Browse available components |
| `--force` | Overwrite existing files |
| Option | Description |
|--------|-------------|
| `--list` | Browse available components |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 146 - 149, The README documents an unsupported flag
(--force) for the aspens add command; either remove the row or implement the
flag in the add command handler. To implement: locate the CLI
registration/handler for the "add" command (the function that registers the
"add" command or the addCommand/add handler) and add a boolean option/flag named
"--force" (or force) to the command parser, surface it to the handler, and use
it when creating files to skip prompts/allow overwriting existing files (i.e.,
if force is true, overwrite without confirmation; otherwise preserve current
behavior). Ensure help text matches README and update any tests or docs
accordingly.


### `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 <seconds>` | Claude timeout (default: 300) |
| `--model <model>` | Claude model (e.g., sonnet, opus, haiku) |
| `--verbose` | Show what Claude is doing |

## How It Works

```
Expand Down
4 changes: 2 additions & 2 deletions bin/cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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();
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Loading