## Why Adding a note requires `kb add --note "my note"` — too much ceremony for what should be instant. The `--note` flag taking a string value also creates confusing flag parsing (e.g. `kb add --note --tags foo` parses `--tags` as the note value). Meanwhile, `kb add` tries to do two things (files and notes) which muddies its help text and UX. Splitting these into distinct paths makes the CLI clearer: - **Notes**: `kb "my note"` — zero-friction, no subcommand needed - **Files**: `kb addfile report.pdf` — explicit, file-only command ## What Changes - **Add `kb "text"` shorthand**: bare string arguments without a subcommand are treated as notes, submitted via `POST /api/v1/jobs` - **Rename `add` → `addfile`**: the command becomes file-only, no more `--note`/`--title` flags - **Drop `--type` flag**: the engine already auto-detects type from file extension (`detector.py`); the client doesn't need to override this - **Add client-side extension validation**: reject unsupported file extensions with a clear error before uploading, using the same extension set as recursive directory walks - **Update README**: document the new shorthand and renamed command - **BREAKING**: `kb add` no longer exists; `kb add --note` no longer exists ## Capabilities ### New Capabilities _(none)_ ### Modified Capabilities - `go-client`: Rename `add` to `addfile`, remove `--note`/`--title`/`--type` flags, add extension validation for single file uploads, add implicit note shorthand on root command ## Impact - `client/cmd/add.go` → renamed/refactored to `addfile` command, stripped of note logic, added extension check - `client/cmd/root.go` — bare args handling + `--tags` flag for note shorthand - `README.md` — updated usage examples - No engine changes — engine already detects type from extension and rejects unsupported files - Breaking change for any scripts using `kb add` or `kb add --note`