Specline canon 2.8.0 Handbook For agents ↗
Specline · Install

Install

The CLI is specline; Specline is its validate verb. It isn't a packaged tool with a build and a lockfile — it's TypeScript that Node runs straight from source. No build step, no dependencies.

All you need is Node 22

  • Node 22+ — Node strips TypeScript types natively, so the source runs as-is.
  • That's it. No Bun, no npm install, no runtime to set up.

Today: run it from the repo

Clone Specline repo and run it directly:

shell
# clone
git clone https://github.com/speclinedev/cli
cd cli

# run against any repo
node src/cli/index.ts ~/path/to/repo --format human

Put specline on your PATH

Typing the full node invocation gets old fast. Two lines fix it — a wrapper that makes specline work from any directory:

~/.local/bin/specline
#!/bin/sh
exec node /abs/path/to/cli/src/cli/index.ts "$@"

Then chmod +x ~/.local/bin/specline (ensure ~/.local/bin is on your PATH). The canon path resolves relative to the source, so it works from anywhere.

Coming: install it like a tool

Nothing's published yet. The planned forms are version-pinned, so the tool can never drift from the canon it checks against:

  • npmnpx @specline/cli check <repo>, or npm i -g @specline/cli. The package version tracks the canon version (@specline/cli@2.6 ↔ canon 2.6).
  • Standalone binarybun build --compile produces a single dependency-free specline executable for the no-Node case.

Check that it works

shell
specline check .          # validate the current repo
specline rules             # list the rule catalog
specline spec | head       # print the pinned canon

Next: the CLI reference, or wire it in as an MCP tool.