Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Nod

Git-native project management for humans and coding agents.

Nod lives in your repository: project state is stored in .nod/nod.db, so the plan travels with the code. Humans drive it through a focused CLI, coding agents drive the same state through an MCP server.

Install

# released version from PyPI (both nod and nod-mcp on PATH)
pipx install nod-cli

# bleeding edge, straight from main
pipx install git+https://github.com/neatnettech/nod.git

After a PyPI release, update with pipx upgrade nod-cli. For git installs, run pipx reinstall nod-cli to pick up new commits.

Quick start

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

mkdir demo && cd demo
git init
nod init

Concepts

  • Modules group work by area: nod module add "Vault"
  • Cycles are timeboxed plans: nod cycle add "Sprint 1" --start 2026-10-01 --end 2026-10-14
  • Work items are epics, stories, tasks, and bugs: nod task add "Seed categories" --module vault --cycle sprint-1 --estimate 2h
  • Dependencies order the work: nod depends OSS-2 OSS-1

Views

nod task list                    # tabular work items
nod module list                  # modules
nod cycle list                   # cycles
nod board                        # kanban grouped by status
nod timeline                     # cycles over time with estimates
nod graph                        # ASCII dependency diagram

The dependency graph renders as a tree of prerequisite arrows with status glyphs and branch names:

OSS-1  StateBadge component  ✓ DONE  ⎇ feat/oss-1-statebadge
OSS-3  Seed categories       ○ TODO
├─► OSS-4  Vault home        ◐ IN_PROGRESS  (depends on this)
└─► OSS-6  Note editor       ○ TODO         (depends on this)

Every view accepts --json for scripting and agents.

Agents

nod-mcp exposes the same state as MCP tools: work item create/update/list, project info, the board, the timeline, and the dependency graph. Point your MCP client at nod-mcp from inside the repository.

Development

pip install -e ".[dev]"
pytest

Releases: tag a version (v0.1.0-rc.1, then v0.1.0) and push it. The publish workflow builds the version from the tag and publishes to PyPI via trusted publishing. Requires Python 3.13+.

Release files for nod-cli 0.1.0rc1

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

Source distribution (sdist)

Source distribution for nod-cli 0.1.0rc1
File Size Uploaded
nod_cli-0.1.0rc1.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nod-cli 0.1.0rc1
File Interpreter ABI Platform
nod_cli-0.1.0rc1-py3-none-any.whl Python 3 none any Details

Total release size: 32.3 kB

Release files / nod_cli-0.1.0rc1.tar.gz

Download URL nod_cli-0.1.0rc1.tar.gz
Size 14.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3c4e6debef50a4d5168fc6d82aa5136d03aebe5b326f88debbbce79b60084d5e
BLAKE2b-256 checksum
How to use checksums
08611b60d65bf9d207e4af71c0eface29e9e9591d4fa66cd6b954361ba8635d3
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 / nod_cli-0.1.0rc1-py3-none-any.whl

Download URL nod_cli-0.1.0rc1-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8795115da6a6d1899d4780db668fffc32dad589a517463f1a69b26323383123e
BLAKE2b-256 checksum
How to use checksums
79b79653d836fd27ec5c57a5131f9c14641888781f88dc0fdb735f22f0e80b55
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

0.1.0rc1 This release

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