-
Notifications
You must be signed in to change notification settings - Fork 0
📖 Scribe: Document missing org and upgrade CLI commands #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -12,3 +12,7 @@ | |||||
| **Gap:** The documentation stated the SWIM protocol period was 1000ms (1s), but the implementation uses 5000ms (5s) in both `src/config.zig` and `src/discovery/swim.zig`. | ||||||
| **Learning:** The documentation likely reflected an early design decision or standard SWIM defaults, but the implementation settled on a more conservative 5s interval for WAN stability, and docs were not updated. | ||||||
| **Prevention:** Add a CI check that grep's `docs/guide/configuration.md` for values that match constants exported in `src/config.zig`. | ||||||
| ## 2026-03-10 - Manual CLI Drift | ||||||
| **Gap:** The org-keygen, org-sign, org-vouch, and upgrade commands were completely missing from docs/reference/cli.md despite existing in src/main.zig. | ||||||
| **Learning:** Because CLI argument parsing and help messages in src/main.zig are implemented manually rather than using a generator framework, the CLI reference documentation (docs/reference/cli.md) is highly prone to drift if not updated concurrently. | ||||||
| **Prevention:** We need to habitually check the fn main() switch cases or the usage string block in src/main.zig whenever updating CLI docs to ensure no commands have been added without corresponding documentation updates. | ||||||
|
||||||
| **Prevention:** We need to habitually check the fn main() switch cases or the usage string block in src/main.zig whenever updating CLI docs to ensure no commands have been added without corresponding documentation updates. | |
| **Prevention:** We need to habitually check the `if (std.mem.eql(...))` command-dispatch chain and the usage/help string block in src/main.zig whenever updating CLI docs to ensure no commands have been added without corresponding documentation updates. |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -243,3 +243,58 @@ meshguard connect --join mg://... | |||||||||||||||||
| | Variable | Description | | ||||||||||||||||||
| | ---------------------- | ---------------------------------------------------------- | | ||||||||||||||||||
| | `MESHGUARD_CONFIG_DIR` | Override config directory (default: `~/.config/meshguard`) | | ||||||||||||||||||
|
|
||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
| ## `meshguard org-keygen` | ||||||||||||||||||
|
|
||||||||||||||||||
| Generate a new Ed25519 organization keypair. | ||||||||||||||||||
|
|
||||||||||||||||||
| ```bash | ||||||||||||||||||
| meshguard org-keygen | ||||||||||||||||||
| ``` | ||||||||||||||||||
|
|
||||||||||||||||||
| **Output files** (in `$MESHGUARD_CONFIG_DIR`): | ||||||||||||||||||
|
|
||||||||||||||||||
| - `org.key` — secret key (permissions `0600`) | ||||||||||||||||||
| - `org.pub` — public key | ||||||||||||||||||
|
Comment on lines
+257
to
+260
|
||||||||||||||||||
| **Output files** (in `$MESHGUARD_CONFIG_DIR`): | |
| - `org.key` — secret key (permissions `0600`) | |
| - `org.pub` — public key | |
| **Output files** (in `$MESHGUARD_CONFIG_DIR/org/`): | |
| - `org/org.key` — secret key (permissions `0600`) | |
| - `org/org.pub` — public key |
Copilot
AI
Mar 10, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meshguard upgrade is implemented as a Linux/systemd-specific self-updater: it downloads the meshguard-linux-amd64 asset, uses systemctl to stop/start the service, and installs to /usr/local/bin/meshguard (often requiring sudo). The docs currently describe it generically; please document these OS/arch and privilege/tooling requirements so users on other platforms don’t assume it will work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There’s no blank line separating this new section from the previous one (the earlier entries are separated by a blank line). Consider adding an empty line before this heading for consistent Markdown formatting/readability.