Releases: tessariq/taskrail
Release list
v0.3.0
Third release. Taskrail gains read-only insight into tracked work — status,
stats, and coverage report progress, aggregate metrics, and spec-linkage
without touching state — plus a spec command family for inspecting and
authoring specs, unblock to release blocked tasks, and Windows install via
WinGet. The core CLI stays provider- and tooling-independent.
Added
taskrail spec— spec command family.spec activate <version>repoints the
active spec inSTATE.mdand re-validates (the CLI-only writer of the active
spec);spec listandspec show <version>(with--anchorsforspec_ref
values) inspect specs read-only;spec add <version>scaffolds a new spec.
Completion completes spec versions and<path>#<anchor>values. Supports--json.taskrail coverage— advisory read-only spec-linkage analysis: per-area
decomposition and implementation coverage, a reverse map of the covering task
id(s), orphan tasks, and a drift summary.--min <pct>opts into CI gating;
--area <anchor>narrows to one area. Never writes state or failsvalidate.
Supports--json.taskrail status— read-only snapshot: active spec, task counts, the next
eligible task (marked not persisted), blockers, last verification, and a
coverage/drift summary. Leaves the working tree clean. Supports--json.taskrail stats— read-only aggregate metrics: status distribution, blocked
ratio, spec coverage, and dependency shape.--format dot|mermaidexports the
task dependency DAG instead. Leaves the working tree clean. Supports--json.taskrail unblock <task-id>— return a blocked task to todo so it re-enters
nextselection and drop itsSTATE.mdblocker entry (others keep theirs);
--reasonappends a note. Supports--json.- Windows install via WinGet:
winget install Tessariq.Taskrail(amd64/arm64),
with Windows.zipassets on the GitHub Release. Availability follows a
moderated PR tomicrosoft/winget-pkgs.
Changed
taskrail init --with-skillsnow also installs theautonomous-recovery,
autonomous-manual-test, andtaskrail-specskills;--forcereinstalls the
embedded skills over existing copies, backing up any locally-modified file
first. Still opt-in and non-destructive by default.- Shipped agent skills now invoke the CLI through
${TASKRAIL:-taskrail}; set
TASKRAIL=/path/to/taskrailto override (it resolves to the installed binary
otherwise). taskrail repairalso reconciles astatus_summaryleft stale against a single
in_progresstask; stillSTATE.md-only and dry run by default.- CLI file-read errors now name a repo-relative path instead of the absolute
repository location.
Fixed
taskrail task newnow allocates the next id from the highest numeric prefix
across bare and slug-suffixed ids, so all-slug-suffixed repos no longer restart
atT-001and collide;validatenow flags two files sharing a numeric prefix.taskrail blocknow keeps every blocked task's reason inSTATE.mdinstead of
overwriting the list with only the most recent.taskrail completenow leavesstatus_summaryasblockedwhen other tasks
remain blocked, instead of resetting toidle.
v0.2.0
Second release. Taskrail builds on the stable v0.1.0 repo contract to make adoption
in existing repositories easy: guided retrofit, LLM-free import of rough notes into
spec/task drafts, opt-in shippable agent skills, a version-aware non-destructive
init, and conservative mechanical STATE.md repair — all while keeping the core
CLI provider- and tooling-independent.
Added
taskrail repair— reconcile mechanicalSTATE.mddrift (stalecurrent_task
pointer or task counts) against the task files. Dry run by default;--apply
rewritesSTATE.mdonly (never a task file) and re-validates. Judgement calls
(missingspec_ref, dependency cycles, multiple in_progress) are left to
validate. Supports--json.taskrail task new— scaffold a task file with the next free id. Requires
--titleand--spec-ref; supports--priority, repeatable--dep,--json.
Runsvalidate's checks at creation so an invalid task never lands.taskrail task new --follow-up <parent-id>— scaffold a follow-up: inherits the
parent'sspec_refand adds it as a dependency.taskrail import— build spec/task drafts from a markdown source without an LLM.
--to tasks|spec|planningpreviews a draft;--emit-promptprints a paste-ready
agent prompt;--apply <draft.json>validates and writes real files. Supports
--json. (--llmdeferred to v0.3.)taskrail retrofit [notes]— guided bootstrap for a non-standard repo: detect
layout, scaffold, and adopt reviewed notes as tracked work. Dry run by default;
--applyscaffolds without overwriting. Supports--json.taskrail init --with-skills— install the shippable tracked-work agent skills
(autonomous-backlog,autonomous-task,autonomous-verify,taskrail-repair,
taskrail-import,taskrail-retrofit). Opt-in; re-running never overwrites edits.taskrail initis now version-aware and non-destructive: writes a
.taskrail/config.ymllayout marker, adopts an existing v0.1.0 layout, and
migrates older layouts (dry run,--applyto write). Never rewrites human content.taskrail validatenow detects dependency cycles and committed references to
gitignoredplanning/artifacts/paths.- Homebrew install:
brew install tessariq/tap/taskrail(macOS and Linux).
Changed
taskrail import --applyis now atomic — pre-flights all checks before writing,
so a failing draft leaves the repo unchanged.taskrail verifyrecords a portable, path-free result in committedSTATE.md;
gitignored artifact paths no longer leak intorelevant_artifacts.taskrail initno longer pre-creates gitignored artifact directories;verify
creates them on demand.
Fixed
taskrail validateno longer fails on a fresh clone when the gitignored
planning/artifactstree is absent.
v0.1.0
First shippable release. Taskrail is a manual-first, LLM-provider-agnostic CLI for
repo-native tracked work, proving the repository contract, deterministic task
progression, the authoritative STATE.md, and verification as a first-class concept.
Added
taskrail init— initialize Taskrail structure (specs/,planning/, starterSTATE.md) in the current repository.taskrail validate— validate folder layout, task shape, dependency and spec references, andSTATE.mdconsistency.taskrail next— deterministically select the next eligible task (supports--json).taskrail start <task-id>— mark a task active and updateSTATE.md.taskrail complete <task-id>— mark a task completed from an implementation perspective (supports--note).taskrail block <task-id>— mark a task blocked and record a--reason.taskrail verify <task-id>— record a verification outcome and write artifacts underplanning/artifacts/verify/; can create a follow-up task via--create-followup.taskrail version— print the CLI version (also--version), injected at build time via-ldflags.- Bootstrap repository structure, specs, planning workflow, and mirrored skills.