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.
Files changed (2) hide show
  1. package/README.md +70 -7
  2. package/package.json +2 -1
package/README.md CHANGED
@@ -1,8 +1,38 @@
1
1
  # geekbot-cli
2
2
 
3
- A cross-platform CLI tool for interacting with the Geekbot API, designed for AI agents and humans. Built with Bun and TypeScript.
4
-
5
- Manage standups, reports, polls, teams, and user profiles programmatically with structured JSON output, machine-readable exit codes, and actionable error messages.
3
+ [![npm version](https://img.shields.io/npm/v/geekbot-cli)](https://www.npmjs.com/package/geekbot-cli)
4
+ [![CI](https://github.com/geekbot-com/geekbot-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/geekbot-com/geekbot-cli/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](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 to detect installed agents and register the skill with all of them.
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
- See LICENSE.
580
+ [MIT](LICENSE)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geekbot-cli",
3
- "version": "0.2.0",
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/"