Skip to main content

slicer

Roadmap and slice management for the review → slice → implement → done loop.

slicer is AI-friendly: a coding agent can review a project, turn accepted findings into an importable roadmap, and work through bounded slices using commands with JSON output. For a new project, start with goals and acceptance criteria instead of review findings. The AI supplies the review and planning; slicer stores, validates, prioritizes, and renders the work. It runs locally without an AI service or API key.

Run slicer ai instructions for a concise agent quick start, or add --json for machine-readable output. It works before initialization and reads no project state.

State is JSON. The markdown under .slicer/render/ is generated output — readable, committed, and never parsed back. Edit through the commands or the TUI, not by hand.

Stdlib Python 3.11+, no dependencies.

Install

Into its own virtual environment from PyPI. The distribution is squalor-slicer because the slicer name on PyPI is taken; the command it installs is still slicer.

python3 -m venv ~/.slicer-venv
~/.slicer-venv/bin/pip install squalor-slicer
ln -s ~/.slicer-venv/bin/slicer ~/.local/bin/slicer   # or anywhere on your PATH

slicer --help confirms it. Other ways in — pip --user, pipx, uv, unreleased main — are in getting started; the editable install for working on slicer itself is in AGENTS.md.

Use it on a project

cd any-repo
slicer init                             # creates .slicer/
slicer add "Parse the config file" --size M --tree core
slicer promote S01                      # give it a slice file from the template
slicer edit S01 --section Why --text "Load settings before starting the app"
slicer render                           # regenerate .slicer/render/
slicer check                            # the gate: exit 1 if anything drifted

add appends a roadmap row; promote gives it a slice file.

Got a whole roadmap to load? Write it as a markdown outline and import it in one go:

slicer import --skeleton > roadmap.md   # a template, built from your config
slicer import roadmap.md --dry-run      # validate; writes nothing
slicer import roadmap.md                # apply

Each ## heading is an item, optional key: value lines carry its size, tree and dependencies, and ### sections become the slice itself — so one file can produce a fully written roadmap. It is a one-way ramp: the file is yours to delete afterwards.

Already running this workflow by hand in markdown? slicer migrate --from docs/slices converts an existing tree that is already in slicer's legacy format. It refuses to write anything unless every file round-trips byte for byte, so a document slicer cannot reproduce is never half-migrated.

Commands

ai onboarding instructions for coding agents
init create .slicer/ in a project
setup-git print the git config that turns on the render merge driver (run once per clone)
import add items in bulk from a markdown outline
migrate convert an existing markdown slice tree
next the highest-priority startable item
next-id the id the next add would take, without allocating it
list list items in next's order, omitting done and retired unless asked
deps dependencies: unblocked items, or one item's edges
find search items by text
show print one slice
add append a roadmap item
promote give an item a slice file
move reorder the queue
sort reorder the whole queue by priority score
set change an item's fields
edit edit a slice section or scope boundary
note append a dated note to an item
done mark an item finished
start mark an item in progress and claim it
release clear a claim without changing status
handoff hand a started slice to review and clear its claim
park set an item aside
unpark return a parked item to the queue
prose read and edit the roadmap's own prose
remove retire an obsolete item, or purge one outright
render regenerate .slicer/render/
sync rewrite derived lines in other documents
verify check the index for consistency (and against git unless git_check is off)
check the CI gate: render, sync and integrity
goals show project goals and non-goals
stats counts by status, size, tree and pass
status next item, progress, and blockers in one view
log recent history, newest first
tui / ui browse, read, reorder and edit interactively

Every flag, the .slicer/ layout, removing items, and roadmap prose are in the command reference; keys and screens are in the TUI manual. Every command except tui/ui takes --json, failures included; the agent reference has the payloads and exit codes.

slicer never commits, pushes or tags. Its git access is a read-only allowlist plus git mv; see Git access.

Documentation

Tests

python3 -m unittest discover -s tests -t tests

No install step and no dependencies — the suite puts src/ on sys.path itself. Fixtures and the optional live-tree migrator check are described in AGENTS.md.

Status

slicer manages its own roadmap: .slicer/ in this repository is a worked example you can read, and .slicer/render/ROADMAP.md is what it renders to. Run slicer --version for the installed version, and see the changelog. Its own goals and non-goals: run slicer goals, or read them at the top of the roadmap. In short, slicer is a small, dependency-light, file-based store for a project's roadmap, goals, and issues — canonical JSON that humans and AI agents plan from, projected deterministically to markdown — and is not a real-time, multi-user collaboration tool (coordination happens through git).

Apache-2.0. Stdlib Python, no dependencies, and none planned.

Metadata

Release files for squalor-slicer 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for squalor-slicer 1.1.0
File Size Uploaded
squalor_slicer-1.1.0.tar.gz 200.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for squalor-slicer 1.1.0
File Interpreter ABI Platform
squalor_slicer-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 317.3 kB

Release files / squalor_slicer-1.1.0.tar.gz

Download URL squalor_slicer-1.1.0.tar.gz
Size 200.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b42d0e36bacfa8b5d61796861f2be2372cf62e2ebfbb07203750c0dc95d05da4
BLAKE2b-256 checksum
How to use checksums
0fbce7fc76618b55c2afe80cb750791aceecc1aaee74b425f9170b0cfa0b25a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / squalor_slicer-1.1.0-py3-none-any.whl

Download URL squalor_slicer-1.1.0-py3-none-any.whl
Size 116.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
135c95fed9924ed5427bb390a194a987c2d658c454ea10a4f8cf283f603bc5af
BLAKE2b-256 checksum
How to use checksums
c0fb708ce6284aab381869fcf97b22a08f3d22ff453aec1e8f7f5a2a455d3ff5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page