new-packagelisted
Install: claude install-skill mistakenot/auto-stack
# New Package
Scaffold a new `auto-*` package in the auto-stack monorepo following the established patterns documented in `docs/auto-package-patterns.md`.
## Pre-flight
1. Read the patterns doc at `docs/auto-package-patterns.md` to load the full blueprint.
2. Ask the user for the following (if not already provided):
1. **Package name** — the `{name}` part of `auto-{name}` (lowercase, no hyphens in binary name). Example: `foo` produces directory `auto-foo/`, binary `autofoo`.
2. **Short description** — one-line description for the root Cobra command and CLAUDE.md.
3. **Purpose** — a sentence or two about what the tool does and its role in the auto-stack.
## Step 1: Create directory structure
Create all directories:
```
auto-{name}/
├── cmd/auto{name}/
├── internal/
│ ├── app/
│ ├── cli/
│ └── config/
└── docs/
```
## Step 2: Create go.mod
Create `auto-{name}/go.mod`:
```
module github.com/mistakenot/auto-{name}
go 1.26.1
require (
github.com/mistakenot/auto-shared v0.0.0
github.com/spf13/cobra v1.10.2
)
replace github.com/mistakenot/auto-shared => ../auto-shared
```
## Step 3: Create source files
Create these files following the exact patterns from `docs/auto-package-patterns.md`:
1. **`cmd/auto{name}/main.go`** — Minimal entry point delegating to `cli.Execute()`
2. **`internal/app/app.go`** — App struct with Stdout, Stderr, CWD
3. **`internal/cli/root.go`** — Root command with ExitError, Execute(), newRootCmd()
4. **`internal/cli/init.go`