{"_id":"@adamguenther/noru","_rev":"5-95890ae8b96b6250d483899d94abc872","name":"@adamguenther/noru","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@adamguenther/noru","version":"0.1.0","keywords":["claude-code","ai","orchestration","agent","workflow","noru"],"author":{"name":"adamguenther"},"license":"MIT","_id":"@adamguenther/noru@0.1.0","maintainers":[{"name":"adamguenther","email":"adam.guenther@gmail.com"}],"homepage":"https://github.com/adamguenther/noru#readme","bugs":{"url":"https://github.com/adamguenther/noru/issues"},"bin":{"noru":"bin/install.js"},"dist":{"shasum":"7797f3baa488a51ce4f4517bd3a307c9d58fc62a","tarball":"https://registry.npmjs.org/@adamguenther/noru/-/noru-0.1.0.tgz","fileCount":69,"integrity":"sha512-sqdBBIO/cKDPq5T+bw/KF8ghPCg1lT7iBQldydn63bPNYXZJjC2vJzkAJ/M4+IyootFh5EgXmd5KQMHh/zWOlw==","signatures":[{"sig":"MEUCIDsp2rkdKvI/7t7pTH4JlQBzAlfNZCdO5ubJzb+DryaIAiEAwYIhncQfc8ajhvDo7jC8iJb0QxPnmciiMzK2mNsNOfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179118},"engines":{"node":">=20.0.0"},"gitHead":"ff56f226719e689ee6898e3d209821d410bf918d","_npmUser":{"name":"adamguenther","email":"adam.guenther@gmail.com"},"repository":{"url":"git+https://github.com/adamguenther/noru.git","type":"git"},"_npmVersion":"10.8.2","description":"Describe what you're doing. Noru routes to the right workflow.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/noru_0.1.0_1774837413939_0.015267970393358699","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@adamguenther/noru","version":"0.1.1","keywords":["claude-code","ai","orchestration","agent","workflow","noru"],"author":{"name":"adamguenther"},"license":"MIT","_id":"@adamguenther/noru@0.1.1","maintainers":[{"name":"adamguenther","email":"adam.guenther@gmail.com"}],"homepage":"https://github.com/adamguenther/noru#readme","bugs":{"url":"https://github.com/adamguenther/noru/issues"},"bin":{"noru":"bin/install.js"},"dist":{"shasum":"2bcef0c66e020e019ee9a1611b13f30f4216587e","tarball":"https://registry.npmjs.org/@adamguenther/noru/-/noru-0.1.1.tgz","fileCount":69,"integrity":"sha512-8in46vtule2OcmNvlAJS14up/n6sLpjOP+YO8o+2O+l75HsazxhM8H9KYExLiQLaCnvf4rbE714v6g/JPhvSWw==","signatures":[{"sig":"MEQCIEnjNRVaJXeQ9EWAAJUjwHncDu0OE24x4A0Bi1aOJEyRAiA72vH2nvyTWmI+++oHo+wqG/uMEBVNG8L/btiRfrdBNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179769},"engines":{"node":">=20.0.0"},"gitHead":"b16ae4380c42ee162b1e37e1aace4b17c1fe4931","_npmUser":{"name":"adamguenther","email":"adam.guenther@gmail.com"},"repository":{"url":"git+https://github.com/adamguenther/noru.git","type":"git"},"_npmVersion":"10.8.2","description":"Describe what you're doing. Noru routes to the right workflow.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/noru_0.1.1_1774840428497_0.11742587523443149","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@adamguenther/noru","version":"0.1.2","keywords":["claude-code","ai","orchestration","agent","workflow","noru"],"author":{"name":"adamguenther"},"license":"MIT","_id":"@adamguenther/noru@0.1.2","maintainers":[{"name":"adamguenther","email":"adam.guenther@gmail.com"}],"homepage":"https://github.com/adamguenther/noru#readme","bugs":{"url":"https://github.com/adamguenther/noru/issues"},"bin":{"noru":"bin/install.js"},"dist":{"shasum":"3bb2cbdb34faf3e6b9fbe97316bf4d98aa1c8e14","tarball":"https://registry.npmjs.org/@adamguenther/noru/-/noru-0.1.2.tgz","fileCount":68,"integrity":"sha512-LhpiNoNQdndQg6wDtFcPihMjlBHYMNVSfbhD3iw/2pTDkEzwsrSUoMNBRo4eYSH07cu3/hpeZrsnU3FdqUrWrA==","signatures":[{"sig":"MEQCICK0dJtb2DwTpudtgBD3TEuDfK63MhpoY5QwiaQn9zpuAiBr+oYRnioLJ6GTsOpHvOC1UHM4mmSH6sS6eniOTCNAmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178913},"engines":{"node":">=20.0.0"},"gitHead":"b958f9445e95e70e282b85a6b4e633d97049ec1f","_npmUser":{"name":"adamguenther","email":"adam.guenther@gmail.com"},"repository":{"url":"git+https://github.com/adamguenther/noru.git","type":"git"},"_npmVersion":"10.8.2","description":"Describe what you're doing. Noru routes to the right workflow.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/noru_0.1.2_1774880023216_0.5879164371402354","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@adamguenther/noru","version":"0.1.3","keywords":["claude-code","codex","opencode","pi-coding-agent","ai","orchestration","agent","workflow","noru"],"author":{"name":"adamguenther"},"license":"MIT","_id":"@adamguenther/noru@0.1.3","maintainers":[{"name":"adamguenther","email":"adam.guenther@gmail.com"}],"homepage":"https://github.com/adamguenther/noru#readme","bugs":{"url":"https://github.com/adamguenther/noru/issues"},"bin":{"noru":"bin/install.js"},"dist":{"shasum":"5530d3fef28750996bc13a7cb6803787b74ddee7","tarball":"https://registry.npmjs.org/@adamguenther/noru/-/noru-0.1.3.tgz","fileCount":72,"integrity":"sha512-VM3gk6L4FzGF6S1PcwL0a7PUVw8XzbwmDjXUA4Xsx4rT41j69GtEeDuVxceuOCjEhhm7RyMnh8v2VKfeLTPd5g==","signatures":[{"sig":"MEUCIQDHoTPM7fQDqyN/XG/kmPgbdDuhFIFE9hg0qx2vsaKBiwIgf6vDygoS4WV4hp4qYpaefUbpwRPqw1QTuBuWhrzjSug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211469},"engines":{"node":">=20.0.0"},"gitHead":"00493ad414313bd03d94230cee7f9b51e9470b6b","_npmUser":{"name":"adamguenther","email":"adam.guenther@gmail.com"},"repository":{"url":"git+https://github.com/adamguenther/noru.git","type":"git"},"_npmVersion":"11.9.0","description":"Describe what you're doing. Noru routes to the right workflow.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/noru_0.1.3_1779741046478_0.01944405955104367","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@adamguenther/noru","version":"0.1.4","description":"Describe what you're doing. Noru routes to the right workflow.","bin":{"noru":"bin/install.js"},"keywords":["claude-code","codex","opencode","pi-coding-agent","ai","orchestration","agent","workflow","noru"],"author":{"name":"adamguenther"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/adamguenther/noru.git"},"engines":{"node":">=20.0.0"},"gitHead":"00493ad414313bd03d94230cee7f9b51e9470b6b","_id":"@adamguenther/noru@0.1.4","bugs":{"url":"https://github.com/adamguenther/noru/issues"},"homepage":"https://github.com/adamguenther/noru#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-nJFmecnOAeo3LAJ5H87ervgptKZluBe3J08LZwL6dOeSvMGuCi8laDhrt9AAICPeEhyAmNbWUlvPeTr0IQozRQ==","shasum":"1f4e9176f181c685864799eab042988cfbc17759","tarball":"https://registry.npmjs.org/@adamguenther/noru/-/noru-0.1.4.tgz","fileCount":72,"unpackedSize":212171,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCZBw7AObE88AA9Iib4+R1QOUM/OVYEmukuBy8sQQYN4gIhAMPNyXCPzag1YaltVSpnLcwag0w4B8ndHWFbSI/n5Tlh"}]},"_npmUser":{"name":"adamguenther","email":"adam.guenther@gmail.com"},"directories":{},"maintainers":[{"name":"adamguenther","email":"adam.guenther@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/noru_0.1.4_1779741677220_0.4724274622118747"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T02:23:33.876Z","modified":"2026-05-25T20:41:17.493Z","0.1.0":"2026-03-30T02:23:34.108Z","0.1.1":"2026-03-30T03:13:48.634Z","0.1.2":"2026-03-30T14:13:43.357Z","0.1.3":"2026-05-25T20:30:46.629Z","0.1.4":"2026-05-25T20:41:17.378Z"},"bugs":{"url":"https://github.com/adamguenther/noru/issues"},"author":{"name":"adamguenther"},"license":"MIT","homepage":"https://github.com/adamguenther/noru#readme","keywords":["claude-code","codex","opencode","pi-coding-agent","ai","orchestration","agent","workflow","noru"],"repository":{"type":"git","url":"git+https://github.com/adamguenther/noru.git"},"description":"Describe what you're doing. Noru routes to the right workflow.","maintainers":[{"name":"adamguenther","email":"adam.guenther@gmail.com"}],"readme":"> **Alpha** -- Noru is under active development. APIs and track behavior may change between versions.\n\n# noru\n\n**noru** (NOR-oo) -- from Japanese 乗る, to board a route\n\nDescribe what you're doing. Noru routes to the right workflow.\n\n---\n\n## How It Works\n\nOne entry point: `/noru:go \"fix the login bug\"`. Noru reads your intent, picks the right track, and scales ceremony to match the work. Small tasks get zero overhead. Complex work gets full planning. You don't choose -- the router does.\n\n## Tracks\n\nNoru has seven tracks. Each defines a workflow shape matched to the type of work.\n\n| Track | What it's for |\n|---|---|\n| **Quick Task** | Small, scoped work under 30 minutes -- no planning overhead |\n| **Bug Fix** | The fault is in your code -- reproduce, root-cause, fix, verify |\n| **Change** | Modify existing behavior -- refactor, migrate, update |\n| **Feature** | Add new capability to an existing codebase |\n| **New Project** | Greenfield -- full spec, full plan, parallel execution |\n| **Troubleshoot** | You don't know where the fault is yet -- investigate first |\n| **Exploration** | Spikes, prototypes, feasibility -- findings over code |\n\n## Commands\n\n| Command | Purpose |\n|---|---|\n| `/noru:go` | Auto-route by description (the 90% case) |\n| `/noru:new` | New Project track |\n| `/noru:feature` | Feature track |\n| `/noru:change` | Change track |\n| `/noru:fix` | Bug Fix track |\n| `/noru:troubleshoot` | Troubleshoot track |\n| `/noru:quick` | Quick Task track |\n| `/noru:explore` | Exploration track |\n| `/noru:status` | Current track, position, next step |\n| `/noru:promote` | Transfer work to a different track |\n| `/noru:checkpoint` | Save state (automatic at leg boundaries) |\n| `/noru:resume` | Pick up from last checkpoint |\n| `/noru:pause` | Park work with handoff context |\n\n12 commands. Seven are track shortcuts most users won't need because `/noru:go` auto-routes. A user who learns `/noru:go`, `/noru:status`, and `/noru:resume` has 95% of the functionality.\n\n## Install\n\n```bash\n# Via npx (recommended)\nnpx @adamguenther/noru install\n\n# Or install globally\nnpm install -g @adamguenther/noru && noru install\n\n# Or one-liner (no npm required)\ngit clone https://github.com/adamguenther/noru.git ~/.claude/noru && ln -s ~/.claude/noru/commands/noru ~/.claude/commands/noru\n```\n\nThe installer symlinks noru's commands and soul files into `~/.claude/` and sets up session hooks. Run `npx @adamguenther/noru` with no arguments for interactive mode.\n\nNoru can also install target-specific adapters:\n\n```bash\n# Codex: installs a $noru skill\nnpx @adamguenther/noru install codex\n\n# OpenCode: installs /noru-go, /noru-fix, etc.\nnpx @adamguenther/noru install opencode\n\n# Pi coding agent: installs /noru-go, /noru-fix, etc.\nnpx @adamguenther/noru install pi\n\n# Project-local install for any target\nnpx @adamguenther/noru install opencode local\n\n# Install every supported target\nnpx @adamguenther/noru install all\n```\n\nClaude Code remains the canonical command source. Codex, OpenCode, and Pi\nadapters are generated from the same command files so the workflow behavior\nstays aligned.\n\nTo uninstall: `npx @adamguenther/noru uninstall`\n\n## Quick Start\n\n```\n> /noru:go \"fix the login bug\"\n\nTrack: Bug Fix\nScope: auth/login.ts -- token refresh not handling expired sessions.\nNext: reproduce. Proceed?\n```\n\nThat's it. Noru asked what you're doing, routed to Bug Fix, scoped the work, and is ready to move. No menus, no configuration, no ceremony you didn't need.\n\n## Architecture\n\n```\ncommands/    Slash commands -- the user-facing entry points\ntracks/      Track definitions -- the 7 workflow shapes\nsteps/       Step definitions -- the legs within each track\nagents/      Agent definitions -- the workers that execute steps\nsoul/        Voice, personality, principles -- injected everywhere\nreferences/  Shared knowledge files agents can pull from\nhooks/       Lifecycle hooks for extensibility\ntemplates/   Output templates for specs, plans, findings\n```\n\nExisting-code tracks require `.noru/codebase-map.md`. Noru refreshes it\nautomatically when git metadata shows it is stale, using `origin/main`, `main`,\n`origin/master`, or `master` as the default base.\n\nExploration uses a throwaway branch plus `.noru/explorations/[topic]/log.md` for\nworking evidence. Its final deliverable is `.noru/findings/[topic]-[date].md`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}