Local-first developer-experience layer between humans and their version-control systems.
Project description
Sange
Local-first developer-experience layer between humans and their version-control systems — eliminating boilerplate, enforcing safety, embedding AI assistance into every commit, branch, and release, and providing a secure dashboard (local or self-hosted) for fine-grained review, approval, scheduling, and orchestration.
Status: v0.1.0 tagged (2026-05-14), Phase 1 CLI surface complete on
main. The architecture is locked (.design/sange-architecture.md, v4.4).pip install sangelights up once the PyPI trusted-publisher configuration completes — seedocs/release.md::Step 0and the v0.1.0 known-issues inCHANGELOG.md. Multi-arch Docker image available atghcr.io/simsange/sange:v0.1.0. Track ongoing progress at.design/plans/checklist.md.
What Sange is
- A workflow layer that wraps your chosen VCS (Git, SVN, Mercurial, Perforce) — never a replacement for it.
- A commit message lifecycle (
draft → pending_review → approved → committed → pushed → archived) with AI generation, prompt enhancer, and ≥50 normalized presets. - A release engine with signed bundles, SBOM, SLSA 3 provenance, and 6 destinations (GitHub / GitLab / OCI / S3 / generic registry / filesystem).
- A history-purge subsystem with 8 pre-flight gates, hash-chained audit JSONL, typed-phrase confirmation, and per-VCS executors.
- A local-first dashboard (Laravel 13 + Livewire 4 + WebAuthn passkeys)
approachable to non-developers — accessible at
https://sange.testby default; remote access via Cloudflare Tunnel / Tailscale / WireGuard / VPS.
What Sange is not
- Not a fork of any VCS.
- Not a competing wire protocol or repository host.
- Not a closed-source SaaS — it's local-first, Apache-2.0, self-hostable.
Quickstart
The installer ships at the v0.1 release. Until then, install from source:
git clone https://github.com/simsange/sange.git
cd sange
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev,tui]"
# Verify install:
python -c "import sange; print(sange.__version__)"
When the v0.1 release ships:
# macOS / Linux:
curl -fsSL https://sange.sh/install.sh | sh # checksum + sigstore verified
# Windows (PowerShell):
iwr -useb https://sange.sh/install.ps1 | iex
Documentation
All documentation lives under docs/. The canonical reference is the
architecture deliverable in .design/sange-architecture.md; reader-oriented
manuals are split per-tool, per-topic.
Live now:
Planned (each lands as the relevant T-G-NNN task in
.design/plans/checklist.md flips
completed):
| Topic | Target | Gates on |
|---|---|---|
| Release bundling | docs/tools/release/bundle.md |
v0.5+ release engine |
| History purge | docs/tools/security/purge.md |
v1.0 purge subsystem |
| Remote access | docs/tools/ui/remote-access.md |
v1.0 Web UI |
| Premade ops kit | docs/tools/ui/vps-setup.md |
v1.0 kit surface |
| Per-VCS reference (SVN / Hg / P4 / Pijul / Fossil / Plastic / Sapling) | docs/tools/vcs/<vcs>.md |
per adapter shipping |
| Per-language profiles (beyond Python) | docs/tools/lang/<lang>.md |
per-language sprint |
| JSON-RPC schema | docs/reference/json-rpc-schema.md |
T-162 (v1.0) |
| Operations runbook | docs/operations/ |
v0.5+ operator-facing |
Audience
Sange is designed to be approachable to seven personas — non-developer founders,
CTOs, cyber-security reviewers, junior engineers, senior staff engineers,
DevOps/SRE, and OSS maintainers. A feature usable only by senior engineers, with
no equivalently-safe path for the others, is a design defect. See
.design/plans/positioning.md.
Etymology
Named after the sengi (Swahili for the elephant shrew), stylized as "Sange" for branding — short, memorable, evocative of the agile, resilient nature of the animal. See ADR-014 for the framing rationale.
License
Sange is licensed under the Apache License 2.0 (ADR-007). The patent grant matters for the plugin ecosystem and enterprise adoption.
Copyright © 2026 Simtabi LLC.
Reporting and contact
- Bugs / feature requests: https://github.com/simsange/sange/issues
- Security:
opensource@simtabi.com— seeSECURITY.md - General contact (OSS):
opensource@simtabi.com - Maintainer: Imani Manyara —
imani@simtabi.com - Product page: https://opensource.simtabi.com/products/sange
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sange-0.1.0.post1.tar.gz.
File metadata
- Download URL: sange-0.1.0.post1.tar.gz
- Upload date:
- Size: 228.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
927d0aafe823f751cbc7ad802d0e72b5f8c000f6effcbe810a0218fa577d882a
|
|
| MD5 |
5ed00edf00bc52bd7aeaaa8e3d1e9fe5
|
|
| BLAKE2b-256 |
e1116a293ae6520dacf934ef1491ba265acfbbf819ab13e40ceb640c0d8fef5e
|
Provenance
The following attestation bundles were made for sange-0.1.0.post1.tar.gz:
Publisher:
release.yml on simsange/sange
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sange-0.1.0.post1.tar.gz -
Subject digest:
927d0aafe823f751cbc7ad802d0e72b5f8c000f6effcbe810a0218fa577d882a - Sigstore transparency entry: 1549557287
- Sigstore integration time:
-
Permalink:
simsange/sange@59d732bafa2619a84d26b40f0d5920c42f458d83 -
Branch / Tag:
refs/tags/v0.1.0.post1 - Owner: https://github.com/simsange
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@59d732bafa2619a84d26b40f0d5920c42f458d83 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sange-0.1.0.post1-py3-none-any.whl.
File metadata
- Download URL: sange-0.1.0.post1-py3-none-any.whl
- Upload date:
- Size: 123.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4711ea288f4dadc9a0e1378d5d1f0a85f3937f3f418fe9b1d13de3313cbd738b
|
|
| MD5 |
6b6ebc41a421a8a26048f5397d6647b3
|
|
| BLAKE2b-256 |
3da141310f7a95636b8de65c3ceb5633c1ef088a743f42b06134a345caf9b33f
|
Provenance
The following attestation bundles were made for sange-0.1.0.post1-py3-none-any.whl:
Publisher:
release.yml on simsange/sange
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sange-0.1.0.post1-py3-none-any.whl -
Subject digest:
4711ea288f4dadc9a0e1378d5d1f0a85f3937f3f418fe9b1d13de3313cbd738b - Sigstore transparency entry: 1549557317
- Sigstore integration time:
-
Permalink:
simsange/sange@59d732bafa2619a84d26b40f0d5920c42f458d83 -
Branch / Tag:
refs/tags/v0.1.0.post1 - Owner: https://github.com/simsange
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@59d732bafa2619a84d26b40f0d5920c42f458d83 -
Trigger Event:
push
-
Statement type: