This repository was archived by the owner on May 11, 2026. It is now read-only.
Tags: abatilo/bits
Tags
fix: support git worktree scoping (#1) * fix: detect git worktree roots where .git is a file FindProjectRoot() only checked for .git as a directory, missing git worktrees where .git is a regular file containing a gitdir pointer. This caused all worktrees to resolve to the main repo's storage path, colliding on tasks, sessions, and drain state. * test: add worktree detection tests for FindProjectRoot Add three new subtests covering git worktree scenarios: - finds .git file in current directory (worktree) - finds .git file in parent directory (worktree) - worktree and normal repo produce different store paths * docs: add CLAUDE.md and document git worktree support in README Add project-level CLAUDE.md with architecture overview, storage design, and testing conventions. Update README to mention worktree isolation in the philosophy section and storage format section.
docs: update documentation for autonomous drain model Update README, plugin rules, and plugin version to reflect: - session compact command and compaction hook - drain release --force flag and guard behavior - 12-hour drain timeout in stop hook - Updated plugin descriptions (goal contracts, autonomous loop) - Manual hook config now includes compact SessionStart hook Bump plugin version to 0.3.0 (new command, new hooks, skill rewrites).
feat: add Claude Code plugin for bits integration Add a Claude Code plugin with skills, commands, and hooks: - bits skill for task tracking operations - bits-plan skill for extracting tasks from conversations - bits-drain command for working through all tasks - Session lifecycle hooks for drain mode blocking Plugin includes governance rules (bits immutability) embedded in the skill documentation.
fix: order blocked tasks by dependency chain in list output Within the blocked group, tasks that block others now appear before the tasks they block. Previously blocked tasks were sorted only by priority and creation time, which could show a blocked task before its blocker.
feat: block hook until all tasks are closed Previously, the hook only blocked when there were active tasks. Now it blocks on any non-closed tasks (open or active) with context-specific messages directing users to either continue working or check ready tasks.
fix: resolve symlinks in FindProjectRoot for consistent storage paths Accessing the same directory via different paths (e.g., /tmp/project vs /private/tmp/project on macOS) previously created separate storage locations. Now uses filepath.EvalSymlinks() to canonicalize paths.
PreviousNext