{"_id":"@dzackgarza/improved-todowrite","name":"@dzackgarza/improved-todowrite","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dzackgarza/improved-todowrite","scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"dependencies":{"@opencode-ai/plugin":"^1.2.20"},"module":"./src/index.ts","version":"0.1.0","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dzackgarza/improved-todowrite.git"},"keywords":["opencode","plugin"],"gitHead":"f6161d9f07182d5dba3e201e911f4b0e1ceec1f9","_id":"@dzackgarza/improved-todowrite@0.1.0","description":"[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I57UKJ8)","bugs":{"url":"https://github.com/dzackgarza/improved-todowrite/issues"},"homepage":"https://github.com/dzackgarza/improved-todowrite#readme","_nodeVersion":"25.6.1","_npmVersion":"11.9.0","dist":{"integrity":"sha512-daMrWmGUijMTTWSSEJfLMAUaE3FHxn/4uQLnSPg4/wu6eyTLHm+j1hE0BQyoe8lAsfJ0uKk0axa8VpwG0YYEyQ==","shasum":"9e1a1e9de4359a8872c88ae43a2eb1a87ccc26df","tarball":"https://registry.npmjs.org/@dzackgarza/improved-todowrite/-/improved-todowrite-0.1.0.tgz","fileCount":20,"unpackedSize":255182,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCX3zsRswcyZ1wwgLCjBuY6cEsu1VSD9XAQLgZUIh38eQIhAOQxn4UCqmhzzcHTVyRpSE+Ot7XVzH3EU/piKUrVejUr"}]},"_npmUser":{"name":"dzackgarza","email":"dzackgarza@gmail.com"},"directories":{},"maintainers":[{"name":"dzackgarza","email":"dzackgarza@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/improved-todowrite_0.1.0_1773137211619_0.9364092809534521"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-10T10:06:51.549Z","0.1.0":"2026-03-10T10:06:51.767Z","modified":"2026-03-10T10:06:51.934Z"},"maintainers":[{"name":"dzackgarza","email":"dzackgarza@gmail.com"}],"description":"[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I57UKJ8)","homepage":"https://github.com/dzackgarza/improved-todowrite#readme","keywords":["opencode","plugin"],"repository":{"type":"git","url":"git+https://github.com/dzackgarza/improved-todowrite.git"},"bugs":{"url":"https://github.com/dzackgarza/improved-todowrite/issues"},"readme":"[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I57UKJ8)\n\n\n# improved-todowrite\n\nThis OpenCode plugin stores a hierarchical todo tree for each session and exposes tree-native read/write tools.\n\n## Install\n\nInstall the plugin from its directory:\n\n```bash\ncd /home/dzack/opencode-plugins/improved-todowrite\njust install\n```\n\nRegister the plugin in OpenCode via `file:`:\n\n```json\n{\n  \"plugin\": [\n    \"file:///home/dzack/opencode-plugins/improved-todowrite/src/index.ts\"\n  ]\n}\n```\n\nSee the sample local configuration: [`improved-todowrite/.config/opencode.json`](/home/dzack/opencode-plugins/improved-todowrite/.config/opencode.json).\n\n### Verification\n\nVerification uses the package `.envrc` to export `OPENCODE_CONFIG`. To verify the installation locally:\n\n```bash\ncd /home/dzack/opencode-plugins/improved-todowrite\ndirenv allow\ntimeout 30 /home/dzack/.opencode/bin/opencode run --agent Minimal \\\n  \"Use improved_todowrite to write one top-level todo with id=phase-1, content='Ship persistence layer', status='pending', priority='high'. Then use improved_todoread. After both tool calls finish, reply with ONLY READY.\"\n```\n\nIf you do not use `direnv`, run the following:\n\n```bash\nOPENCODE_CONFIG=/home/dzack/opencode-plugins/improved-todowrite/.config/opencode.json \\\n  timeout 30 /home/dzack/.opencode/bin/opencode run --agent Minimal \\\n  \"Use improved_todowrite to write one top-level todo with id=phase-1, content='Ship persistence layer', status='pending', priority='high'. Then use improved_todoread. After both tool calls finish, reply with ONLY READY.\"\n```\n\n### MCP Installation\n\n```json\n{\n  \"mcp\": {\n    \"improved-todowrite\": {\n      \"type\": \"local\",\n      \"command\": [\n        \"uvx\",\n        \"--from\",\n        \"git+https://github.com/dzack/opencode-plugins#subdirectory=improved-todowrite/mcp-server\",\n        \"improved-todowrite-mcp\"\n      ]\n    }\n  }\n}\n```\n\n## Tool Names\n\n### `improved_todowrite`\n\nUse this tool to write or replace the hierarchical todo tree for the current session. Prefer this over flat todos for complex work involving phases, tasks, and subtasks.\n\n#### Schema\n\n- `todos`: `TodoTreeNode[]`\n\n**TodoTreeNode:**\n- `id`: string\n- `content`: string\n- `status`: string\n- `priority`: string\n- `children`: `TodoTreeNode[]`\n\n### `improved_todoread`\n\nUse this tool to read the hierarchical todo tree for the current session. This helps recover the current plan structure before extending or updating it.\n\n#### Schema\n\n- `{}`\n\n## Dependencies\n\n- Runtime: Bun, SQLite via `bun:sqlite`, `@opencode-ai/plugin`\n- MCP wrapper: Python 3.11+, `uv`, `fastmcp`\n- Shared helper: [`mcp-shim/run-tool.ts`](/home/dzack/opencode-plugins/mcp-shim/run-tool.ts)\n\n## Checks\n\n```bash\njust typecheck\njust test\njust mcp-test\n```\n","readmeFilename":"README.md","_rev":"1-a598273a26b17ecafba4a50f4b182c7c"}