Skip to content

docs: add troubleshooting, getting started, and a changelog - #29

Open
thebrandonlucas wants to merge 1 commit into
docs/cli-referencefrom
docs/cli-troubleshooting
Open

thebrandonlucas wants to merge 1 commit into
docs/cli-referencefrom
docs/cli-troubleshooting

Conversation

@thebrandonlucas

Copy link
Copy Markdown
Contributor

Stack: master ← #20 ← #22 ← #24 ← #19 ← #26 ← #27 ← #28 ← this PR. Plan 07, phase 5. Builds on the hints from #24, which the troubleshooting entries explain.

  • Troubleshooting (docs/guides/troubleshooting.md): an entry per exit code and per credential_problem (no_credential, multiple_credentials, unknown_credential, empty_api_key, bound_elsewhere), plus expired logins, API-key discovery, HTTP 401/403, a locked OS credential store, and feature_flag_disabled. Each heading is the literal code or message, so search finds it.
  • Getting started (docs/getting-started.md): one path from install through login, a saved profile, a mutinynet wallet, a received 1,000 sats, and the same receive scripted with --json and jq.
  • Changelog: CHANGELOG.md (Keep a Changelog style, hand-written) seeded with the changes since 0.1.0, including this stack.
  • Keeping it current: a PR template; a Changelog workflow that fails a PR changing src/cli.rs or api/commands.json without CHANGELOG.md, unless it has the no-changelog label (it reruns on label changes, so it is a separate workflow from CI); and the rule in AGENTS.md.

Tests: troubleshooting must have an entry for every exit code and every CredentialProblem; an exhaustive match makes a new problem fail to compile until it has one. The docs example checks now also read CHANGELOG.md and the tutorial, so the tutorial's commands parse and its changes pass as offline dry runs.

Validation: cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, cargo machete --with-metadata, cargo test --locked (98 unit, 69 integration), and python3 scripts/check-coverage.py.

Not done here:

  • The tutorial is unverified against a live account. The plan's acceptance check is a new teammate following it on a test network.
  • The no-changelog label does not exist in the repository yet.
  • A staging guide waits for deployment URLs in profiles (plan 05).

docs/guides/troubleshooting.md is keyed by exit code and by each
credential_problem name, with the fix for each; a test requires an entry for
every exit code and every CredentialProblem, which an exhaustive match keeps
complete. docs/getting-started.md walks from install to a settled mutinynet
payment and a scripted receive.

CHANGELOG.md starts with the changes since 0.1.0. A pull request template
and a Changelog workflow ask for an Unreleased entry: the workflow fails a
PR that changes src/cli.rs or api/commands.json without CHANGELOG.md, unless
it has the no-changelog label. AGENTS.md states the rule.

The docs example checks now also read CHANGELOG.md and the tutorial, so
their commands parse and their changes pass as offline dry runs.
@thebrandonlucas
thebrandonlucas force-pushed the docs/cli-troubleshooting branch from ba7701d to 01df020 Compare October 20, 2026 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant