This guide defines the writing standard for Gitfleet user docs. Use it when adding a command, changing command behavior, or expanding an existing page.
Start from the user task, not the implementation. Explain what the user is trying to accomplish, why Gitfleet has a command for it, and what the command changes or reads.
Prefer product terms:
- Use
changefor pull requests and merge requests. - Use
pipelinefor provider CI/CD runs and definitions. - Use
planningfor milestones and projects. - Use
registryfor package and container registry operations. - Use
reviewfor comments and reactions.
Only mention Rust modules, provider client internals, or crate boundaries in maintainer-facing docs.
Every command-family page should answer these questions:
- What does this command family do?
- Why does this command exist in Gitfleet instead of only in provider CLIs?
- When should a user reach for it?
- What are the common read-only commands?
- What are the common mutating commands?
- Which commands need
--repo, owner, ID, branch, ref, or file input? - Which provider capabilities are required?
- Does GitHub behave differently from GitLab?
- Which operations are destructive or state-changing?
- When should the user use
--dry-run? - When is
--yesrequired? - What should scripts parse with
--json? - Which related command family should the user read next?
Do not leave a page with only command syntax. Syntax tells users how to type the command; the docs should also explain whether the command is the right tool.
Use this structure for command-family pages unless a page has a good reason to deviate:
# command-name
## Purpose
One or two direct paragraphs about what the family manages.
## Why This Exists
Explain the provider-neutral value and the product vocabulary.
## When To Use It
Describe concrete user situations.
## Before You Run
List prerequisites: profile, repo target, permissions, token scopes, branch/ref,
file input, or provider feature requirements.
## Common Commands
Show realistic examples. Include read commands first, then mutating commands.
## Provider Support
Call out GitHub/GitLab support and unsupported capabilities.
## Safety Notes
Document confirmation, `--yes`, `--dry-run`, and sensitive output.
## JSON/Automation Notes
Describe what automation should parse and any non-interactive requirements.
## Related Commands
Link to nearby command families and workflows.The current first-pass command pages may omit Before You Run when the
prerequisites are obvious. Add it when expanding a page or when the command has
important inputs, provider permissions, or safety concerns.
Examples should be runnable in shape, even when placeholders are used:
- Use
owner/repository,group/project,<run-id>,<workflow-id>,<ruleset-id>, and similar placeholders consistently. - Use real Gitfleet option names from
gitfleet help. - Include
--repowhen a command normally needs repository context. - Include
--yeson destructive examples. - Include
--dry-runbefore broad fleet mutations when supported. - Avoid provider-specific endpoint paths unless documenting
api.
Prefer a small set of high-value examples over an exhaustive option dump. The installed CLI help remains the source of truth for every flag.
Document provider support from code, not assumptions. Check:
gitfleet-core/src/operations.rsfor public operation families.gitfleet/src/main.rsfor public Clap command families.gitfleet-providers/src/github/provider.rsfor GitHub capabilities.gitfleet-providers/src/gitlab/provider.rsfor GitLab capabilities.
If a provider does not declare a capability, say it is unsupported. Do not suggest unofficial workarounds as Gitfleet behavior.
Use direct safety wording:
- "Read-only" for commands that only inspect state.
- "Mutates provider state" for create, update, set, trigger, test, mark-read, archive, unarchive, rename, merge, and similar actions.
- "Destructive" for delete, remove, logout, archive, cancellation, and policy removal.
- "Requires confirmation or
--yes" when the command prompts in human mode or must run non-interactively.
Mention sensitive data explicitly for secret, variable, security, auth token, and raw api commands.
Workflow guides should combine command families into a realistic job. They should tell the user:
- What outcome the workflow produces.
- Which profile or repository context is expected.
- Which commands are safe to run first.
- Where state changes happen.
- What to use in CI or scripts.
- Which reference pages give the detailed command behavior.
Keep the root README.md concise. It should help a new reader understand what
Gitfleet is, install it, run the first commands, and find the full docs. Move
long command tables, provider details, configuration details, and workflows into
gitfleet-docs/.