{"_id":"@adithya-naik/cmd-tracker","_rev":"5-695cc00372352041544dbf5464a9819d","name":"@adithya-naik/cmd-tracker","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@adithya-naik/cmd-tracker","version":"1.0.0","keywords":["terminal","commands","tracker","cli","developer-tool","learning","revision","shell-hook","history","productivity"],"author":{"name":"Jatoth Adithya Naik","email":"jatothadithyanaik@gmail.com"},"license":"MIT","_id":"@adithya-naik/cmd-tracker@1.0.0","maintainers":[{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"}],"homepage":"https://github.com/adithya-naik/cmd-tracker#readme","bugs":{"url":"https://github.com/adithya-naik/cmd-tracker/issues"},"bin":{"tracker":"bin/tracker.js"},"dist":{"shasum":"e5232e987e048ad5512c146c72045a1024f1fe49","tarball":"https://registry.npmjs.org/@adithya-naik/cmd-tracker/-/cmd-tracker-1.0.0.tgz","fileCount":18,"integrity":"sha512-q6Ps5zGY0ugi9n50vDbFTjRhvFjXDjvsiplT9uHdHU41Clbz+n1cwux8MYz3CSkiVRHg8zIs24bjURrpHH/qyw==","signatures":[{"sig":"MEQCIHME7n49xOT+GV3ZAMWfkdXDsZ7CF8jl4NL76SDnIbCWAiAKq2MWveNbrjvA7B8vdR2ED/howZaa6Lhn+SgsABgYoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58727},"main":"src/index.js","engines":{"node":">=14.0.0"},"gitHead":"0049722ae8437650a52eb17471df9bb95f15fa0f","scripts":{"test":"echo \"No tests yet\""},"_npmUser":{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"},"repository":{"url":"git+https://github.com/adithya-naik/cmd-tracker.git","type":"git"},"_npmVersion":"10.9.2","description":"📟 A developer tool that auto-captures, categorizes and saves terminal commands per project for easy revision","directories":{},"_nodeVersion":"22.14.0","dependencies":{"chalk":"^4.1.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cmd-tracker_1.0.0_1780061871086_0.16079724975014353","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@adithya-naik/cmd-tracker","version":"1.0.2","keywords":["terminal","commands","tracker","cli","developer-tool","learning","revision","shell-hook","history","productivity"],"author":{"name":"Jatoth Adithya Naik","email":"jatothadithyanaik@gmail.com"},"license":"MIT","_id":"@adithya-naik/cmd-tracker@1.0.2","maintainers":[{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"}],"homepage":"https://github.com/adithya-naik/cmd-tracker#readme","bugs":{"url":"https://github.com/adithya-naik/cmd-tracker/issues"},"bin":{"tracker":"bin/tracker.js"},"dist":{"shasum":"b6c93b0fecc9e43de50f12e85e1f93930ab2b0c0","tarball":"https://registry.npmjs.org/@adithya-naik/cmd-tracker/-/cmd-tracker-1.0.2.tgz","fileCount":25,"integrity":"sha512-I6eQt3rsGeHg+Fz3cc7jVNIfQwt1cgHPBMkk+2VqfcOd2haP1Jufvdaq4OINoZQMEyH8O4/JjRDKWuzSTRAxHw==","signatures":[{"sig":"MEUCICvZLPndcg0w1hfSsQmNnkXTlX7eEhfdpq4TeEJt9KjqAiEA+K0NryJ7ybcYXwY3n8BGs5nxDrzOXdVpr61TM4zw2xE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77233},"main":"src/index.js","engines":{"node":">=14.0.0"},"gitHead":"54b89641995b8a562aec5708ca95aa8a132dfb4d","scripts":{"test":"echo \"No tests yet\""},"_npmUser":{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"},"repository":{"url":"git+https://github.com/adithya-naik/cmd-tracker.git","type":"git"},"_npmVersion":"10.8.2","description":"📟 A developer tool that auto-captures, categorizes and saves terminal commands per project for easy revision","directories":{},"_nodeVersion":"20.20.2","dependencies":{"chalk":"^4.1.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cmd-tracker_1.0.2_1782583412015_0.5007517435240141","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@adithya-naik/cmd-tracker","version":"1.0.3","keywords":["terminal","commands","tracker","cli","developer-tool","learning","revision","shell-hook","history","productivity"],"author":{"name":"Jatoth Adithya Naik","email":"jatothadithyanaik@gmail.com"},"license":"MIT","_id":"@adithya-naik/cmd-tracker@1.0.3","maintainers":[{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"}],"homepage":"https://github.com/adithya-naik/cmd-tracker#readme","bugs":{"url":"https://github.com/adithya-naik/cmd-tracker/issues"},"bin":{"tracker":"bin/tracker.js"},"dist":{"shasum":"550313376eb24615248ae5429530866901361298","tarball":"https://registry.npmjs.org/@adithya-naik/cmd-tracker/-/cmd-tracker-1.0.3.tgz","fileCount":27,"integrity":"sha512-tIH8gSudI+DQ9bV8L1wzgtw2tZC+ZvB7jtkidCJwS6DMdeTpADjlmgag+2HBBeDMdd+dg/G3lKgyh/lfCXm/LQ==","signatures":[{"sig":"MEUCIDVHQBtqQEB2SGo34sYSogqWA0HfdB6593WED7yP9u0/AiEA2s4OUCh9wpx3OkE6M+CDz3ZIMQg9hsLZDXbOzKYGmNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78406},"main":"src/index.js","engines":{"node":">=14.0.0"},"gitHead":"a608a99a9da0218acc7b4b1d1d3ad451e93238f1","scripts":{"lint":"eslint .","test":"echo \"No tests yet\"","prepare":"husky install","lint:fix":"eslint . --fix"},"_npmUser":{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"},"repository":{"url":"git+https://github.com/adithya-naik/cmd-tracker.git","type":"git"},"_npmVersion":"10.8.2","description":"📟 A developer tool that auto-captures, categorizes and saves terminal commands per project for easy revision","directories":{},"lint-staged":{"*.js":["eslint --fix"]},"_nodeVersion":"20.20.2","dependencies":{"chalk":"^4.1.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","lint-staged":"^16.4.0"},"_npmOperationalInternal":{"tmp":"tmp/cmd-tracker_1.0.3_1782678773834_0.06309826724646683","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@adithya-naik/cmd-tracker","version":"1.0.4","keywords":["terminal","commands","tracker","cli","developer-tool","learning","revision","shell-hook","history","productivity"],"author":{"name":"Jatoth Adithya Naik","email":"jatothadithyanaik@gmail.com"},"license":"MIT","_id":"@adithya-naik/cmd-tracker@1.0.4","maintainers":[{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"}],"homepage":"https://github.com/adithya-naik/cmd-tracker#readme","bugs":{"url":"https://github.com/adithya-naik/cmd-tracker/issues"},"bin":{"tracker":"bin/tracker.js"},"dist":{"shasum":"0871a8725dbf496b9cd853ff913ba02f6de7c4d6","tarball":"https://registry.npmjs.org/@adithya-naik/cmd-tracker/-/cmd-tracker-1.0.4.tgz","fileCount":28,"integrity":"sha512-fVTyeUHdTIdloa9DFtMx0IcbfTLRyGl6gPqVmFAQnPAFg2TMJHomRb+o7lVDhuBgPu9DBHzabavxYGMeAq3qCQ==","signatures":[{"sig":"MEYCIQDQfJakt619DVw9+fpQwJMhcAqe9tHhRxcPv/LCvBiDxwIhAI40R6Jz+AbX50mPzdHv6Aht4VGV8bL+SXAqISMsJJHu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82695},"main":"src/index.js","engines":{"node":">=14.0.0"},"gitHead":"24645af6edd3ccc1d764b9aee3f1ed708e570548","scripts":{"lint":"eslint .","test":"echo \"No tests yet\"","prepare":"husky install","lint:fix":"eslint . --fix"},"_npmUser":{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"},"repository":{"url":"git+https://github.com/adithya-naik/cmd-tracker.git","type":"git"},"_npmVersion":"10.8.2","description":"📟 A developer tool that auto-captures, categorizes and saves terminal commands per project for easy revision","directories":{},"lint-staged":{"*.js":["eslint --fix"]},"_nodeVersion":"20.20.2","dependencies":{"chalk":"^4.1.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","lint-staged":"^16.4.0"},"_npmOperationalInternal":{"tmp":"tmp/cmd-tracker_1.0.4_1782845999852_0.09832626137127654","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@adithya-naik/cmd-tracker","version":"1.0.5","description":"📟 A developer tool that auto-captures, categorizes and saves terminal commands per project for easy revision","main":"src/index.js","bin":{"tracker":"bin/tracker.js"},"scripts":{"test":"echo \"No tests yet\"","lint":"eslint .","lint:fix":"eslint . --fix","prepare":"husky install"},"repository":{"type":"git","url":"git+https://github.com/adithya-naik/cmd-tracker.git"},"keywords":["terminal","commands","tracker","cli","developer-tool","learning","revision","shell-hook","history","productivity"],"author":{"name":"Jatoth Adithya Naik","email":"jatothadithyanaik@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/adithya-naik/cmd-tracker/issues"},"homepage":"https://github.com/adithya-naik/cmd-tracker#readme","engines":{"node":">=14.0.0"},"dependencies":{"chalk":"^4.1.2","commander":"^11.0.0"},"devDependencies":{"@eslint/js":"^10.0.1","eslint":"^10.6.0","globals":"^17.7.0","husky":"^9.1.7","lint-staged":"^16.4.0"},"lint-staged":{"*.js":["eslint --fix"]},"_id":"@adithya-naik/cmd-tracker@1.0.5","gitHead":"afbdf58e02476e89090fd90570acb48c72acdb61","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-aad+nCqsnjksVUixnCv0qGq7Wb46QQOo4BRO9ZsEBNh/Z9R8XJO5lvCNwV+Cou0YyK/NbgFUNqbtAbgyoXMqnQ==","shasum":"ec0bcee9a4e4a59f7836a22d747980ccf6dbdf8c","tarball":"https://registry.npmjs.org/@adithya-naik/cmd-tracker/-/cmd-tracker-1.0.5.tgz","fileCount":30,"unpackedSize":101755,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDPxKboVGqH0rhJiof4/GCJypb+2osGE0IWNmjQbaYTeAIgDwm9xsXXOIyCMW7k5Dhwz135q9FTF03Ni+hDAGEAfqs="}]},"_npmUser":{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"},"directories":{},"maintainers":[{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cmd-tracker_1.0.5_1785142933013_0.14236814454324143"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T13:37:50.974Z","modified":"2026-07-27T09:02:13.470Z","1.0.0":"2026-05-29T13:37:51.283Z","1.0.2":"2026-06-27T18:03:32.142Z","1.0.3":"2026-06-28T20:32:53.973Z","1.0.4":"2026-06-30T18:59:59.997Z","1.0.5":"2026-07-27T09:02:13.183Z"},"bugs":{"url":"https://github.com/adithya-naik/cmd-tracker/issues"},"author":{"name":"Jatoth Adithya Naik","email":"jatothadithyanaik@gmail.com"},"license":"MIT","homepage":"https://github.com/adithya-naik/cmd-tracker#readme","keywords":["terminal","commands","tracker","cli","developer-tool","learning","revision","shell-hook","history","productivity"],"repository":{"type":"git","url":"git+https://github.com/adithya-naik/cmd-tracker.git"},"description":"📟 A developer tool that auto-captures, categorizes and saves terminal commands per project for easy revision","maintainers":[{"name":"adithya-naik","email":"jatothadithyanaik@gmail.com"}],"readme":"<div align=\"center\">\n\n# 📟 cmd-tracker\n\n### A developer tool that auto-captures, categorizes and saves terminal commands per project for easy revision\n\n[![npm version](https://img.shields.io/npm/v/@adithya-naik/cmd-tracker.svg)](https://www.npmjs.com/package/@adithya-naik/cmd-tracker)\n[![npm downloads](https://img.shields.io/npm/dm/@adithya-naik/cmd-tracker.svg)](https://www.npmjs.com/package/@adithya-naik/cmd-tracker)\n[![npm total downloads](https://img.shields.io/npm/dt/@adithya-naik/cmd-tracker.svg)](https://www.npmjs.com/package/@adithya-naik/cmd-tracker)\n[![GitHub stars](https://img.shields.io/github/stars/adithya-naik/cmd-tracker.svg)](https://github.com/adithya-naik/cmd-tracker/stargazers)\n[![GitHub issues](https://img.shields.io/github/issues/adithya-naik/cmd-tracker.svg)](https://github.com/adithya-naik/cmd-tracker/issues)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js](https://img.shields.io/badge/Node.js-v14%2B-green.svg)](https://nodejs.org)\n\n</div>\n\n---\n\n## 🎯 What is cmd-tracker?\n\n**cmd-tracker** is an npm package that automatically captures, categorizes and saves every terminal command you type in a project.\n\nPerfect for:\n- 🎓 **Students** learning Linux, Git, Docker, Angular etc.\n- 👨‍💻 **Developers** who want to track commands used in a project\n- 📝 **Anyone** who wants to revise terminal commands they've used\n\n### How it works\n\n```\nYou work normally in terminal\n         ↓\nCommands auto-captured in background\n         ↓\nSaved to .tracker/commands.json in your project\n         ↓\nRun tracker list → see entire command history\n```\n\n---\n\n## 📦 Installation\n\nInstall in your learning/project repo:\n\n```bash\nnpm install @adithya-naik/cmd-tracker\n```\n\n---\n\n## 🚀 Quick Start\n\n**Step 1 — Initialize in your repo:**\n```bash\nnpx tracker init\n```\n\n**Step 2 — Enable automatic capture:**\n```bash\nnpx tracker hook\nsource ~/.bashrc                # bash\nsource ~/.zshrc                 # zsh (Mac)\nsource ~/.config/fish/config.fish  # fish\n```\n\n**Step 3 — Work normally! Then revise:**\n```bash\nnpx tracker list\n```\n\nThat's it! Every command you type is now saved automatically 🪄\n\n---\n\n## 📋 All Commands\n\n| Command | Description |\n|---|---|\n| `tracker init` | Initialize tracker in your project |\n| `tracker hook` | Enable automatic command capture |\n| `tracker unhook` | Disable automatic command capture |\n| `tracker list` | Show all saved commands |\n| `tracker list <category>` | Filter by category |\n| `tracker search <query>` | Search through commands |\n| `tracker stats` | Show statistics by category |\n| `tracker favorite <cmd>` | Toggle command as favorite |\n| `tracker favorites` | Show all favorites |\n| `tracker export` | Export as JSON |\n| `tracker export --csv` | Export as CSV (opens in Excel) |\n| `tracker clear` | Clear all commands |\n| `tracker clear <category>` | Clear specific category |\n\n---\n\n## 🗂️ Categories\n\nCommands are automatically categorized into:\n\n| Category | Commands |\n|---|---|\n| 🔀 `git` | git status, git push, git commit... |\n| 📦 `npm` | npm install, npx, npm run... |\n| 🐳 `docker` | docker ps, docker build... |\n| 🐧 `linux` | ls, cd, mkdir, chmod... |\n| 🟢 `node` | node, nodemon... |\n| 🔴 `angular` | ng new, ng serve, ng generate... |\n| 🐍 `python` | python, pip install... |\n| 🔷 `go` | go build, go run, go get... |\n| ☕ `java` | java, javac, mvn, gradle... |\n| 🦀 `rust` | cargo build, cargo run, rustc... |\n| 🔷 `dotnet` | dotnet run, dotnet build... |\n| ☸️ `kubernetes` | kubectl get pods, helm install... |\n| 🗄️ `database` | mysql, psql, mongosh, redis-cli... |\n| ☁️ `cloud` | aws s3 ls, gcloud, az login... |\n| 📥 `packageManagers` | yarn, pnpm, brew, snap... |\n| 🧪 `testing` | jest, vitest, playwright, cypress... |\n| 🤖 `ai` | claude, gemini, opencode, aider... |\n| 📌 `others` | everything else |\n\n---\n\n## 💡 Usage Examples\n\n**Filter by category:**\n```bash\ntracker list git      # see all git commands\ntracker list linux    # see all linux commands\ntracker list npm      # see all npm commands\n```\n\n**Search commands:**\n```bash\ntracker search \"install\"   # find all install commands\ntracker search \"git\"       # find all git related commands\n```\n\n**Save favorites for quick revision:**\n```bash\ntracker favorite \"git rebase -i HEAD~3\"\ntracker favorites   # see all starred commands\n```\n\n**Export for sharing/backup:**\n```bash\ntracker export          # creates tracker-export.json\ntracker export --csv    # creates tracker-export.csv (opens in Excel!)\n```\n\n---\n\n## 📁 Project Structure\n\nAfter running `tracker init`, a `.tracker` folder is created:\n\n```\nyour-project/\n├── .tracker/\n│   └── commands.json   ← your personal command history\n├── your-files...\n└── package.json\n```\n\n> ✅ `.tracker/` is automatically added to `.gitignore`\n> Your command history stays local — never pushed to GitHub\n## 🔒 Automatic Secret Redaction\n![alt text](project-flow.png)\n\nSecurity is a core priority of **cmd-tracker**. Before any command is written to `.tracker/commands.json`, it is automatically scanned for sensitive information.\n\nIf a command contains credentials such as API keys, access tokens passwords, or private keys, **the sensitive value or credential segment is replaced with `[REDACTED]`**, while the rest of the command is preserved. This keeps your command history useful without exposing secrets.\n\n### Example\n\n#### AWS example — Before\n\n```bash\nexport AWS_SECRET_ACCESS_KEY=mySecretKey\n```\n\n#### AWS example — Saved as\n\n```bash\nexport AWS_SECRET_ACCESS_KEY=[REDACTED]\n```\n\nAnother example:\n\n#### curl example — Before\n\n```bash\ncurl -u sampleuser:examplePass https://api.example.com\n```\n\n#### curl example — Saved as\n\n```bash\ncurl -u [REDACTED] https://api.example.com\n```\n\n---\n\n### 🛡️ Supported Secret Types\n\nThe sanitizer automatically detects and redacts:\n\n- AWS credentials (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, etc.)\n- API keys\n- Access tokens\n- Authentication tokens\n- Passwords\n- Bearer tokens\n- HTTP Basic Authentication credentials\n- `curl -u` / `curl --user` credentials\n- GitHub Personal Access Tokens\n- GitLab Personal Access Tokens\n- Slack tokens\n- SSH private keys\n- PEM private keys\n\n---\n\n### ⚠️ Commands That Are Not Saved\n\nIf a command consists **entirely of sensitive information** (for example, only a GitHub token or a private key), **cmd-tracker will not save it**.\n\nExample:\n\n**Input**\n\n```text\nghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n```\n\n**Result**\n\n```text\nCommand not saved (contains only sensitive data)\n```\n\n---\n\n### ✅ Why This Matters\n\nThis feature helps prevent accidental exposure of secrets while keeping your command history clean and useful.\n\n- 🔒 Prevents credentials from being stored in `.tracker/commands.json`\n- 📖 Preserves the readable parts of commands for future reference\n- 🚫 Avoids saving commands that contain nothing except sensitive information\n- 💻 Works automatically—no configuration required\n\n## 🖥️ Platform Support\n\n| Platform | Support |\n|---|---|\n| Mac (zsh) | ✅ Full support |\n| Linux (bash) | ✅ Full support |\n| Windows (Git Bash) | ✅ Supported |\n| Windows (PowerShell) | ⚠️ Manual save only |\n| Fish | ✅ Full support |\n\n> Windows CMD/PowerShell users: use `tracker save \"command\"` manually\n> or use Git Bash / WSL for automatic capture\n\n---\n\n## 🐟 Fish Shell Support\n\n### Install Fish Shell\n\n**Mac:**\n```bash\nbrew install fish\n```\n\n**Ubuntu/Debian:**\n```bash\nsudo apt install fish\n```\n\n**Fedora:**\n```bash\nsudo dnf install fish\n```\n\n**Windows (WSL):**\n```bash\nsudo apt install fish\n```\n\n### Setup tracker in Fish\n\n```bash\nnpx tracker init\nnpx tracker hook\nsource ~/.config/fish/config.fish\n```\n\nThat's it! Every command you type in fish will now be saved automatically! 🎉\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Feel free to:\n- Open an issue for bugs or feature requests\n- Submit a pull request\n\n---\n\n## 📄 License\n\nMIT © [Jatoth Adithya Naik](https://github.com/adithya-naik)\n\n---\n\n<div align=\"center\">\n\n⭐ **Star this repo if you find it useful!**\n\n[GitHub](https://github.com/adithya-naik/cmd-tracker) • [npm](https://www.npmjs.com/package/@adithya-naik/cmd-tracker) • [Issues](https://github.com/adithya-naik/cmd-tracker/issues)\n\n</div\n","readmeFilename":"README.md"}