Command every repository as one fleet.
Gitfleet is a provider-neutral CLI for managing repositories across GitHub and GitLab. It keeps one product vocabulary for repository lifecycle, changes, issues, pipelines, releases, security, access, and fleet workflows while still respecting real provider capability differences.
Human-readable output is the default. Automation can opt into structured output
with --json. The gitfleet and gf binaries are equivalent.
| Provider | Default host | Use with Gitfleet |
|---|---|---|
| GitHub | github.com |
GitHub repositories and GitHub Enterprise hosts configured with --host |
| GitLab | gitlab.com |
GitLab.com and self-managed GitLab hosts configured with --host |
Gitfleet checks capabilities at runtime. If the active provider cannot perform an operation, Gitfleet reports that capability as unsupported instead of pretending every provider has the same behavior.
Download a prebuilt archive from
GitHub Releases. Each archive
includes both executable names, gitfleet and gf, plus the project license.
Gitfleet is also installable from this checkout with Cargo:
cargo install --path gitfleet
gitfleet version
gf versionAfter pulling new source changes, reinstall the local package:
cargo install --path gitfleet --forcegitfleet auth login
gitfleet auth status
gitfleet repo list
gitfleet issue list --repo owner/repositoryUse nested help for the current command surface:
gitfleet help
gitfleet help repo
gitfleet help pipeline list-runsThe full Markdown documentation lives in gitfleet-docs/. The static homepage source lives in gitfleet-site/.
- Concepts
- Providers
- Authentication
- Configuration
- Command Reference
- Workflows
- Safety
- Troubleshooting
- Architecture Overview
- Documentation Guide
Install Lefthook once after cloning or when recreating local Git metadata:
lefthook installRequired gates from the repository root:
cargo fmt --check
CARGO_BUILD_JOBS=4 cargo clippy -- -D warnings
CARGO_BUILD_JOBS=4 cargo check --workspace
CARGO_BUILD_JOBS=4 cargo test --workspace
CARGO_BUILD_JOBS=4 cargo llvm-cov --fail-under-lines 80 --workspace
CARGO_BUILD_JOBS=4 cargo build --releaseCoverage must remain at or above 80 percent. See AGENTS.md for crate boundaries, coding style, testing rules, playbooks, and release rules.
The static homepage has its own Node-based quality gate and is intentionally kept separate from Rust CLI LOC, test, and coverage metrics:
cd gitfleet-site
pnpm verifyThe site gate uses Prettier for formatting, ESLint plus astro check for
linting/type diagnostics, Vitest for unit and build-output integration tests,
and Astro's static build.
Report vulnerabilities using the private process in SECURITY.md
and do not open a public issue. Never include tokens or other credentials in
reports; use redacted --debug output for ordinary bug reports.
For usage help, run gitfleet help [command...]. For reproducible bugs, open an
issue with the Gitfleet version, operating system, command, expected behavior,
actual behavior, and redacted --debug output.
Read CONTRIBUTING.md before proposing a change.
Gitfleet is maintained by Airscripts. If it helps your team manage repositories more effectively, sponsor ongoing maintenance and provider coverage through GitHub Sponsors.
MIT. See LICENSE.
