mirror of
https://github.com/jackwener/OpenCLI.git
synced 2026-09-14 18:25:42 +08:00
7d0f46d009
Per WAWQAQ DM:
1. **CLI Hub**: bare-name enumeration ("ntn", "discord") didn't tell
readers what those binaries map to. Switched to the `opencli external
list` brand-alias format: `ntn(notion)`, `discord(discord-cli)`,
`dws(DingTalk Workspace)`, `wecom-cli(企业微信)`, `tg(tg-cli)`,
`wx(wx-cli)`. Names that are already self-explanatory (gh / docker /
vercel / wrangler / obsidian / longbridge / lark-cli) stay bare.
2. **Exit Codes**: the 9-row table + example block was disproportionate
for a README. Compressed to one sentence with the 7 actionable codes
inline, full table relocated to:
- EN: `docs/guide/exit-codes.md` (new)
- ZH: `docs/zh/guide/exit-codes.md` (new)
25 lines
968 B
Markdown
25 lines
968 B
Markdown
# Exit Codes
|
|
|
|
`opencli` follows Unix `sysexits.h` conventions so it integrates naturally with shell pipelines and CI scripts.
|
|
|
|
| Code | Meaning | When |
|
|
|------|---------|------|
|
|
| `0` | Success | Command completed normally |
|
|
| `1` | Generic error | Unexpected / unclassified failure |
|
|
| `2` | Usage error | Bad arguments or unknown command |
|
|
| `66` | Empty result | No data returned (`EX_NOINPUT`) |
|
|
| `69` | Service unavailable | Browser Bridge not connected (`EX_UNAVAILABLE`) |
|
|
| `75` | Temporary failure | Command timed out — retry (`EX_TEMPFAIL`) |
|
|
| `77` | Auth required | Not logged in to target site (`EX_NOPERM`) |
|
|
| `78` | Config error | Missing credentials or bad config (`EX_CONFIG`) |
|
|
| `130` | Interrupted | Ctrl-C / SIGINT |
|
|
|
|
## Example: branch on exit code
|
|
|
|
```bash
|
|
opencli spotify status || echo "exit $?" # 69 if browser not running
|
|
|
|
opencli gh issue list 2>/dev/null
|
|
[ $? -eq 77 ] && opencli gh auth login # auto-auth if not logged in
|
|
```
|