Restructure local extensions into per-feature directories, split WebUI
into backend modules with slash commands and systemd support, and track
prompts/skills under .pi/agent for portable Gitea deployment.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use .ts relative import in webui server for pi's check:ts-imports policy
and regenerate image-models.generated.ts to remove duplicate model keys.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use exact versions in webui frontend package.json to satisfy the
monorepo pinned dependency policy enforced by GitHub Actions.
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat(coding-agent,tui): support argument-hint frontmatter in prompt templates
Parse argument-hint from prompt template frontmatter and display it
in the autocomplete dropdown description, matching Claude Code's
convention for custom commands.
Frontmatter format:
---
description: Code review
argument-hint: "[file | #PR | PR-URL]"
---
The hint renders in the description column of the autocomplete list:
review [file | #PR | PR-URL] — Code review
Closes#2761
* docs(coding-agent,tui): add argument-hint documentation, tests, and built-in hints
- Document argument-hint frontmatter in prompt-templates.md with <required>/[optional] convention
- Add argument-hint to built-in prompts: pr, is, wr
- Expand tests: required/optional hints, missing hints, empty hints, special characters
- Add changelog entries for coding-agent and tui
Use cmd-based VS Code launcher on win32 in /diff and /files.
Show explicit error details when open fails.
In /diff, surface git difftool failure and troubleshooting hint.
Refs #2186
- Add ResourceLoader interface and DefaultResourceLoader implementation
- Add PackageManager for npm/git extension sources with install/remove/update
- Add session.reload() and session.bindExtensions() APIs
- Add /reload command in interactive mode
- Add CLI flags: --skill, --theme, --prompt-template, --no-themes, --no-prompt-templates
- Add pi install/remove/update commands for extension management
- Refactor settings.json to use arrays for skills, prompts, themes
- Remove legacy SkillsSettings source flags and filters
- Update SDK examples and documentation for ResourceLoader pattern
- Add theme registration and loadThemeFromPath for dynamic themes
- Add getShellEnv to include bin dir in PATH for bash commands
- Skill commands (/skill:name) now expanded in AgentSession instead of
interactive mode, enabling them in RPC and print modes
- Input event can now intercept /skill:name before expansion
- Updated extensions.md with clearer input event docs and processing order
- Updated rpc.md: hook -> extension terminology, added skill expansion mentions
- Added PR attribution to changelog entries for #761
Resolves pi-internal:// paths to the coding-agent package directory,
allowing the model to read internal documentation. Appends a hint
showing the filesystem path and instructing to use it for further reads.
- /model <search> pre-filters selector or auto-selects on exact match
- Support provider/model syntax for disambiguation (e.g., /model openai/gpt-4)
- Auto-select logic moved to InteractiveMode to avoid selector UI flicker
Closes#587