{"_id":"@alan-vaughn/ttrack","name":"@alan-vaughn/ttrack","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@alan-vaughn/ttrack","version":"0.1.0","description":"A minimalist command-line time tracker","author":{"name":"Alan Vaughn"},"type":"module","license":"MIT","bin":{"ttrack":"dist/cli/index.js"},"scripts":{"dev":"tsx src/cli/index.tsx","build":"tsc","postbuild":"chmod +x dist/cli/index.js","prepublishOnly":"pnpm run typecheck && pnpm run build","start":"node dist/cli/index.js","typecheck":"tsc --noEmit","test":"vitest","test:ui":"vitest --ui","lint":"prettier --write . && eslint --fix .","lint:check":"prettier --check . && eslint .","release":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish"},"keywords":["cli","tui"],"engines":{"node":">=18.0.0"},"dependencies":{"@libsql/client":"^0.15.15","chalk":"^5.3.0","date-fns":"^4.1.0","drizzle-orm":"^0.44.6","ink":"^5.0.1","ink-big-text":"^2.0.0","react":"^18.3.1"},"devDependencies":{"@eslint/js":"^9.37.0","@types/node":"^22.10.5","@types/react":"^18.3.18","@typescript-eslint/eslint-plugin":"^8.46.1","@typescript-eslint/parser":"^8.46.1","@vitest/ui":"^3.2.4","drizzle-kit":"^0.31.5","eslint":"^9.37.0","eslint-config-prettier":"^10.1.8","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.0","prettier":"^3.6.2","tsx":"^4.19.2","typescript":"^5.7.3","vitest":"^3.2.4"},"_id":"@alan-vaughn/ttrack@0.1.0","gitHead":"0e93028dc709cd18a9ceae6d59ccb88754bbea2b","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-PYlWqaqa8uRXCy3Ac2GAmcPytnPKVSfaj7G53ZsqabAshSI+QBim/FWA5fBD9dW2bMNA4IseZ6WDTU0+49i0YA==","shasum":"58ea2ca3515af1023d5eac2193b62e1b371fe260","tarball":"https://registry.npmjs.org/@alan-vaughn/ttrack/-/ttrack-0.1.0.tgz","fileCount":55,"unpackedSize":93107,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCFsa1TIsznFjrvpnRYYgFgb3ToB5vkQSyejZLUXjOxSAIhALm7xCNhLvUyhgVgOTMWN4QZ5/z7aXUOhe8mqUrXqmUO"}]},"_npmUser":{"name":"alan-vaughn","email":"alanjvaughn@gmail.com"},"directories":{},"maintainers":[{"name":"alan-vaughn","email":"alanjvaughn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ttrack_0.1.0_1760637243811_0.11161118962362204"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-16T17:54:03.758Z","0.1.0":"2025-10-16T17:54:04.003Z","modified":"2025-10-16T17:54:04.235Z"},"maintainers":[{"name":"alan-vaughn","email":"alanjvaughn@gmail.com"}],"description":"A minimalist command-line time tracker","keywords":["cli","tui"],"author":{"name":"Alan Vaughn"},"license":"MIT","readme":"# TTrack\n\nA minimalist command-line time tracker with weekly goals. Track your time spent on various activities and monitor progress toward your weekly targets.\n\n## Features\n\n- Interactive terminal user interface (TUI)\n- Simple and clean design\n- Built with TypeScript and Ink\n\n## Prerequisites\n\n- Node.js 18 or higher\n\n## Installation\n\n### From npm (Recommended)\n\nInstall TTrack globally via npm:\n\n```bash\nnpm install -g ttrack\n```\n\nOnce installed, you can run TTrack from anywhere:\n\n```bash\nttrack\n```\n\n### From Source (Development)\n\nClone the repository and install dependencies:\n\n```bash\ngit clone <repository-url>\ncd ttrack\npnpm install\n```\n\n#### Testing Local Changes\n\nTo test the package locally before publishing:\n\n```bash\n# Build the project\npnpm run build\n\n# Link the package globally\nnpm link\n\n# Now you can run ttrack from anywhere\nttrack\n\n# When done testing, unlink\nnpm unlink -g ttrack\n```\n\n## Configuration\n\nTTrack supports optional configuration to customize where your database file is stored.\n\n### Database Location\n\nBy default, TTrack stores its database (`ttrack.sqlite`) in the current working directory. To specify a custom location, create a configuration file:\n\n1. Create the configuration directory:\n\n   ```bash\n   mkdir -p ~/.ttrack\n   ```\n\n2. Create the config file at `~/.ttrack/config.json`:\n\n   ```json\n   {\n     \"databaseFileLocation\": \"/path/to/your/ttrack.sqlite\"\n   }\n   ```\n\n3. Replace `/path/to/your/ttrack.sqlite` with your desired database location.\n\nIf the config file doesn't exist or the `databaseFileLocation` key is not set, TTrack will use the default location (current directory).\n\n## Development\n\nRun the application locally in development mode:\n\n```bash\npnpm run dev\n```\n\nThis will start the TTrack TUI where you can:\n\n- Navigate the menu using arrow keys (↑/↓)\n- Select options with Enter\n- Quick quit with 'q' key\n\n## Building\n\nTo build the TypeScript code:\n\n```bash\npnpm run build\n```\n\nTo run the built version:\n\n```bash\npnpm start\n```\n\n## Type Checking\n\nRun TypeScript type checking:\n\n```bash\npnpm typecheck\n```\n\n## Project Structure\n\n```\nttrack/\n├── src/\n│   ├── cli/           # CLI entry point\n│   │   └── index.tsx\n│   └── ui/            # UI components\n│       ├── App.tsx    # Main application component\n│       └── components/\n│           └── Banner.tsx\n├── package.json\n└── tsconfig.json\n```\n\n## License\n\nMIT License - See [LICENSE](LICENSE) file for details\n","readmeFilename":"README.md","_rev":"1-7cf4f1cfa9d305b54975314aac0c8f05"}