{"_id":"@abhir/aistate","name":"@abhir/aistate","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@abhir/aistate","version":"1.0.0","description":"CLI for tracking AI-assisted development state inside a repository.","license":"MIT","type":"commonjs","bin":{"aistate":"bin/aistate.js"},"main":"dist/index.js","scripts":{"build":"tsc -p tsconfig.json","dev":"tsc -w -p tsconfig.json","start":"node ./bin/aistate.js"},"keywords":["cli","ai","state","typescript"],"engines":{"node":">=20"},"dependencies":{"chalk":"^5.6.2","clipboardy":"^5.0.0","commander":"^14.0.3"},"devDependencies":{"@types/node":"^25.6.0","typescript":"^6.0.3"},"pkg":{"targets":["node18-win-x64","node18-linux-x64","node18-macos-x64"]},"publishConfig":{"access":"public"},"_id":"@abhir/aistate@1.0.0","gitHead":"24bf674962783d1e5669ca83dab2cda2361ec179","_nodeVersion":"22.22.2","_npmVersion":"10.2.2","dist":{"integrity":"sha512-/y4CZbnPCDCiS3wR+Yl+i0SSGiTiUkOObv4+VsLLhIigl38H0giO4s6Fnk0TgzuaZ8RDolICZROsQVcDDAMSLA==","shasum":"8ac1cce22ba4a2cf972cddece6152476c459727e","tarball":"https://registry.npmjs.org/@abhir/aistate/-/aistate-1.0.0.tgz","fileCount":23,"unpackedSize":48694,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCD/btNv/AUmLADSjeYUumNTrj1JfvfWHBkuNi0HHCnjwIhAKwveGV0s9v2BWCQVL8dpLMoa6hsI+i9F4TQSYvparqB"}]},"_npmUser":{"name":"abhir","email":"abhiranand22@gmail.com"},"directories":{},"maintainers":[{"name":"abhir","email":"abhiranand22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aistate_1.0.0_1777559069016_0.676896010196447"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-30T14:24:28.901Z","1.0.0":"2026-04-30T14:24:29.152Z","modified":"2026-04-30T14:24:29.368Z"},"maintainers":[{"name":"abhir","email":"abhiranand22@gmail.com"}],"description":"CLI for tracking AI-assisted development state inside a repository.","keywords":["cli","ai","state","typescript"],"license":"MIT","readme":"# aistate 🧠\r\n\r\n> Your AI agents forget everything. aistate makes them remember.\r\n\r\n<p align=\"center\">\r\n  <a href=\"https://www.npmjs.com/package/aistate\"><img src=\"https://img.shields.io/npm/v/aistate.svg\" /></a>\r\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" /></a>\r\n  <a href=\"CONTRIBUTING.md\"><img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" /></a>\r\n</p>\r\n\r\n---\r\n\r\n## 😩 The Problem\r\n\r\nYou switch AI tools → context is gone.\r\n\r\n- Cursor forgets after token limit\r\n- Claude has no idea what you built\r\n- ChatGPT starts from zero\r\n\r\nYou re-explain everything. **Every time.**\r\n\r\n---\r\n\r\n## 🚀 The Solution\r\n\r\n```bash\r\naistate init\r\naistate add \"build Stripe webhook\"\r\naistate done T1\r\naistate log \"using idempotency keys on Stripe\"\r\naistate handoff\r\n```\r\n\r\n👉 Paste into any AI → continue instantly. No re-explaining.\r\n\r\n---\r\n\r\n## 🔥 See It In Action\r\n\r\n```\r\n$ aistate handoff\r\n\r\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n        🤖 AISTATE HANDOFF PROMPT\r\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n\r\nPROJECT: ecommerce-backend\r\nLAST UPDATED: 2 hours ago\r\n\r\n▶ CURRENT FOCUS: Stripe webhook endpoint\r\n\r\n✅ COMPLETED:\r\n  ✓ [T1] Spring Boot setup\r\n  ✓ [T2] JWT auth (RS256)\r\n  ✓ [T3] Product CRUD API\r\n\r\n⏳ REMAINING:\r\n  → [T4] Stripe webhook endpoint\r\n     [T5] Order status updates\r\n     [T6] Email notifications\r\n\r\n📝 DECISIONS:\r\n  [2026-04-29 14:32] RS256 JWT, secret in .env\r\n  [2026-04-29 15:01] Stripe idempotency keys on all calls\r\n  [2026-04-29 16:45] DO NOT refactor auth — it is complete\r\n\r\n▶ NEXT TASK: \"Stripe webhook endpoint\"\r\n  Continue from here. Do not redo completed tasks.\r\n\r\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n✓ Copied to clipboard. Paste into your AI agent.\r\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n```\r\n\r\n---\r\n\r\n## 📦 Install\r\n\r\n### 🪟 Windows (PowerShell) — No Node Required\r\n\r\n```powershell\r\nInvoke-WebRequest -Uri \"https://github.com/Abhir22/aistate/releases/latest/download/aistate-win.exe\" -OutFile \"aistate.exe\"\r\n```\r\n\r\nAdd to PATH so you can run it from anywhere:\r\n\r\n```powershell\r\nmkdir C:\\aistate\r\nMove-Item aistate.exe C:\\aistate\\\r\nsetx PATH \"$env:PATH;C:\\aistate\"\r\n```\r\n\r\nRestart terminal, then:\r\n\r\n```powershell\r\naistate init\r\n```\r\n\r\n---\r\n\r\n### 🐧 Linux — No Node Required\r\n\r\n```bash\r\ncurl -L https://github.com/Abhir22/aistate/releases/latest/download/aistate-linux -o aistate\r\nchmod +x aistate\r\nsudo mv aistate /usr/local/bin/\r\n```\r\n\r\n---\r\n\r\n### 🍎 macOS — No Node Required\r\n\r\n```bash\r\ncurl -L https://github.com/Abhir22/aistate/releases/latest/download/aistate-macos -o aistate\r\nchmod +x aistate\r\nsudo mv aistate /usr/local/bin/\r\n```\r\n\r\n---\r\n\r\n### Via npm (if you have Node.js)\r\n\r\n```bash\r\nnpm install -g aistate\r\n```\r\n\r\n---\r\n\r\n## 🧰 Commands\r\n\r\n| Command | Description |\r\n|---|---|\r\n| `aistate init` | Create `.aistate/` in your project |\r\n| `aistate add \"task\"` | Add a task |\r\n| `aistate done <id>` | Mark task complete |\r\n| `aistate log \"note\"` | Save a decision or note |\r\n| `aistate focus \"text\"` | Set what you're working on now |\r\n| `aistate status` | Show all tasks + timestamps |\r\n| `aistate handoff` | Generate full context prompt + copy to clipboard |\r\n\r\n---\r\n\r\n## 🌍 Works Everywhere\r\n\r\n- Any AI tool — Cursor, Claude, ChatGPT, Copilot, Windsurf, Trae ✅\r\n- Any IDE ✅\r\n- Any language — Java, Python, Node.js, Go, Rust, PHP ✅\r\n\r\nNo integration needed. aistate only touches the `.aistate/` folder. Your code is never modified.\r\n\r\n---\r\n\r\n## 📂 What Gets Stored\r\n\r\n```\r\nyour-project/\r\n├── src/                 ← your code, untouched\r\n└── .aistate/\r\n    ├── state.json       ← tasks, IDs, timestamps, currentFocus\r\n    ├── logs.md          ← your decisions and notes\r\n    ├── context.md       ← optional project overview\r\n    └── counter.json     ← internal ID tracking\r\n```\r\n\r\nEverything is plain text. Readable by humans and AI agents alike.\r\n\r\n---\r\n\r\n## ⚡ Real Workflow\r\n\r\n```bash\r\n# Monday — start feature in Cursor\r\naistate init\r\naistate add \"build user authentication\"\r\naistate add \"add JWT middleware\"\r\naistate add \"write auth tests\"\r\naistate focus \"building user authentication\"\r\n\r\n# Cursor token limit hits — switch to Claude\r\naistate done T1\r\naistate log \"using bcrypt with 12 salt rounds\"\r\naistate handoff\r\n# → paste prompt into Claude → continues instantly\r\n\r\n# Wednesday — open Windsurf, same project\r\naistate handoff\r\n# → paste → continue → no re-explaining\r\n```\r\n\r\n---\r\n\r\n## 💾 Commit It or Ignore It\r\n\r\n```bash\r\n# Personal use only\r\necho \".aistate/\" >> .gitignore\r\n\r\n# Share context with your team\r\ngit add .aistate/\r\ngit commit -m \"chore: add aistate project context\"\r\n```\r\n\r\n---\r\n\r\n## 🛣️ Roadmap\r\n\r\n- [x] Task tracking (add, done, status)\r\n- [x] Decision logging\r\n- [x] Handoff prompt generation + clipboard copy\r\n- [x] Relative timestamps (`just now`, `2h ago`)\r\n- [x] Binary distribution — Windows, Linux, macOS\r\n- [ ] `aistate undo` — revert last done\r\n- [ ] Project type auto-detection\r\n- [ ] VS Code extension\r\n\r\n---\r\n\r\n## 🤝 Contributing\r\n\r\nIssues and PRs are welcome.\r\n\r\n```bash\r\ngit clone https://github.com/Abhir22/aistate\r\ncd aistate\r\nnpm install\r\nnpm run build\r\nnode ./bin/aistate.js init\r\n```\r\n\r\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\r\n\r\n---\r\n\r\n## 📄 License\r\n\r\nMIT © [Abhir Anand](https://github.com/Abhir22)\r\n\r\n---\r\n\r\n<p align=\"center\">\r\n  Built for developers who use AI tools every day.<br/>\r\n  If this saves you time, give it a ⭐ — it helps more than you think.\r\n</p>","readmeFilename":"README.md","_rev":"1-3ee6dfcacdda5d09e905b45e08bc58e8"}