A Ruby command-line client for Fizzy project management.
Requires Ruby >= 3.2.
gem install fizzyFizzy CLI ships with a skill file that teaches AI coding assistants (Claude Code, Codex) how to use the CLI. Install it so agents can manage your Fizzy boards and cards autonomously.
fizzy skill install # Claude Code, user-level (default)
fizzy skill install --target codex # OpenAI Codex / OpenCode
fizzy skill install --target all # All supported agents
fizzy skill install --scope project # Project-level instead of user-level
fizzy skill uninstall # Remove skill file- Log in to app.fizzy.do
- Open your profile settings (click your avatar)
- Scroll to the Developer section
- Click personal access tokens
- Create a new token and copy it
fizzy auth login --token YOUR_TOKENFor self-hosted Fizzy instances, pass --url:
fizzy auth login --token YOUR_TOKEN --url https://fizzy.mycompany.comThe URL is stored per-account in ~/.config/fizzy-cli/tokens.yml. You can also set FIZZY_TOKEN as an environment variable with --account to skip the file.
fizzy auth status # Show current auth
fizzy auth accounts # List available accounts
fizzy auth switch SLUG # Change default accountSet project-level defaults so you don't need --account and --board on every command:
fizzy initThis creates a .fizzy.yml in the current directory:
account: acme
board: b1For self-hosted instances, add a url key:
account: acme
board: b1
url: https://fizzy.mycompany.comResolution priority (highest wins):
- CLI flag (
--account/--board) .fizzy.yml(nearest ancestor directory)- Global
default_accountfrom~/.config/fizzy-cli/tokens.yml
All commands support --json for JSON output and --account SLUG to override the default account.
# Use a different account
fizzy cards list --board BOARD_ID --account my-other-teamfizzy boards list
fizzy boards get BOARD_ID
fizzy boards create "My Board"
fizzy boards update BOARD_ID --name "New Name"
fizzy boards delete BOARD_IDCards are addressed by number (not ID).
fizzy cards list
fizzy cards list --board BOARD_ID --status open
fizzy cards get 42
fizzy cards create "Card title" --board BOARD_ID
fizzy cards update 42 --title "New title"
fizzy cards delete 42Card actions:
fizzy cards close 42
fizzy cards reopen 42
fizzy cards not-now 42
fizzy cards triage 42 --column COLUMN_ID
fizzy cards untriage 42
fizzy cards tag 42 "bug"
fizzy cards assign 42 USER_ID
fizzy cards watch 42
fizzy cards unwatch 42
fizzy cards golden 42
fizzy cards ungolden 42Columns are scoped to a board.
fizzy columns list --board BOARD_ID
fizzy columns get COLUMN_ID --board BOARD_ID
fizzy columns create "To Do" --board BOARD_ID
fizzy columns update COLUMN_ID --board BOARD_ID --name "Done"
fizzy columns delete COLUMN_ID --board BOARD_IDSteps are scoped to a card (no list endpoint; steps appear in cards get).
fizzy steps create "Write tests" --card 42
fizzy steps get STEP_ID --card 42
fizzy steps update STEP_ID --card 42 --completed
fizzy steps delete STEP_ID --card 42fizzy comments list --card 42
fizzy comments get COMMENT_ID --card 42
fizzy comments create "Looks good" --card 42
fizzy comments update COMMENT_ID --card 42 --body "Updated"
fizzy comments delete COMMENT_ID --card 42Works on cards and comments.
fizzy reactions list --card 42
fizzy reactions list --card 42 --comment COMMENT_ID
fizzy reactions create "thumbsup" --card 42
fizzy reactions delete REACTION_ID --card 42fizzy tags list
fizzy users list
fizzy users get USER_ID
fizzy notifications list
fizzy notifications read NOTIFICATION_ID
fizzy notifications mark-all-read
fizzy pins pin 42
fizzy pins unpin 42fizzy auth identity # Show current user info
fizzy version # Print version
fizzy help # List all commandsbegin
# any fizzy command
rescue Fizzy::AuthError => e
# 401 - invalid or expired token
rescue Fizzy::ForbiddenError => e
# 403 - insufficient permissions
rescue Fizzy::NotFoundError => e
# 404 - resource not found
rescue Fizzy::ValidationError => e
# 422 - invalid input
rescue Fizzy::RateLimitError => e
# 429 - too many requests, retry with backoff
rescue Fizzy::ServerError => e
# 500+ - server error
rescue Fizzy::NetworkError => e
# Timeout or connection failure
end| Source | Purpose |
|---|---|
.fizzy.yml |
Per-project account, board, and URL defaults |
~/.config/fizzy-cli/tokens.yml |
Stored auth tokens, default account, and per-account URL |
FIZZY_TOKEN env var |
Token override (requires --account) |
FIZZY_URL env var |
Instance URL override (default: https://app.fizzy.do) |
URL resolution priority (highest wins):
FIZZY_URLenvironment variableurlin.fizzy.yml- Per-account
urlfromtokens.yml(set viafizzy auth login --url) - Default:
https://app.fizzy.do
bundle install
bundle exec rake # runs tests + rubocop
bundle exec rake test # tests only
bundle exec rubocop # lint only
Bug reports and pull requests are welcome on GitHub at https://github.com/dpaluy/fizzy-cli.
The gem is available as open source under the terms of the MIT License.
