cli

command module
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2026 License: MIT Imports: 3 Imported by: 0

README

Make This Better

makethisbetter

User feedback in your terminal. Your agent reads it, fixes it, ships it.

makethisbetter.dev · release license go version


The bridge between your users and your agent's todo list.

Users submit feedback through the widget. AI triages it on the platform. This CLI pulls it into your terminal where you or your coding agent pick it up, fix it, and resolve it. The user gets notified when the fix ships.

User reports bug  -->  AI triage  -->  CLI pulls it  -->  Agent fixes it  -->  User notified

Install

npm install -g @makethisbetter/cli

Installs the precompiled binary for your platform (macOS/Linux/Windows, arm64/x64).

GitHub Releases

Download a prebuilt binary from GitHub Releases:

curl -f matters here: without it a wrong asset name writes GitHub's 404 page to disk, and the next two commands cheerfully install it onto your PATH.

# macOS (Apple Silicon)
curl -fL https://github.com/makethisbetter/cli/releases/latest/download/makethisbetter-darwin-arm64 -o makethisbetter
chmod +x makethisbetter && sudo mv makethisbetter /usr/local/bin/

# Linux (x64)
curl -fL https://github.com/makethisbetter/cli/releases/latest/download/makethisbetter-linux-amd64 -o makethisbetter
chmod +x makethisbetter && sudo mv makethisbetter /usr/local/bin/

Assets: makethisbetter-{darwin,linux}-{amd64,arm64} and makethisbetter-windows-{amd64,arm64}.exe.

Go

go install github.com/makethisbetter/cli@latest
mv $(go env GOPATH)/bin/cli $(go env GOPATH)/bin/makethisbetter

go install names the binary cli (from the module path). The mv gives you makethisbetter.

Morning Routine

makethisbetter login              # one-time OTP via email, no password
makethisbetter feedback list --project acme      # what came in overnight?
makethisbetter feedback pick acme/FB-1   # claim it, get the full context
makethisbetter feedback pick acme/FB-1 --takeover # replace the current assignee
# ... your agent codes the fix ...
makethisbetter feedback resolve acme/FB-1 --summary "Fixed Safari export downloads."  # mark shipped

Your Agent Reads JSON, Not Tables

Every command supports --json for machine-readable output. Point your agent at it:

makethisbetter feedback list --project acme --status received --json
[
  {
    "id": "FB-1",
    "reference": "acme/FB-1",
    "number": 1,
    "project_id": "acme",
    "project_handle": "acme",
    "status": "received",
    "labels": ["Bug"],
    "priority": "high",
    "description": "The checkout button does nothing when I tap it on my phone.",
    "ai_structured_summary": {
      "board_summary": "Checkout button unresponsive on mobile",
      "summary": "Mobile reporters cannot complete checkout from the product page."
    },
    "page_url": "https://example.com/checkout"
  }
]

ai_structured_summary is the full AI triage object; only two of its keys are shown above. Every field the API returns is passed through verbatim.

makethisbetter feedback show acme/FB-1 --json   # full detail + AI triage
makethisbetter feedback show acme/FB-1 --md     # server-rendered markdown, cheapest tokens for agents
makethisbetter feedback pick acme/FB-1 --json   # claim + return context

For native tool integration (no shell parsing), see:

  • MCP Server -- Claude Code and Cursor call tools directly
  • Skills -- /makethisbetter list, /makethisbetter pick inside Claude Code

Commands

makethisbetter login

Authenticate via email OTP. No password. Saves token to ~/.makethisbetter/config.json.

makethisbetter login
# Enter email: you@example.com
# Check inbox for login code
# Enter code: 123456
# Logged in

makethisbetter info

Current account and auth status.

makethisbetter feedback list

makethisbetter feedback list --project acme
makethisbetter feedback list --project acme --status received --label Safari --priority high
makethisbetter feedback list --project acme --sort priority
makethisbetter feedback list --project acme --limit 100
makethisbetter feedback list --project acme --json
Flag Values
--status received, in_progress, pending_release, closed
--label Any AI-selected Project label name from the system pool
--type Deprecated compatibility alias for --label
--priority critical, high, medium, low
--sort priority, created, updated
--project Project handle (required)
--limit Maximum feedback items to return, 1 to 200 (default: 50)
--json JSON output

makethisbetter feedback show <handle/FB-n>

Full details including AI triage analysis. --md prints the server-rendered markdown (single source of truth, ideal for agents); --json prints the raw fields.

makethisbetter feedback pick <handle/FB-n>

Claim a feedback item. Status becomes in_progress. Returns the full context so your agent knows what to fix. If another team member already owns it, the command returns a conflict; add --takeover to replace that assignee.

makethisbetter feedback dismiss <handle/FB-n>

Close with a reason.

makethisbetter feedback dismiss acme/FB-1 --reason not_planned
makethisbetter feedback dismiss acme/FB-2 --reason duplicate --canonical acme/FB-1

duplicate requires a Canonical Feedback in the same Project. not_planned closes the Feedback without sending a Reporter Update.

makethisbetter feedback resolve <handle/FB-n>

Mark as shipped only after the change is available to reporters. A factual Resolution Summary is required; --pr can additionally record the Pull Request.

makethisbetter feedback resolve acme/FB-1 \
  --summary "Fixed Safari export downloads." \
  --pr https://github.com/you/app/pull/87

When the Feedback has a Reporter Email, the platform generates a short Closing Comment and sends the Reporter Update automatically.

makethisbetter project list

makethisbetter project list
makethisbetter project list --json

makethisbetter project show <handle>

Project details, including the widget api_key and board_url. signing_secret is only included for account admins; other roles see a (admin only) note instead.

makethisbetter project create <name>

makethisbetter project create "Acme" --handle acme --domain acme.com

--handle and --domain are both required. --domain is the bare hostname the widget will run on (acme.com), not a URL and not a path.

Prints the new project, including its api_key and signing_secret. Requires account admin.

Configuration

~/.makethisbetter/config.json

{
  "api_token": "token_xxx",
  "api_url": "https://makethisbetter.dev/api/v1"
}
Field Default Description
api_token -- Set by makethisbetter login
api_url https://makethisbetter.dev/api/v1 API endpoint

Self-Hosting

Point api_url at your own instance:

{
  "api_token": "token_xxx",
  "api_url": "https://feedback.yourcompany.com/api/v1"
}

The platform backend is not open source yet — self-hosting docs will come with it. The hosted service lives at makethisbetter.dev.

Development

go build -o makethisbetter .
go test ./...
go vet ./...

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
internal
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL