Documentation
Source and development
Build cpgit from its MIT-licensed Rust source.
Get the source
The public repository is codepilotsf/cpgit on GitHub. cpgit is free and open source under the MIT License. Third-party components retain their licenses and notices.
git clone https://github.com/codepilotsf/cpgit.git
cd cpgit
mise install
mise exec -- cargo build --release --locked
mise exec -- bash scripts/check
mise exec -- cargo audit
bash scripts/package
Build on Linux with a C compiler, native Git/OpenSSH, GnuPG and Python. Use the repository's pinned toolchain. A native package should match its target architecture and libc. The package command writes an archive under .local/packages/ with installer, units, configuration, operator guides, MIT license and locked-dependency notices.
Preview package and newer source
The downloadable cpgit-0.1.0-linux-x86_64.tar.gz is the original management preview. Its filename and checksum remain fixed. The source additionally contains the essentials update: offline full-instance backup/recovery, Status, bounded code browsing, session rotation and HSTS. Build the current source to use those additions until a newer package is published.
The essentials update is deployed with verified trusted HTTPS, SMTP delivery, web-identity isolation and encrypted off-server restoration into an isolated offline tree. These target checks are separate from local tests. Fresh-host installer acceptance, the full authenticated public browser journey, independent ACME renewal, public replacement-host boot/cutover and recurring backup/retention remain unverified. See current deployment evidence.
Checks and architecture
scripts/check uses disposable fixtures for Rust checks, OpenSSH/native Git, backup recovery, browser/SMTP, installer guards and actual rootless namespace storage exhaustion. It does not test against an activated service.
The backend uses Rust, SQLite, Git and OpenSSH. The console is Rust/Axum with plain HTML/CSS and minimal JavaScript. This public website uses ItsyKit, with ordinary HTML and Prewind. No Node build step is needed for either interface.
Start with the repository README, operator runbook and verification record for implementation boundaries and recorded evidence.