A lightweight CLI tool for logging support tickets and daily activities directly into Google Sheets — designed for support engineers, developers, and technical teams who prefer a terminal-first workflow.
- Log support ticket URLs with tags and optional comments
- Add optional daily tasks (e.g., meetings, documentation)
- Automatically creates a new sheet for each day
- Writes entries to Google Sheets in real-time
- Tracks total valid entries (excluding headers and breaks)
- Appends a
BREAKrow when you end a session - Keyboard-friendly interface, no mouse required
🚀 Welcome to TickTrack CLI
Today: Sunday, June 22, 2025
Entries Logged: 3
Initializing your workspace...
git clone https://github.com/naveenkharwar/ticktrack-cli.git
cd ticktrack-clinpm installTo connect with Google Sheets, follow this detailed setup guide or:
- Create a project in Google Cloud Console
- Enable the Google Sheets API
- Create a Service Account
- Generate a JSON key, rename it to
credentials.json, and place it in the project root - Share your target Google Sheet with the service account email (Editor access)
Create a .env file in your project root:
GOOGLE_SHEET_ID=your_google_sheet_id_hereYou can find the Sheet ID in your Google Sheet URL:
https://docs.google.com/spreadsheets/d/THIS_IS_YOUR_ID/edit
Run the CLI:
npm run startYou’ll be prompted to:
- Enter a ticket URL
- Select relevant tags
- Add optional comments or additional tasks
- Repeat for more entries or exit the session
Ending the session logs a BREAK row to separate the session in the sheet.
Available tags for tickets:
newfollow-upratingescalatedlongquick
You can customize these in src/prompts.ts.
| Key | Action |
|---|---|
Space |
Select/deselect tags |
Enter |
Confirm input |
Esc |
Cancel prompt |
exit |
Type to exit from ticket prompt |
Ctrl + C |
Force quit the application |
ticktrack-cli/
├── src/
│ ├── index.ts // Entry point
│ ├── prompts.ts // User input logic
│ ├── sheets.ts // Google Sheets integration
│ └── types.ts // Shared TypeScript types
├── credentials.json // Google service account key (not committed)
├── .env // Environment variables
└── README.md
Be sure to include sensitive files in .gitignore:
.env
credentials.json
To use ticktrack from anywhere in your terminal:
-
Add the following shebang at the top of
src/index.ts:#!/usr/bin/env node
-
Then:
chmod +x src/index.ts npm link
Now you can run:
ticktrackMIT License © 2025 Naveen Kharwar
- chalk – CLI text styling
- boxen – Banner formatting
- ora – Terminal spinners
- inquirer – Interactive prompts
- googleapis – Google Sheets integration
- dotenv – Environment variable loader
- dayjs – Date/time formatting
For help or feedback, feel free to open an issue or contact the maintainer.