CLI tool to remove build artifacts from web projects
npm install @jawish/yeetA CLI tool to remove build artifacts from web development projects.
``bash`
bun install -g @jawish/yeet
Or run directly with npx:
`bash`
bunx @jawish/yeet
Run yeet in your project directory to open the interactive interface:
`bash`
yeet
| Command | Description |
|---------|-------------|
| yeet | Open interactive mode |yeet init [path]
| | Create a config file (default: ~/.yeet.json) |
| Flag | Description |
|------|-------------|
| -t, --tree | List detected artifacts as a tree |-l, --last
| | Remove items marked quickSelect in config |-n, --dry-run
| | Show what would be removed (use with -l) |-h, --help
| | Show help |-v, --version
| | Show version |
`bash`
yeet # Interactive mode
yeet --tree # List all detected artifacts
yeet --last # Remove quickSelect items
yeet --last --dry-run # Preview what would be removed
yeet init # Create ~/.yeet.json
yeet init .yeet.json # Create config in current directory
By default, yeet detects:
- node_modules directoriespackage-lock.json
- Lock files (, yarn.lock, pnpm-lock.yaml, bun.lock)dist
- Build outputs (, build, out, .output).next
- Framework caches (, .nuxt, .svelte-kit, .astro).cache
- Bundler caches (, .vite, .parcel-cache).turbo
- Monorepo caches (, .nx)*.tsbuildinfo
- TypeScript build info ()coverage
- Test artifacts (, test-results, playwright-report)*.log
- Log files ().DS_Store
- OS files (, Thumbs.db).temp
- Temporary files (, .tmp)
yeet works without configuration. To customize behavior, create a config file.
`bash`
yeet init # Creates ~/.yeet.json (user-level)
yeet init . # Creates .yeet.json in current directory
yeet init path/to # Creates path/to/.yeet.json
Config files are loaded and merged in this order (later overrides earlier):
1. Built-in defaults
2. ~/.yeet.json or ~/.config/yeet/config.json (user-level).yeet.json
3. at project root (nearest package.json or .git).yeet.json
4. in current directory
`json`
{
"version": "1.0.0",
"categories": [
{
"id": "node_modules",
"name": "Node Modules",
"description": "Project dependencies",
"priority": "high",
"quickSelect": true,
"safetyLevel": "safe",
"patterns": [
{
"pattern": "node_modules",
"type": "directory",
"description": "Node.js dependencies folder"
}
]
}
]
}
| Field | Type | Description |
|-------|------|-------------|
| id | string | Unique identifier |name
| | string | Display name |description
| | string | Category description |priority
| | "high" \| "medium" \| "low" | Sort priority |quickSelect
| | boolean | Include in --last command |safetyLevel
| | "safe" \| "safe_with_reinstall" \| "caution" | Risk level |patterns
| | array | File/directory patterns to match |
| Field | Type | Description |
|-------|------|-------------|
| pattern | string | File or directory name to match |type
| | "file" \| "directory" \| "glob" | Pattern type |description
| | string | Pattern description |
Files are moved to the system Trash, not permanently deleted. This allows recovery if needed.
`bash``
bun install
bun run dev # Run in dev mode
bun run build # Build binary
bun run typecheck # Type check
MIT