Repository navigation
Highlights
Unquoted y and n in a skill name or description now ask you to quote the letter, the same way on and off already did.
A host path stays on the directory you named, and an MCP request with "id": null gets a reply.
Bug fixes
- Unquoted
yandnwere stored as skill text.name: yanddescription: nnow fail withname: quote 'y' (YAML treats it as a boolean). Quoted"y"and"n"stay the letters (#431). ~//namecould leave your home directory.~//namestays under home, the same as~/name. A remainder that is still a Windows drive or another root, such as~//C:/Windows, is refused withtilde path would leave home(#434).- A padded
..could select the filesystem root. A token such as/tmp/ ..is refused./,/.., and/tmp/..stay the roots you wrote (#434). - An extra
skillssymlink loaded that link's own SKILL.md. Whenskillsunder an extra path is a symlink that points outside that directory, craftbag skips it and does not load the link target (#434). - A dangling
--pathor--user-dirsaid the path does not exist. The message now saysdangling symlink. A path that is simply missing still says the path does not exist (#434). - An MCP request with
"id": nullgot no reply. That request is answered. A message that omitsidis still a notification and gets no reply (#434). - A non-Unicode
craftbag-mcpargument had no clear usage error. The process exits 2 and printsargument is not valid Unicode.--helpand--versionexit 0 when stdout is already closed (#434).
Upgrading
Install 0.3.1 from the GitHub release archive, or from crates.io as craftbag, craftbag-cli, and craftbag-mcp.
No public enum variant or struct field was added or removed, so an existing match or struct literal from 0.3.0 still compiles. Command flags and MCP tool names are unchanged.
Quote y and n in skill frontmatter. craftbag new already writes a quoted name.