3.1 KiB
Command Stability
This document classifies the current geth CLI surface for scripts and
downstream projects. The compatibility rules in docs/compatibility.md apply
to stable commands after the first deployment tag.
Stability Levels
- Stable: intended for scripts once the first deployment tag exists. Command
names, flag names, argument meanings, and
--jsonfield meanings should not change within a major release. - Experimental: useful and tested, but the command may still change as the subsystem is hardened. Scripts should pin a geth version and expect migration notes.
- Prototype: proves a shape or workflow. Do not build durable automation on it without expecting replacement or incompatible changes.
Stable
The following command families are intended to be stable automation surfaces:
geth initgeth daemon rungeth daemon service install|uninstall|start|stop|status|printgeth statusgeth node idgeth backup create|restoregeth node list|rename|revoke|grant|revoke-grant|endpoint-add|endpoint-revokegeth node enroll request|submit|import|list|approve|syncgeth peer export|import|list|ping|auth-checkgeth keychain init|status|admin-add|admin-revoke|allowed-signers|verifygeth keychain sign-file|verify-filegeth keychain sigchain|verify-sigchain|import-sigchain|verify-checkpoint|fetch|explain|explain-signergeth auth explain|grant|revoke|syncgeth sync status|nowgeth wait daemon|peer|syncgeth secret status|create|rotate|bearer- Local CAS object commands:
geth cas add|get|hash|has|pin|unpin|cleanup|providers|list|fetch - File-root metadata commands:
geth cas root add|list|scan|sync|apply - File-conflict metadata commands:
geth cas conflict record|list|resolve - SSH certificate and revocation metadata commands under
geth ssh cert ...andgeth ssh revocation ... geth ssh proxy- Restricted
geth ssh admin-shell help|status|node-id geth db add|status|changes|syncgeth kv create|set|get|syncgeth document create|status|set|get|syncgeth pubsub pub|subgeth pipe listen|connect|send|recv|forward-tcp|forward-unixgeth completionsgeth guide
Experimental
The following commands are tested but may still change while the subsystem settles:
geth overlay status|plan|join|leave|interface-plan|up|down|peers|send|recv
Migration expectation: overlay membership records and authorization resources should remain readable, but packet runtime flags, platform activation details, and route metadata may change before the first deployment tag.
Prototype
The following commands intentionally do not claim a stable security or storage contract yet:
geth cas add-privategeth cas get-private
Migration expectation: prototype private CAS envelopes may be replaced by an audited AEAD/key-envelope design. Existing prototype blobs may need an explicit re-encryption or export/import workflow.
Adding Commands
New commands should enter this file in the same change that introduces the CLI surface. Experimental and prototype commands should include a migration or removal expectation before users are encouraged to automate against them.