tibet-ci — Zero-Config CI/CD TIBET Integration
One line to audit your entire pipeline.
Every stage is a TIBET token. Every build has provenance.
tibet-ci auto-detects your project, runs the right tools, and wraps every pipeline stage in a TIBET provenance chain. Python? Node? Rust? Go? Java? tibet-ci knows what to do.
The CI/CD Multiplier
One line in your pipeline config — TIBET audits everything:
# .github/workflows/tibet.yml
name: TIBET CI
on: [push, pull_request]
jobs:
tibet:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: humotica/tibet-ci@v1
That's it. tibet-ci will:
- Detect your project type (Python, Node, Rust, Go, Java)
- Run
tibet-polon pipeline steps (process integrity) - Run
tibet-auditon compliance checks - Run
tibet-forgeon code quality - Output a TIBET badge + checksum rapport
Pipeline Flow
┌────────────┐
│ detect │ Auto-detect language, build tool, test runner
└─────┬──────┘
│
┌─────▼──────┐
│ install_deps│ Install dependencies (pip/npm/cargo/go mod)
└─────┬──────┘
│
┌─────▼──────┐
│ lint │ Run linter (ruff/eslint/clippy/vet)
└─────┬──────┘
│
┌─────▼──────┐
│ test │ Run tests (pytest/jest/cargo test/go test)
└─────┬──────┘
│
┌─────▼──────┐
│ audit │ TIBET compliance audit
└─────┬──────┘
│
┌─────▼──────┐
│ build │ Build package/binary
└─────┬──────┘
│
┌─────▼──────┐
│ report │ Generate badge + checksum rapport
└─────┬──────┘
│
┌─────▼──────┐
│ TIBET Chain │ Every stage = token. Chain = audit trail.
└────────────┘
Each stage produces a TIBET token with:
| Layer | Content |
|---|---|
| ERIN | What ran: stage name, command, exit code, output hash |
| ERAAN | Previous stage token, dependency chain |
| EROMHEEN | CI platform, runner, commit SHA, branch |
| ERACHTER | Intent: "CI pipeline stage: {name}" |
Install
pip install tibet-ci
With optional integrations:
pip install tibet-ci[full] # includes tibet-pol, tibet-audit, tibet-forge, rich
CLI Usage
# Detect project type
tibet-ci detect .
# → Python (pyproject.toml), build_tool=hatch, test=pytest, lint=ruff
# Run full pipeline
tibet-ci run .
# → detect → install_deps → lint → test → audit → build → report
# → TIBET badge: PASSING (7/7 stages, checksum: a3f7c2...)
# Run specific stages only
tibet-ci run . --stages detect,lint,test
# Output as JSON
tibet-ci run . --json
# Generate badge status
tibet-ci badge .
# Demo run with simulated project
tibet-ci demo
# Concept overview
tibet-ci info
Works With
| CI Platform | Detection |
|---|---|
| GitHub Actions | GITHUB_ACTIONS env var |
| GitLab CI | GITLAB_CI env var |
| Bitbucket Pipelines | BITBUCKET_PIPELINES env var |
| Jenkins | JENKINS_URL env var |
| Local | Fallback — works everywhere |
Project Auto-Detection
| Files Found | Language | Build Tool | Test Command | Lint Command |
|---|---|---|---|---|
pyproject.toml / setup.py |
Python | pip/hatch | pytest |
ruff check . |
package.json |
Node | npm/yarn | npm test |
npx eslint . |
Cargo.toml |
Rust | cargo | cargo test |
cargo clippy |
go.mod |
Go | go | go test ./... |
go vet ./... |
pom.xml |
Java | maven | mvn test |
mvn checkstyle:check |
build.gradle |
Java | gradle | gradle test |
gradle check |
Python API
from tibet_ci import PipelineRunner, detect_project
# Detect
info = detect_project(".")
print(info.language) # "python"
print(info.build_tool) # "hatch"
print(info.test_command) # "pytest"
# Run full pipeline
runner = PipelineRunner()
result = runner.run(".")
print(result.badge_status) # "PASSING"
print(result.checksum) # "a3f7c2b1..."
for stage in result.stages:
status = "PASS" if stage.passed else "FAIL"
print(f" [{status}] {stage.name} ({stage.duration_ms}ms)")
# Run specific stages
result = runner.run(".", stages=["detect", "lint", "test"])
Part of the TIBET Ecosystem
| Package | Purpose |
|---|---|
tibet-core |
Protocol core |
tibet-y2k38 |
Y2K38 Time Bridge |
tibet-pol |
Process Integrity Checker |
tibet-pqc |
Post-Quantum Crypto Router |
tibet-overlay |
Identity Overlay |
tibet-twin |
Digital Twin Guard |
| tibet-ci | CI/CD Multiplier |
License
MIT — Humotica AI Lab 2025-2026
Authors
- J. van de Meent — jasper@humotica.com
- R. AI (Root AI) — root_idd@humotica.nl
Credits
Designed by Jasper van de Meent. Built by Jasper and Root AI as part of HumoticaOS.
Stack-positie: Groep evidence · Bootstrap = OSAPI-handshake naar tibet + jis (fail → snaft-rule + tibet-pol-rapport) · ← tibet-sbom · tibet-forge → · See STACK.md · See demo/golden-path/ for the spine end-to-end.
Enterprise
For private hub hosting, SLA support, custom integrations, or compliance guidance:
| Enterprise | enterprise@humotica.com |
| Support | support@humotica.com |
| Security | security@humotica.com |
See ENTERPRISE.md for details.
Metadata
Release files for tibet-ci 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tibet_ci-0.2.1.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tibet_ci-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.3 kB
Release files / tibet_ci-0.2.1.tar.gz
| Download URL | tibet_ci-0.2.1.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d37e2033dc0f1375baf6c715f3c5f1deb39646ac3c0563fd74589bf447865466
|
|
BLAKE2b-256 checksum How to use checksums |
451a0421786b3e065a90c032ef06396d2db481cc9437e6ca41df341c538b903e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / tibet_ci-0.2.1-py3-none-any.whl
| Download URL | tibet_ci-0.2.1-py3-none-any.whl |
|---|---|
| Size | 21.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca5014376ffbc55d0a122a74ef8440eae0d86d67a43e62930f9df48917141306
|
|
BLAKE2b-256 checksum How to use checksums |
ac7bf78175d9200db80e309098cae18bbb56dc7cada6af6ef18bfe80584826a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|