This document covers source-based development, local verification, CI, and release publishing. For normal installation and usage, start with the main README.
During development, replace binary commands with Cargo package commands:
cargo run -p agentic-gpt-hub -- init
cargo run -p agentic-gpt -- config init
cargo run -p agentic-gpt -- runcargo fmt --all --check
cargo check --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
python3 -c "import yaml; yaml.safe_load(open('openapi/hub.yaml')); print('openapi yaml ok')"Local multi-target Linux release builds use cross:
cargo install cross --git https://github.com/cross-rs/cross
./scripts/dist-linux.shArtifacts are written to:
dist/x86_64-unknown-linux-gnu/agentic-gptdist/x86_64-unknown-linux-gnu/agentic-gpt-hubdist/aarch64-unknown-linux-gnu/agentic-gptdist/aarch64-unknown-linux-gnu/agentic-gpt-hub
Pushing a version tag builds Linux release archives and publishes a GitHub Release:
git tag v0.9.0
git push origin v0.9.0Release archives contain both binaries for one target:
agentic-gpt-x86_64-unknown-linux-gnu.tar.gzagentic-gpt-aarch64-unknown-linux-gnu.tar.gzSHA256SUMS
GitHub Actions runs CI on pushes and pull requests to main:
cargo fmt --all --checkcargo check --workspacecargo clippy --workspace --all-targets -- -D warningscargo test --workspace- OpenAPI YAML parsing for
openapi/hub.yaml
The release workflow is triggered by version tags matching v*. It uses scripts/dist-linux.sh, packages both binaries per target, writes SHA256SUMS, and publishes a GitHub Release.