• v2.18.3 17029df2f0

    v2.18.3 Stable

    kerem released this 2026-02-28 03:08:22 +03:00 | 83 commits to master since this release

    📅 Originally published on GitHub: Sat, 28 Feb 2026 00:08:33 GMT
    🏷️ Git tag created: Sat, 28 Feb 2026 00:08:22 GMT

    Fixed

    Two Windows compatibility fixes by @raykuo998

    Stop hook fails under Git Bash on Windows (PR #86)

    The Stop hook YAML command: | multiline block was not reliably parsed by Git Bash. The shell received the first line as a command name rather than a variable assignment, crashing the hook before it could do anything.

    Replaced 25-line OS detection scripts with a single-line implicit platform fallback chain: powershell.exe first, sh as fallback. Cleaner, more maintainable, and works correctly on all platforms. Applied to all 7 SKILL.md variants with Stop hooks.

    check-complete.ps1 failing on PowerShell 5.1 (PR #88)

    Special characters inside double-quoted Write-Host strings caused parse errors in Windows PowerShell 5.1: square brackets as array index expressions, parentheses as subexpressions, and the em-dash breaking the parser in comments. Switched to single-quoted strings with explicit concatenation across all 12 platform copies.

    Contributors

    • @raykuo998 for both Windows compatibility fixes

    Full Changelog

    https://github.com/OthmanAdi/planning-with-files/blob/master/CHANGELOG.md

    Downloads
  • v2.18.2 acfd2f0c74

    v2.18.2 Stable

    kerem released this 2026-02-26 21:43:46 +03:00 | 90 commits to master since this release

    📅 Originally published on GitHub: Thu, 26 Feb 2026 18:44:04 GMT
    🏷️ Git tag created: Thu, 26 Feb 2026 18:43:46 GMT

    Fixed

    Mastra Code hooks were silently doing nothing

    Mastra Code reads lifecycle hooks from .mastracode/hooks.json, not from SKILL.md frontmatter (which is Claude Code's format). The existing Mastra integration had hooks defined only in SKILL.md, meaning all three hooks (PreToolUse, PostToolUse, Stop) were completely non-functional in Mastra Code. Plan enforcement, context injection, and completion checking were all silently skipped.

    What changed

    • Added .mastracode/hooks.json with proper Mastra Code format (matcher objects, timeouts, descriptions)
    • Fixed MASTRACODE_SKILL_ROOT env var in SKILL.md Stop hook (variable does not exist in Mastra Code, replaced with $HOME fallback to local path)
    • Corrected docs/mastra.md to accurately describe the hooks.json system (removed false claim about "same hook system as Claude Code")
    • Fixed personal installation instructions to include the hooks.json copy step
    • Bumped Mastra SKILL.md metadata version to 2.18.1

    Files changed

    • .mastracode/hooks.json (new)
    • .mastracode/skills/planning-with-files/SKILL.md
    • docs/mastra.md
    • CHANGELOG.md
    • README.md

    Contributors

    Self-caught during integration audit. Shoutout to the Mastra team for building Claude Code compatibility into their skill discovery while keeping hooks in their own format.

    Downloads
  • v2.18.1 15e33d261a

    v2.18.1 Stable

    kerem released this 2026-02-26 20:59:05 +03:00 | 92 commits to master since this release

    📅 Originally published on GitHub: Thu, 26 Feb 2026 17:59:21 GMT
    🏷️ Git tag created: Thu, 26 Feb 2026 17:59:05 GMT

    What's Fixed

    GitHub Copilot Garbled Characters — Root Cause Found (Issue #82)

    v2.16.1 fixed the output pipe encoding but the issue persisted. The real root cause was on the read side, not the write side.

    What was wrong:

    All Get-Content calls in the PS1 hook scripts had no -Encoding parameter. In PowerShell 5.x, Get-Content without an explicit encoding reads files using the system ANSI code page (Windows-1252 in most Western locales). Any non-ASCII character in task_plan.md or SKILL.md — emoji, CJK characters, accented letters — was corrupted before it ever reached the output pipe. Fixing the pipe encoding did nothing because the string was already garbled at the source.

    Secondary fix: [System.Text.Encoding]::UTF8 returns UTF-8 with BOM. Replaced with [System.Text.UTF8Encoding]::new($false) across all four PS1 scripts to prevent a stray 0xEF 0xBB 0xBF preamble from reaching JSON parsers.

    Fixed files: pre-tool-use.ps1, session-start.ps1, agent-stop.ps1, post-tool-use.ps1

    Bash scripts were already correct from v2.16.1.


    Contributors

    • @Hexiaopi for confirming the issue persisted after v2.16.1 and keeping Issue #82 open

    Full Changelog

    https://github.com/OthmanAdi/planning-with-files/blob/master/CHANGELOG.md

    Downloads
  • v2.18.0 6e8f128a79

    v2.18.0 Stable

    kerem released this 2026-02-26 20:45:54 +03:00 | 93 commits to master since this release

    📅 Originally published on GitHub: Thu, 26 Feb 2026 17:47:16 GMT
    🏷️ Git tag created: Thu, 26 Feb 2026 17:45:54 GMT

    What's New

    BoxLite Sandbox Runtime Integration (Issue #84)

    planning-with-files now has full documentation and working examples for running inside BoxLite micro-VM sandboxes via ClaudeBox.

    BoxLite is not an IDE. It is hardware-isolated, stateful, embeddable sandbox infrastructure — the "SQLite of sandboxing." Skills load via ClaudeBox's Python Skill API, which injects the SKILL.md and scripts directly into the VM filesystem at startup. All hooks (PreToolUse, PostToolUse, Stop) work because Claude Code runs natively inside the VM.

    Added:

    • docs/boxlite.md — full integration guide: ClaudeBox Skill API, persistent sessions, hooks inside the VM, snapshots, session recovery, troubleshooting
    • examples/boxlite/quickstart.py — working Python example using ClaudeBox to load planning-with-files into a BoxLite micro-VM
    • examples/boxlite/README.md — example context and requirements
    • README: new Sandbox Runtimes section (kept separate from the 16-platform IDE table)
    • README: BoxLite badge and Documentation table entry

    Install ClaudeBox:

    pip install claudebox
    

    No .boxlite/ folder needed. ClaudeBox loads skills via its Python Skill object, not file-system discovery.


    Contributors

    • @DorianZheng for the BoxLite integration proposal (Issue #84)

    Full Changelog

    https://github.com/OthmanAdi/planning-with-files/blob/master/CHANGELOG.md

    Downloads
  • v2.16.1 d8d5002736

    v2.16.1 Stable

    kerem released this 2026-02-25 21:32:00 +03:00 | 104 commits to master since this release

    📅 Originally published on GitHub: Wed, 25 Feb 2026 18:32:11 GMT
    🏷️ Git tag created: Wed, 25 Feb 2026 18:32:00 GMT

    What's Fixed

    Copilot Hooks — Garbled Characters (Issue #82)

    Two root causes, both fixed:

    Windows / PowerShell:
    All four .ps1 hook scripts now set UTF-8 output encoding before producing any output. PowerShell 5.x defaults to UTF-16LE on stdout — Copilot reads it as UTF-8, producing diamond replacement characters (◆). Fixed.

    $OutputEncoding = [System.Text.Encoding]::UTF8
    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
    

    Linux / macOS / Bash:
    session-start.sh and pre-tool-use.sh now use json.dumps(..., ensure_ascii=False). The previous default converted every non-ASCII character in task_plan.md (CJK, emojis, accented letters) into raw \uXXXX escape sequences instead of passing them through as UTF-8.

    Contributors

    • @Hexiaopi for reporting the issue with a clear screenshot (Issue #82)

    Full Changelog

    https://github.com/OthmanAdi/planning-with-files/blob/master/CHANGELOG.md

    Downloads