-
Notifications
You must be signed in to change notification settings - Fork 0
📖 Scribe: Document missing CLI commands (connect, org-*, upgrade) #53
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
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 | ||||
|---|---|---|---|---|---|---|
|
|
@@ -95,6 +95,82 @@ meshguard up [options] | |||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ## `meshguard connect` | ||||||
|
|
||||||
| Direct peer connection via token exchange (no seed node needed). Performs a coordinated UDP hole punch. | ||||||
|
|
||||||
| ```bash | ||||||
| meshguard connect --generate [--in <minutes>] | ||||||
| meshguard connect --join <mg://token> | ||||||
| ``` | ||||||
|
|
||||||
| | Flag | Description | | ||||||
| | ---- | ----------- | | ||||||
| | `--generate` | Run as initiator. Generates a token to share with the peer. | | ||||||
| | `--in <minutes>` | Wait time before coordinated punch (default: 1). | | ||||||
| | `--join` | Run as joiner. Accepts an `mg://` token. | | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ## `meshguard org-keygen` | ||||||
|
|
||||||
| Generate a new Ed25519 organization keypair. | ||||||
|
|
||||||
| ```bash | ||||||
| meshguard org-keygen | ||||||
| ``` | ||||||
|
|
||||||
| **Output files** (in `$MESHGUARD_CONFIG_DIR`, default `~/.config/meshguard/org/`): | ||||||
|
||||||
| **Output files** (in `$MESHGUARD_CONFIG_DIR`, default `~/.config/meshguard/org/`): | |
| **Output files** (in `$MESHGUARD_CONFIG_DIR/org/` (default `~/.config/meshguard/org/`)): |
Copilot
AI
Mar 2, 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.
org-sign docs state that --name is required, but the CLI currently defaults the name to node when --name is omitted. Either update the docs to describe the default/optional behavior, or update the CLI to enforce --name as required so the docs and behavior match.
Copilot
AI
Mar 2, 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.
The org-vouch description implies the vouch immediately propagates “via gossip”, but the implementation writes a vouch file that is gossiped when the node next runs meshguard up. Consider clarifying that propagation happens on the next daemon start / while the daemon is running.
| Vouch for an external node without making it a full org member. The vouch propagates to all org members via gossip. | |
| Vouch for an external node without making it a full org member. This writes a vouch that will be propagated to all org members via gossip when your node's daemon is running (for example, after `meshguard up`). |
Copilot
AI
Mar 2, 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.
The upgrade section says it “replaces the current executable, and restarts the systemd service if running”, but the current implementation installs to /usr/local/bin/meshguard and unconditionally runs systemctl stop meshguard followed by systemctl start meshguard (no check for whether it was already running). Please adjust the wording to match the actual behavior (and mention the fixed install path if that’s intentional).
| Queries the GitHub API, downloads the latest `meshguard-linux-amd64` binary, replaces the current executable, and restarts the systemd service if running. | |
| Queries the GitHub API, downloads the latest `meshguard-linux-amd64` binary, installs it to `/usr/local/bin/meshguard`, and restarts the `meshguard` systemd service by running `systemctl stop meshguard` followed by `systemctl start meshguard`, regardless of whether it was previously running. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| const std = @import("std"); | ||
| pub fn main() !void { | ||
| std.posix.fchmodat(std.fs.cwd().fd, "test_file.txt", 0o666, 0) catch {}; | ||
| std.debug.print("chmod ok\n", .{}); | ||
| } |
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.
In the
connectflags table,--joinis documented without its required token argument, but the CLI expects--join <mg://token>(it errors if--joinhas no value). Update the table row to reflect that the flag requires an argument.