Skip to content

Commit 219ab3d

Browse files
feat: update README with configuration management for folder types
1 parent c9b0d97 commit 219ab3d

1 file changed

Lines changed: 59 additions & 0 deletions

File tree

README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,65 @@ cnkill /path/to/projects --maxdepth=4 # limit search depth
7676
cnkill cache --sort=modified # sort caches by last modified
7777
```
7878

79+
## Configuration
80+
81+
cnkill stores its configuration at `~/.config/cnkill/config.json` (respects `$XDG_CONFIG_HOME`).
82+
83+
Use the `config` command to manage which folder types are scanned and to define custom types.
84+
85+
### Toggle enabled folder types
86+
87+
```bash
88+
cnkill config
89+
```
90+
91+
Opens an interactive multi-select list of all known folder types (built-in and custom). Use `Space` to toggle a type on or off, `Enter` to save, and `q` to quit without saving.
92+
93+
### Add a custom folder type
94+
95+
```bash
96+
cnkill config add
97+
```
98+
99+
Runs an interactive 4-step wizard:
100+
101+
1. **Folder name or pattern** — a simple name (e.g. `.venv`) or a wildcard path pattern (e.g. `*/ios/build`)
102+
2. **Label** — human-readable name shown in `cnkill config`
103+
3. **Manifest files** — comma-separated files that must exist in the parent directory to confirm it's a real project (e.g. `pyproject.toml, requirements.txt`); leave blank to match any
104+
4. **Lock / reference files** — files used to determine the "last modified" timestamp; defaults to manifests if left blank
105+
106+
After the wizard, the new type is saved and automatically enabled.
107+
108+
### Remove a custom folder type
109+
110+
```bash
111+
cnkill config remove
112+
```
113+
114+
Presents a list of user-defined custom types. Select one and confirm to delete it.
115+
116+
### Built-in folder types
117+
118+
| Type | Directory | Enabled by default |
119+
|------|-----------|-------------------|
120+
| `vendor` | vendor (Composer) | Yes |
121+
| `node` | node_modules (npm/pnpm/yarn/bun) | Yes |
122+
| `next` | .next (Next.js build output) | Yes |
123+
| `expo` | .expo (Expo / React Native) | Yes |
124+
| `turbo` | .turbo (Turborepo cache) | Yes |
125+
| `svelte-kit` | .svelte-kit (SvelteKit) | Yes |
126+
| `nuxt` | .nuxt (Nuxt build output) | Yes |
127+
| `cache` | .cache (generic tool cache) | Yes |
128+
| `parcel-cache` | .parcel-cache (Parcel bundler) | Yes |
129+
| `coverage` | coverage (test coverage reports) | Yes |
130+
| `output` | .output (Nitro / Nuxt server output) | Yes |
131+
| `dist` | dist (build distribution) | No |
132+
| `build` | build (generic build output) | No |
133+
| `derived-data` | DerivedData (Xcode) | No |
134+
| `android` | android/build (Android / Gradle) | No |
135+
136+
> **Note:** Per-run flags like `--node` and `--composer` override the saved config for that invocation only.
137+
79138
## Controls
80139

81140
| Key | Action |

0 commit comments

Comments
 (0)