Skip to main content

StateForge DPT

StateForge Development Progress Tracking is a local-first control application for coordinating work across the StateForge repositories.

DPT edits the implementation plan locally, publishes its complete portable manifest into an identical STATEFORGE_DPT.md in every managed repository, and derives delivery progress from issues, pull requests, reviews, checks, and merge evidence retrieved from GitHub.

Run DPT

DPT is packaged for Linux, macOS, and Windows. Requirements are Python 3.11 or newer and Git 2.31 or newer on PATH. Node.js is only needed when developing or building a release, not when installing and running DPT.

Once the first release is published to PyPI:

python -m pip install stateforge-dpt
stateforge-dpt run

On macOS/Linux, use python3 if that is your Python command. On Windows, you can use py -m pip install stateforge-dpt and py -m stateforge_dpt run if the console command is not on PATH. A virtual environment is recommended; do not use sudo pip install. Before PyPI publication, install a downloaded wheel with python -m pip install /path/to/stateforge_dpt-0.1.0-py3-none-any.whl.

Run stateforge-dpt run from any directory, then open http://127.0.0.1:8463 in your browser. The command prints the browser address and workspace locations at startup. Installed release wheels include the frontend; no separate frontend server is needed.

By default, the SQLite working copy and encrypted GitHub credentials live in ~/.stateforge-dpt/. Suggested clones live under ~/.stateforge-dpt/projects/<PROJECT_NAME>/<REPOSITORY_NAME>.

User configuration is read from ~/.stateforge-dpt/.env, with environment variables taking precedence. Editable source installations also read the checkout's .env as a lower-priority development configuration. Relative paths in a configuration file are resolved beside that file, never against the launch directory. Relative environment paths are resolved under ~/.stateforge-dpt/. See .env.example for overrides.

Existing databases are not moved or overwritten. To open a previous workspace:

stateforge-dpt run --data-dir /absolute/path/to/previous/.stateforge-dpt

The --working-directory option changes the parent workspace for suggested clones without changing the data directory.

Development and packaging

python3.11 -m venv .venv
. .venv/bin/activate
cd frontend && npm install && npm run build && cd ..
python -m pip install -e .
stateforge-dpt run

Build the frontend before building a Python release (python -m build). Both wheels and source distributions carry that build, so installing them does not require Node.js. A missing frontend build produces an actionable startup error instead of a server that returns 404 at its home page.

The package workflow builds the frontend, creates a wheel and source distribution, checks their metadata, and installs the same wheel on Linux, macOS, and Windows using Python 3.11–3.14. Each environment runs the test suite and starts the installed console command from an unrelated directory to check the frontend, JavaScript, CSS, favicon, API, and default data directory.

Publish a release

Publishing is manual; ordinary pushes and pull requests never upload to PyPI. Create the pending stateforge-dpt project in PyPI's Trusted Publishing settings with owner stateforge-org, repository stateforge-dpt, workflow publish.yml, and environment pypi. Configure the equivalent publisher on TestPyPI with environment testpypi. Protect these GitHub environments with required reviewer approval. No permanent PyPI token needs to be stored in the repository.

Then run Publish pip package (manual) in GitHub Actions, choosing TestPyPI first. The workflow rebuilds and tests the distributions on all three operating systems before publishing. Choose PyPI for the production release. Increment the version in pyproject.toml for subsequent releases; PyPI versions cannot be overwritten. See PyPI's Trusted Publishing guide.

Select Continue with GitHub and authorize the StateForge DPT GitHub App with the displayed one-time code. DPT uses GitHub Device Flow: no callback URL, client secret, or user-managed token is required. Access and refresh tokens are encrypted locally and never exposed to the browser.

Core authority model

  • Git-tracked STATEFORGE_DPT.md files are the portable project authority. An embedded versioned manifest preserves every repository, milestone, planned branch, dependency, ordering rule, project revision, and content fingerprint.
  • SQLite is each computer's local editable working copy and GitHub evidence cache. DPT refuses to silently overwrite local edits or choose between divergent Git copies.
  • Every project has an explicit plan source branch (for example, mvp/implementation). Reconciliation fetches that branch and reads only its STATEFORGE_DPT.md through Git; it never checks out, rebases, or modifies the developer's current branch or working tree.
  • Importing any participating clone recreates the full project. Only that clone is attached immediately; the remaining repositories are ready to clone or attach on the new computer.
  • Publishing writes the next identical revision to every attached clone. Commit and push those generated files normally, then merge them into the configured plan source branch. Reconciliation on another computer automatically imports a strictly newer, conflict-free revision into its local SQLite working copy.
  • Local unpublished edits and same-revision divergence are never overwritten; DPT surfaces the existing source chooser so the user can resolve them.
  • GitHub is the authority for delivery progress, not project definition.
  • DPT validates GitHub evidence against the dependency graph and reports real workflow violations.

See docs/architecture.md for the complete design.

Metadata

Release files for stateforge-dpt 0.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 stateforge-dpt 0.1.0
File Size Uploaded Provenance
stateforge_dpt-0.1.0.tar.gz 1.3 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for stateforge-dpt 0.1.0
File Interpreter ABI Platform
stateforge_dpt-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.0 MB

Release files / stateforge_dpt-0.1.0.tar.gz

Download URL stateforge_dpt-0.1.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
e8a84a2e029c86258d6682ee8e1b83ab187f5c87252ab7f4fc5c769983255966
BLAKE2b-256 checksum
How to use checksums
8ccf42cd15d0c8eb22194449743241e44e17cba990ba098dc6540fb4cd4612a5
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 15, 2026.

Transparency log

Release files / stateforge_dpt-0.1.0-py3-none-any.whl

Download URL stateforge_dpt-0.1.0-py3-none-any.whl
Size 695.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
618b27f992e6e7705a871d0ace32fc6643f90c968a23ea0ec68a235dbc240822
BLAKE2b-256 checksum
How to use checksums
2f7273d6a86a272411287a1e235fc34639a673b3fe94475f4d5ead83b36fa9dc
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 15, 2026.

Transparency log

Security for stateforge-dpt 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for stateforge_dpt-0.1.0.tar.gz

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 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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