geekbot-cli 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -7
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,8 +1,38 @@
|
|
|
1
1
|
# geekbot-cli
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/geekbot-cli)
|
|
4
|
+
[](https://github.com/geekbot-com/geekbot-cli/actions/workflows/ci.yml)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
A cross-platform CLI tool for interacting with the [Geekbot](https://geekbot.com) API, designed for AI agents and humans. Built with Bun and TypeScript.
|
|
8
|
+
|
|
9
|
+
**Why geekbot-cli?**
|
|
10
|
+
|
|
11
|
+
- **Structured JSON output** on every command -- pipe results into scripts, dashboards, or AI agents
|
|
12
|
+
- **Machine-readable exit codes** and actionable error messages -- no guessing what went wrong
|
|
13
|
+
- **Secure credential storage** via OS keychain -- no API keys in dotfiles or env scripts
|
|
14
|
+
- **AI-agent ready** -- ships as a [Vercel Skill](https://github.com/vercel-labs/skills) for Claude Code, Cursor, Windsurf, Copilot, and more
|
|
15
|
+
|
|
16
|
+
## Table of Contents
|
|
17
|
+
|
|
18
|
+
- [Installation](#installation)
|
|
19
|
+
- [Authentication](#authentication)
|
|
20
|
+
- [Security](#security)
|
|
21
|
+
- [Global Options](#global-options)
|
|
22
|
+
- [Commands](#commands)
|
|
23
|
+
- [standup](#standup----manage-standups)
|
|
24
|
+
- [report](#report----manage-reports)
|
|
25
|
+
- [poll](#poll----manage-polls-slack-teams-only)
|
|
26
|
+
- [me](#me----view-your-profile-and-teams)
|
|
27
|
+
- [team](#team----view-team-information)
|
|
28
|
+
- [auth](#auth----manage-authentication)
|
|
29
|
+
- [Output Format](#output-format)
|
|
30
|
+
- [Exit Codes](#exit-codes)
|
|
31
|
+
- [Error Handling](#error-handling)
|
|
32
|
+
- [Examples](#examples)
|
|
33
|
+
- [Development](#development)
|
|
34
|
+
- [Contributing](#contributing)
|
|
35
|
+
- [License](#license)
|
|
6
36
|
|
|
7
37
|
## Installation
|
|
8
38
|
|
|
@@ -24,7 +54,6 @@ Verify the installation:
|
|
|
24
54
|
|
|
25
55
|
```shell
|
|
26
56
|
geekbot --version
|
|
27
|
-
# 0.2.0
|
|
28
57
|
```
|
|
29
58
|
|
|
30
59
|
### Register the AI agent skill
|
|
@@ -35,7 +64,7 @@ To register the Geekbot skill with your AI coding agents (Claude Code, Cursor, W
|
|
|
35
64
|
npx skills add geekbot-com/geekbot-cli
|
|
36
65
|
```
|
|
37
66
|
|
|
38
|
-
This uses the [Vercel Skills](https://github.com/vercel-labs/skills) ecosystem
|
|
67
|
+
This detects which AI coding agents are installed on your machine and copies the Geekbot skill files into each agent's skill directory, so the agent can discover and use the CLI autonomously. It uses the [Vercel Skills](https://github.com/vercel-labs/skills) ecosystem under the hood.
|
|
39
68
|
|
|
40
69
|
<details>
|
|
41
70
|
<summary>Manual skill installation (without npx skills)</summary>
|
|
@@ -121,6 +150,13 @@ geekbot auth status
|
|
|
121
150
|
geekbot auth remove
|
|
122
151
|
```
|
|
123
152
|
|
|
153
|
+
## Security
|
|
154
|
+
|
|
155
|
+
- **API keys are never written to disk in plaintext.** The CLI stores credentials in your OS keychain (macOS Keychain, Windows Credential Vault, or Linux Secret Service). No config files, no dotfiles.
|
|
156
|
+
- **Keys passed via `--api-key` or `GEEKBOT_API_KEY` are not logged.** Debug output (`--debug`) redacts credential values.
|
|
157
|
+
- **Validate before storing.** `geekbot auth setup` checks that the key is valid against the Geekbot API before persisting it, preventing silent failures from typos or revoked keys.
|
|
158
|
+
- **Prefer the keychain over environment variables** for workstations. Environment variables are visible to other processes and may leak into shell history. Use `GEEKBOT_API_KEY` for CI/CD and ephemeral environments where a keychain is unavailable.
|
|
159
|
+
|
|
124
160
|
## Global Options
|
|
125
161
|
|
|
126
162
|
These options apply to all commands:
|
|
@@ -128,7 +164,7 @@ These options apply to all commands:
|
|
|
128
164
|
| Option | Description | Default |
|
|
129
165
|
|--------|-------------|---------|
|
|
130
166
|
| `--api-key <key>` | Geekbot API key (overrides `GEEKBOT_API_KEY` env var) | -- |
|
|
131
|
-
| `--output <format>` | Output format (`json` only) | `json` |
|
|
167
|
+
| `--output <format>` | Output format (currently `json` only; reserved for future formats) | `json` |
|
|
132
168
|
| `--debug` | Show debug output on stderr | `false` |
|
|
133
169
|
| `-v, --version` | Print version number | -- |
|
|
134
170
|
| `--help` | Show help text | -- |
|
|
@@ -194,6 +230,22 @@ Same options as `create`. `--name` and `--channel` are required; all other optio
|
|
|
194
230
|
|--------|-------------|
|
|
195
231
|
| `--yes` | Confirm deletion (required; deletion fails with an error if omitted) |
|
|
196
232
|
|
|
233
|
+
#### `standup duplicate` options
|
|
234
|
+
|
|
235
|
+
| Option | Required | Description |
|
|
236
|
+
|--------|----------|-------------|
|
|
237
|
+
| `--name <name>` | Yes | Name for the new standup |
|
|
238
|
+
|
|
239
|
+
The `<id>` argument is the ID of the standup to duplicate.
|
|
240
|
+
|
|
241
|
+
#### `standup start` options
|
|
242
|
+
|
|
243
|
+
| Option | Required | Description |
|
|
244
|
+
|--------|----------|-------------|
|
|
245
|
+
| `--users <ids>` | No | Comma-separated user IDs to trigger (omit to trigger all members) |
|
|
246
|
+
|
|
247
|
+
The `<id>` argument is the ID of the standup to trigger immediately.
|
|
248
|
+
|
|
197
249
|
### `report` -- Manage reports
|
|
198
250
|
|
|
199
251
|
| Subcommand | Syntax | Description |
|
|
@@ -512,6 +564,17 @@ GEEKBOT_INTEGRATION_TEST_API_KEY=your-key bun test:integration
|
|
|
512
564
|
|
|
513
565
|
Tests are automatically skipped when `GEEKBOT_INTEGRATION_TEST_API_KEY` is not set. Tests that require a Slack channel (`#geekbot-skill-tests`) will gracefully skip with a warning if the channel does not exist in the workspace.
|
|
514
566
|
|
|
567
|
+
## Contributing
|
|
568
|
+
|
|
569
|
+
Contributions are welcome! Please open an issue or pull request on [GitHub](https://github.com/geekbot-com/geekbot-cli).
|
|
570
|
+
|
|
571
|
+
1. Fork the repository
|
|
572
|
+
2. Create a feature branch (`git checkout -b my-feature`)
|
|
573
|
+
3. Make your changes and add tests
|
|
574
|
+
4. Run `bun test` and `bun run lint` to verify
|
|
575
|
+
5. Commit and push your branch
|
|
576
|
+
6. Open a pull request against `main`
|
|
577
|
+
|
|
515
578
|
## License
|
|
516
579
|
|
|
517
|
-
|
|
580
|
+
[MIT](LICENSE)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geekbot-cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "CLI tool for managing Geekbot standups, reports, and polls — designed for AI agents and humans",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"geekbot": "./src/cli/index.ts"
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
|
+
"README.md",
|
|
15
16
|
"src/",
|
|
16
17
|
"skills/",
|
|
17
18
|
"scripts/"
|