# Release v0.2.0

## Features

- **List action (`l`)**: A new exploratory action that discovers symbols in a file. `lefd` lists all function definitions with line numbers; `lefn` lists function names; `levd` lists variable declarations. In the TUI, List opens a scrollable overlay — navigate with arrow keys and press Enter to jump. In exec mode, results print to stdout. The positional acts as a filter: `lafn` lists functions after the cursor, `lffn` lists the first function, etc.

- **Word component (`w`)**: Text-based word targeting for Line and Buffer scopes, no LSP required. `celw` changes the word at the cursor; `jnlw` jumps to the next word; `jflw` and `jllw` jump to the first and last word in the line.

- **Definition component (`d`)**: Selects the full declaration signature of a scope, excluding the body. For functions: visibility + `fn` + name + parameters + return type. For variables: keyword + name + type annotation. For structs: visibility + keyword + name + generics. `lefd` lists all function signatures at a glance; `cefd` rewrites a signature without touching the body.

- **First (`f`) and Last (`l`) positionals**: Select the first or last occurrence of a component within a scope. `jlfn` jumps to the last function; `jflw` jumps to the first word in the line.

- **Numeric positional (`1`–`9`)**: A digit in the positional position means "next N forward from the cursor." `j5lw` jumps forward 5 words; `l3fd` lists the next 3 function definitions; `c5ls` changes the next 5 lines. Single digit only, forward direction.

- **On-disk file change detection**: When a file open in the TUI changes externally, a hint appears in the status bar. `Ctrl-O` reloads the file from disk. If the buffer has unsaved edits, the hint warns before overwriting.

- **Live file tree updates**: The file tree watches the project directory and updates automatically when files or folders are created, renamed, or deleted on disk — no manual refresh needed.

- **File tree management**: Three new keybindings when the file tree is focused:
  - `Ctrl-R` — rename the file or folder under the cursor (inline edit).
  - `Ctrl-D` — delete the file or folder (confirmation dialog with children preview for directories).
  - `Ctrl-N` — create a new file in the current directory context.

- **TUI Top bar info display**: The top bar now shows `cursor_line:col | N loc | N lines | ~N tokens` pinned to the right. LOC counts non-empty lines; the token estimate helps gauge LLM context usage at a glance.

- **`ane init` agent skill generation** (optional): `ane init claude` (or codex, gemini, opencode, cline, maki, charm) generates a token-efficient skill file that teaches a code agent the chord grammar. The skill file is optional — agents can use `ane exec` directly — but it helps them pick the right chords.

## Improvements

- **Buffer-scope chords no longer require a target argument**: `yebs`, `aebs`, `debs`, and other buffer-scope chords now work without a dummy `target:1`. The buffer is whole-file by definition.

- **Improved skill and tool documentation for Name vs Definition**: The embedded skill file and MCP tool description now include a "Component guide" section clarifying when to use `n` (Name — bare identifier, for renaming) vs `d` (Definition — full signature, for changing visibility or rewriting declarations).

## Fixes

- Fixed `aals(target:N)` inserting at end of file instead of immediately after line N.
- Fixed `cifc` merging the opening `{` and closing `}` delimiter lines with the replacement content on multi-line function bodies.
- Fixed `aebs(value:-)` swallowing leading newlines from stdin input.
- Fixed `ane <file>` + `Ctrl-T` crashing with "No such file or directory" when opened with a bare relative filename.
- Fixed TUI cursor chord handling for edge cases.
