AI-powered CLI that turns any text into actionable tickets.
Feed it meeting transcripts, notes, braindumps, to-do lists — it extracts actionable items and creates Linear or GitHub issues automatically. Designed for AI agents, with a web dashboard for humans.
npx @junu0723/tix parse --text "Fix the login bug by Friday, add dark mode support" --humannpm install -g @junu0723/tix
tix --help- Node.js 18+
- Claude Code CLI — used for AI-powered parsing
- GitHub CLI (
gh) — create GitHub issues without a token
# 1. Configure credentials
tix setup
# 2. Create a project (auto-detects GitHub repo and Linear team)
tix project create my-project
# 3. Add project context for smarter tickets
tix project update my-project \
--description "E-commerce platform" \
--stack "Next.js, Prisma, PostgreSQL" \
--philosophy "Ship fast, user experience over features"
# 4. Parse any text into tickets
tix parse meeting.txt --human
# 5. Parse and create issues in one step
tix parse meeting.txt --pushAll commands output structured JSON to stdout. Status messages go to stderr.
Parse any text into tickets. Accepts transcripts, notes, to-do lists, braindumps — anything with actionable items.
When a project is active, its context (description, stack, status, philosophy) is used for smarter ticket generation. Duplicate issues are automatically checked before creation.
tix parse meeting.txt # from file
cat notes.md | tix parse # from stdin
tix parse --text "Fix the login bug" # inline text
tix parse meeting.txt --push # parse + create in Linear
tix parse meeting.txt --push --target github # parse + create in GitHub
tix parse meeting.txt --push --skip-dedup # skip duplicate check
tix parse meeting.txt --pretty # pretty JSON output
tix parse meeting.txt --human # human-readable outputOutput includes analysis stats:
{
"tickets": [{ "title": "...", "description": "...", "priority": 1, "labels": ["bug"] }],
"count": 3,
"stats": { "duration_ms": 15800, "input_tokens": 520, "output_tokens": 220, "cost_usd": 0.1166 }
}Create issues directly from JSON or flags. Checks for duplicates before creating.
tix parse notes.txt | jq '.tickets' | tix create # pipe from parse
tix create tickets.json # from JSON file
tix create --title "Fix bug" --priority 2 --labels "bug" # from flags
tix create --target github # target GitHub
tix create --skip-dedup # skip duplicate checkManage projects with per-project output targets and context. Project context (description, stack, philosophy) is injected into the AI prompt for project-specific ticket generation.
tix project create my-app
tix project update my-app --description "..." --stack "..." --philosophy "..."
tix project use my-app
tix project list --pretty
tix project show --pretty
tix project delete old-project --yesConfigure API credentials.
tix setup # interactive
tix setup --linear-api-key KEY --linear-team-id ID # Linear
tix setup --github-token TOKEN --github-repo owner/repo # GitHub
tix setup --global # save to ~/.tix/.envtix status # show config and readiness
tix history list --pretty # view parsing history
tix history clear --yes # clear history
tix dashboard # launch web UI at http://127.0.0.1:8000
tix dashboard --port 3000The web UI at tix dashboard:
- Paste text or upload files (.txt, .md, .srt, .vtt, .csv)
- Elapsed time counter during analysis with cancel button
- Edit tickets (title, description, priority, labels) before creating
- Project selector with context editor
- Target selector (Linear / GitHub)
- History with creation status tracking
Before creating issues, tix automatically checks for duplicates:
- GitHub target → fetches open issues via
ghCLI - Linear target → fetches active issues via GraphQL API
- Matches by title similarity (substring match + word overlap)
- Duplicates are skipped with a warning
- Use
--skip-dedupto bypass
| Integration | Backend |
|---|---|
| Claude (parsing) | claude CLI subprocess |
| GitHub (issues) | gh CLI (preferred) or REST API via GITHUB_TOKEN |
| Linear (issues) | GraphQL API via LINEAR_API_KEY |
| Variable | Required for | Description |
|---|---|---|
LINEAR_API_KEY |
Linear issues | Linear API key |
LINEAR_TEAM_ID |
Linear issues | Linear team UUID (or set per-project) |
GITHUB_TOKEN |
GitHub (API mode) | GitHub token (not needed with gh CLI) |
GITHUB_REPO |
GitHub | owner/repo (or per-project, or auto-detected from git) |
Credentials load from .env (local) or ~/.tix/.env (global).
tix is available as a Claude Code skill. Install it to let Claude Code use tix automatically when you ask to create tickets.
npx skills add junu0723/tix -g -y
# Then just ask Claude Code:
# "turn these meeting notes into Linear issues"
# "create tickets from this braindump"npm uninstall -g @junu0723/tix
rm -rf ~/.tixgit clone https://github.com/junu0723/tix.git
cd tix
npm install
node bin/tix.js status
node bin/tix.js dashboardMIT