Contributing
This page defines the expected contribution model for XeCLI.
What Good Contributions Look Like
Good contributions improve one of these areas:
- live-console reliability
- command clarity
- output quality
- documentation accuracy
- release quality
- integration surface for external tools
Every contribution should leave the command surface clearer, safer, or easier to automate.
Code Expectations
Behavior
- Do not silently change command meaning.
- Do not widen the scope of a dangerous command without an explicit flag or confirmation path.
- Prefer explicit subcommands over overloaded positional behavior.
Reliability
- Commands that should fail fast must not hang for long periods.
- Console-disconnect behavior must be handled honestly.
- If a command can trigger a reboot or disconnect, document that and verify post-state where possible.
Output
- Human-readable output should stay clean and scannable.
- JSON output should remain stable enough for scripts.
- Help text must explain the real operator workflow, not internal implementation details.
Documentation Expectations
Any command or behavior change should update the relevant docs in the same change set.
Minimum docs coverage:
README.mdfor user-visible feature additionswiki/Commands.mdfor new commands or flagswiki/CLI-Help.mdwhen help output changeswiki/Frameworks.mdwhen internal behavior meaningfully changes
Validation Expectations
Prefer live validation when possible
For console-facing features, verify on real hardware or against the actual target environment where available.
Examples:
statusreturns promptly and shows the expected fieldstitleresolves the active title correctlymodules loadandmodules unloadverify against real module statesave injectround-trips cleanly- screenshot output is viewable and not corrupted
If something cannot be verified
State exactly what was and was not proven.
Unacceptable:
- implying a feature is verified when it only builds
Acceptable:
command compiles, but live verification was blocked by missing JRPC2
Release Contributions
Release-facing work should include:
- current screenshots
- current README links
- clean release archive contents
- no machine-specific local paths in docs
- no leftover dumps or test artifacts in the repo
Documentation Contribution Model
The wiki should read like a real developer-owned knowledge base.
That means:
- grouped page navigation
- operator path and developer path
- subsystem explanation
- standards for future documentation updates