https://github.com/go-tapd/cli
A Go command line client for TAPD, built on the typed go-tapd SDK. Supports stories, bugs, tasks, workspaces, wiki, tests, releases, webhooks, and more.
https://github.com/go-tapd/cli
ai cli command-line tapd tools
Last synced: 19 days ago
JSON representation
A Go command line client for TAPD, built on the typed go-tapd SDK. Supports stories, bugs, tasks, workspaces, wiki, tests, releases, webhooks, and more.
- Host: GitHub
- URL: https://github.com/go-tapd/cli
- Owner: go-tapd
- License: mit
- Created: 2026-03-26T14:40:51.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-28T01:29:23.000Z (21 days ago)
- Last Synced: 2026-05-28T03:17:06.238Z (21 days ago)
- Topics: ai, cli, command-line, tapd, tools
- Language: Go
- Homepage: https://github.com/go-tapd/cli
- Size: 1.46 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
TAPD CLI
`tapd` is a command line client for TAPD, built on top of the typed
[`github.com/go-tapd/tapd`](https://github.com/go-tapd/tapd) SDK.
It provides commands for common TAPD resources such as stories, bugs, tasks,
iterations, workspaces, wiki pages, test cases, releases, comments, attachments,
webhooks, and TAPD Lite comments.
## 📦 Install
### Homebrew
```bash
brew install go-tapd/tap/tapd
```
### npm
Use this when you want to install `tapd` through Node.js tooling:
```bash
npm install -g @go-tapd/tapd
```
### GitHub Releases
Download a prebuilt archive for your platform from
[GitHub Releases](https://github.com/go-tapd/cli/releases).
### Go
```bash
go install github.com/go-tapd/cli/cmd/tapd@latest
```
Requires Go 1.25 or later. This installs a binary named `tapd`.
## 🚀 Quick Start
```bash
tapd login --auth-method pat
tapd auth status
tapd story list --workspace-id 123456 --limit 20
```
Use `tapd --help` and `tapd --help` to inspect available commands and
flags.
## 🔐 Authentication
The recommended interactive setup is `tapd login`.
Personal access token:
```bash
tapd login --auth-method pat
```
Validate credentials during login:
```bash
tapd login --auth-method pat --workspace-id 123456
```
Basic authentication:
```bash
tapd login --auth-method basic
```
You can also pass credentials directly:
```bash
tapd login --token "$TAPD_ACCESS_TOKEN"
tapd login --client-id "$TAPD_CLIENT_ID" --client-secret "$TAPD_CLIENT_SECRET"
```
The login command stores credentials in:
```text
~/.tapd/config.json
```
For CI or temporary shell sessions, you can skip local config and use
environment variables:
```bash
export TAPD_ACCESS_TOKEN=...
```
or:
```bash
export TAPD_CLIENT_ID=...
export TAPD_CLIENT_SECRET=...
```
## ✨ Common Examples
```bash
tapd workspace view --workspace-id 123456
tapd workspace users --workspace-id 123456
tapd story list --workspace-id 123456 --limit 20
tapd story view 1111112222001000001 --workspace-id 123456
tapd story create --workspace-id 123456 --name "New story" --owner alice
tapd bug list --workspace-id 123456 --owner alice
tapd bug create --workspace-id 123456 --title "Login fails" --owner alice
tapd task list --workspace-id 123456 --creator bob --format json
tapd webhook inspect --file payload.json
tapd webhook serve --addr 127.0.0.1:8080 --path /webhook
```
## 🧭 Command Areas
- Authentication: `tapd login`, `tapd auth status`, `tapd auth logout`
- Workspaces: `tapd workspace ...`
- Stories: `tapd story ...`
- Bugs: `tapd bug ...`
- Tasks: `tapd task ...`
- Iterations: `tapd iteration ...`
- Tests: `tapd test-case ...`, `tapd test-plan ...`
- Releases: `tapd release ...`, `tapd launch-form ...`
- Wiki: `tapd wiki ...`
- Reports and metrics: `tapd report ...`, `tapd measure ...`
- Timesheets: `tapd timesheet ...`
- Comments: `tapd comment ...`
- Attachments: `tapd attachment ...`
- Boards: `tapd board ...`
- Workflow and settings: `tapd workflow ...`, `tapd setting ...`
- Labels and users: `tapd label ...`, `tapd user ...`
- Source integrations: `tapd source ...`
- Webhooks: `tapd webhook ...`
- TAPD Lite: `tapd lite comment ...`
## 📚 Documentation
- [Shell completion](docs/shell-completion.md)
- [Workspace commands](docs/workspace.md)
- [Story commands](docs/story.md)
- [Bug commands](docs/bug.md)
- [Task commands](docs/task.md)
- [Iteration commands](docs/iteration.md)
- [Test commands](docs/test.md)
- [Release commands](docs/release.md)
- [Wiki commands](docs/wiki.md)
- [Report commands](docs/report.md)
- [Attachment commands](docs/attachment.md)
- [Measure commands](docs/measure.md)
- [Timesheet commands](docs/timesheet.md)
- [Comment commands](docs/comment.md)
- [Board commands](docs/board.md)
- [Workflow commands](docs/workflow.md)
- [Setting commands](docs/setting.md)
- [Label commands](docs/label.md)
- [User commands](docs/user.md)
- [Source commands](docs/source.md)
- [Webhook commands](docs/webhook.md)
- [Lite commands](docs/lite.md)
- [Feature coverage](features.md)
## 🛠️ Development
```bash
make lint
make test
go build ./...
```
Test coverage is currently minimal, so command and documentation changes should
also be checked with the relevant `tapd --help` output.
When adding a command, prefer the typed services, requests, and responses from
`github.com/go-tapd/tapd` rather than writing ad hoc HTTP calls.
## 📄 License
This project is licensed under the [MIT License](LICENSE).