- name
- ROSA Command Authoring
- description
- Add or edit Cobra commands in openshift/rosa while keeping command wiring thin and package logic aligned with repo structure.
# ROSA Command Authoring
Use this skill when:
- Adding a new `rosa` command or subcommand
- Changing flags or command help
- Moving logic between `cmd/` and `pkg/`
- Refactoring command execution flow
## Workflow
1. Read `AGENTS.md` and `guidelines/command-guidelines.md`, then inspect the nearest similar command implementation.
2. Keep Cobra command files thin and move non-Cobra logic into `pkg/`.
3. Follow the entrypoint and exit pattern already established in the nearest similar command area.
4. Many ROSA commands use `Run: run`; do not switch a command area between `Run` and `RunE`, or add/remove direct `os.Exit()` calls, unless the surrounding pattern already does so and the change keeps behavior consistent.
5. Reuse `output`, `reporter`, and `interactive` patterns already used by the surrounding command area.
6. If the command tree changes, update `cmd/rosa/structure_test/command_structure.yml`.
7. If supported flags change, update the matching `cmd/rosa/structure_test/command_args/**/command_args.yml`.
8. When command help or docs change, check whether `make generate-docs` is part of the required verification.
## Verification
- `make fmt`
- relevant package tests or `make test`
- `make rosa`
- `make generate-docs` when command docs or help output changed
Follow `CONTRIBUTING.md` for the exact contributor workflow and hook expectations.
View on GitHub