https://github.com/fidenceio/manifest.cli
Manifest CLI - A powerful command-line tool for Git operations and version management
https://github.com/fidenceio/manifest.cli
automation bash cli git shell versioning
Last synced: about 1 month ago
JSON representation
Manifest CLI - A powerful command-line tool for Git operations and version management
- Host: GitHub
- URL: https://github.com/fidenceio/manifest.cli
- Owner: fidenceio
- Created: 2025-08-09T23:58:34.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-05-20T02:22:14.000Z (about 1 month ago)
- Last Synced: 2026-05-20T03:53:12.150Z (about 1 month ago)
- Topics: automation, bash, cli, git, shell, versioning
- Language: Shell
- Homepage: https://github.com/fidenceio/manifest.cli#readme
- Size: 1.35 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Security: docs/SECURITY_ANALYSIS_REPORT.md
Awesome Lists containing this project
README
# Manifest CLI
Manifest CLI is release control for agent-assisted development. It keeps version bumps, changelogs, docs, tags, pushes, GitHub Releases, pull requests, and multi-repo fleet releases on one explicit preview/apply path.
[](https://github.com/fidenceio/manifest.cli/actions/workflows/test.yml)
**Version:** `50.0.1`
**Platforms:** macOS, Linux, FreeBSD
**Primary interface:** `manifest [options]`
## Why It Exists
Agent-assisted work makes it easy to create several changes at once. Shipping them safely is the harder part. Manifest gives a repository or fleet a repeatable release path:
- Inspect current state before acting.
- Preview local and remote side effects.
- Apply only after `-y` / `--yes`.
- Keep release notes, changelog entries, generated docs, tags, and GitHub Releases aligned.
- Use the same command model for one repo and for a fleet.
## Safety Model
Manifest mutating commands preview by default.
```bash
manifest ship repo patch # preview
manifest ship repo patch -y # apply
manifest ship repo patch --local -y
```
`--dry-run` is the explicit preview spelling. `--local -y` applies local release work without tag, push, GitHub Release, or Homebrew publication. `MANIFEST_CLI_AUTO_CONFIRM=1` can answer prompts after apply mode is selected; it does not authorize apply by itself.
## Install
For product use, install from the Homebrew tap:
```bash
brew tap fidenceio/tap
brew install manifest
```
Install script alternative:
```bash
curl -fsSL https://raw.githubusercontent.com/fidenceio/manifest.cli/main/install-cli.sh | bash
```
For repository development and validation, do not install dependencies on the host. Use the containerized test runner:
```bash
./scripts/run-tests-container.sh
```
More detail: [docs/INSTALLATION.md](docs/INSTALLATION.md).
## First Release
```bash
cd your-project
manifest init repo # preview required files
manifest init repo -y # write VERSION, CHANGELOG.md, docs/, ignores
manifest prep repo # preview remote/config prep
manifest prep repo -y # apply prep
manifest ship repo patch # preview release
manifest ship repo patch -y # publish release
```
Useful read-only checks:
```bash
manifest status
manifest doctor
manifest config list
```
## Fleet Release
A fleet is a workspace of independent Git repositories described by `manifest.fleet.config.yaml` and `manifest.fleet.tsv`.
```bash
manifest init fleet # scan or consume fleet TSV
manifest status fleet # inspect selected repos
manifest ship fleet patch # preview releaseable services
manifest ship fleet patch -y # apply releaseable services
```
Fleet adoption and reconciliation stay preview-first:
```bash
manifest plan fleet
manifest plan fleet --apply
manifest reconcile fleet
manifest reconcile fleet --do
```
More detail: [docs/FLEET_DESIGN_SPEC.md](docs/FLEET_DESIGN_SPEC.md).
## Command Model
| Area | Commands |
| ---- | -------- |
| Setup | `manifest config`, `manifest init repo`, `manifest init fleet` |
| Preparation | `manifest prep repo`, `manifest prep fleet` |
| Refresh | `manifest refresh repo`, `manifest refresh fleet` |
| Release | `manifest ship repo `, `manifest ship fleet ` |
| Diagnostics | `manifest status`, `manifest doctor`, `manifest security --check` |
| Pull requests | `manifest pr create`, `manifest pr checks`, `manifest pr ready`, `manifest pr merge`, `manifest pr update` |
| Recipes | `manifest recipe list`, `manifest recipe show`, `manifest recipe explain` |
Release types: `patch`, `minor`, `major`, `revision`.
Complete grammar: [docs/COMMAND_REFERENCE.md](docs/COMMAND_REFERENCE.md).
## Configuration
Configuration is YAML-backed and layered:
1. Built-in defaults
2. `~/.manifest-cli/manifest.config.global.yaml`
3. `manifest.config.yaml`
4. `manifest.config.local.yaml`
Every user-facing key maps to a `MANIFEST_CLI_*` environment variable through the YAML bridge. Use `manifest config describe ` to see the effective value, layer source, and env-var name.
Schema example: [examples/manifest.config.yaml.example](examples/manifest.config.yaml.example).
## Documentation Map
| Document | Purpose |
| -------- | ------- |
| [docs/INDEX.md](docs/INDEX.md) | Task-based documentation index |
| [docs/USER_GUIDE.md](docs/USER_GUIDE.md) | Daily workflows and operating model |
| [docs/COMMAND_REFERENCE.md](docs/COMMAND_REFERENCE.md) | Command grammar and flags |
| [docs/EXAMPLES.md](docs/EXAMPLES.md) | Copyable workflow examples |
| [docs/INSTALLATION.md](docs/INSTALLATION.md) | Product install and contributor validation |
| [docs/FLEET_DESIGN_SPEC.md](docs/FLEET_DESIGN_SPEC.md) | Fleet architecture |
| [docs/CLI_TRANSACTION_MAP.md](docs/CLI_TRANSACTION_MAP.md) | High-consequence transaction paths |
| [tests/README.md](tests/README.md) | Containerized test workflow |
## Optional Cloud
Manifest CLI works without Manifest Cloud. Optional Cloud plugins can extend release-note generation, queue/policy behavior, MCP reports, and agent workflows. Missing Cloud plugins fall back to install guidance instead of blocking core repo and fleet releases.
Cloud repo: [fidenceio.manifest.cloud](https://github.com/fidenceio/manifest.cloud)