{"_id":"@terjeballestad/pm-board-cli","_rev":"32-af9407dfbdc5822565705b5919d380dd","name":"@terjeballestad/pm-board-cli","dist-tags":{"latest":"0.5.4"},"versions":{"0.1.0":{"name":"@terjeballestad/pm-board-cli","version":"0.1.0","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.0","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"831e137b0d6f2081ce1da564bab776e10579f3f2","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.0.tgz","fileCount":24,"integrity":"sha512-l1x2Yfg3IVgavVq0FNFWdv3O2GBTn0MBqQpJH8jq/KTPHx093ap2lYnX+QXgj03Ky0kIRnUieCXeJykcVUGTGg==","signatures":[{"sig":"MEUCIAiUbHIq25oYfmygWWFi/ecWNODnCqOO/BQpUxCbYdQFAiEAkpnrR/FipYX5P1Ec2R2wntWHVhayrnK/sleEGoLtC/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219502},"main":"server.js","type":"module","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.0_1774454574377_0.5015117061804222","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@terjeballestad/pm-board-cli","version":"0.1.1","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.1","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"d476a0ac3bf45c7c0196a470bb1a323c3b58340f","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.1.tgz","fileCount":24,"integrity":"sha512-b08SDUY3/WKeUSRpvdjnzqTH3BvEeKcAUfVp6kBqX4Zpj1zpOqWamYFoKCh/weFoDL2dPien2QaR03lqeZ9MZA==","signatures":[{"sig":"MEYCIQDvDtA3XQaOJoeqth4CQ8lWBlMV0xThfYMmsRwSgaZDSAIhAJ/BKldQ0WjwF4ci4IGFOWs3At1W/tOg6yIBtAMH73s4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219508},"main":"server.js","type":"module","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.1_1774456852404_0.5941739181301311","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@terjeballestad/pm-board-cli","version":"0.1.2","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.2","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"9288a69c43f8014e4a5e01fbc476e90cf95d3654","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.2.tgz","fileCount":24,"integrity":"sha512-lorE3VRIMFXUZYZm6E5VY0agXsI7qX5HFiDDAZcxQoMleMrM+S9nrWTYj31DkcvC2nIczldKtKLu5ICfwOAzbA==","signatures":[{"sig":"MEYCIQDq9+/9UfOcisjTBxhd1LuD1e6a0mKxVLemyuARz+tGIQIhAIYamSz1fayL8fVgm2Zm+tZKg0V87HUkNHfD12dfVucU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221366},"main":"server.js","type":"module","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.2_1774458528918_0.4614304485886429","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@terjeballestad/pm-board-cli","version":"0.1.3","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.3","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"f394132c3525d4b6a29970336298b0755d9edf75","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.3.tgz","fileCount":24,"integrity":"sha512-FFpYiiv/nfaQdgQXH0Py2IoVCDoVyasMY4CZdeAZK/wjubPWuiRqlBsBHsXsTG3x18Ir4jVTkoqLc75XUd2epw==","signatures":[{"sig":"MEYCIQDFCfPBWM8VDuNrVymsXGQ8m8k0WXIxrnjPJxwxc4KjUwIhAJcNrZxOJDCOqx0VluskgCU9LhysXESMBCJLMLDirr8j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222179},"main":"server.js","type":"module","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.3_1774459679931_0.7853091430131927","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@terjeballestad/pm-board-cli","version":"0.1.4","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.4","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"186bba2dc5c5e3cbc2696f1c6ec5d80b813130f2","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.4.tgz","fileCount":24,"integrity":"sha512-jIDwyo1D3CRz812u9HxRVA6LSTP8y3cfrgYbP5ywzfDYEufleAYpxG8Eoz3y8VLnCrYGyF7EYboR6mbxWmAnpg==","signatures":[{"sig":"MEQCIHvC1P0ogvbOJ/mtWSszwJho4G9rDKqLKtG4Icjl4p1UAiB1454Y0B8vZVjD/Ok1d/gT+9HU5Bt5X4BjakTkkpW15Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222608},"main":"server.js","type":"module","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.4_1774460183415_0.45820842993709454","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@terjeballestad/pm-board-cli","version":"0.1.5","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.5","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"02a31c6897d77f4fa0eba533589399f01e4160f4","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.5.tgz","fileCount":24,"integrity":"sha512-izzM78KX+MVMuGPYwzPloIaYqMGmibGh28oDXw4IzfzDKPOw6M2F7VJ1myE3tsaIMCvf2g+mOU2yRNmrn2UzCQ==","signatures":[{"sig":"MEYCIQCUWzb129XjcZ6xJbOuAVPb8oSBgSOyt3TlW0oQoClM2gIhAMKRw7WpyBHiA62UT99wImB2iWb+XMLdMx7CbgTuVPF/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222664},"main":"server.js","type":"module","gitHead":"84ec3515c4fa797f831e0b3d68ef6f7fad7b9606","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.5_1774461486379_0.23413182670628596","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@terjeballestad/pm-board-cli","version":"0.1.6","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.6","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"1e538500db6b957fc8140eb5b0498c36e9c11bf2","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.6.tgz","fileCount":24,"integrity":"sha512-+CVgsWiWyQRMhen+I+S9Eo5GC9ZKlwNSwVf+s10R7yKW9DmMcpOxSiEHnHTWGeDm9zEnpOla1QGuRuUAwZLbdw==","signatures":[{"sig":"MEQCIHmI2OlJWK1OOvck9OdH9zDLGIkOLPJHG23zpU/r6MOJAiBqqawZKJNyjw5eDRZX+e52iWzsdohiuxux/haOLCRzDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223155},"main":"server.js","type":"module","gitHead":"84ec3515c4fa797f831e0b3d68ef6f7fad7b9606","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.6_1774462175223_0.9822488849140569","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@terjeballestad/pm-board-cli","version":"0.1.7","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.7","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"3acf2d0c5a6e9b40223e285797083b51093a39ea","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.7.tgz","fileCount":24,"integrity":"sha512-TGNEBJ0tTydVTiQhBcIHKxSyvEFET8EhYWZBfrGfRVfIZgujk9BKLWlYI6KY+2PTOJFdPrG3ZUg5LuzeY190Xg==","signatures":[{"sig":"MEUCIQDNPA84+i4aURJM87O2VAGqH/IJ7CvW7+RltncDdDrh5gIgDx+oHRSUy2dcjFnIrKx/8I6NrpEhzZ2DTsHx0dpaExM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228290},"main":"server.js","type":"module","gitHead":"84ec3515c4fa797f831e0b3d68ef6f7fad7b9606","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.7_1774465998981_0.18951382315639664","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@terjeballestad/pm-board-cli","version":"0.1.8","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.8","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"bin":{"pm":"bin/pm"},"dist":{"shasum":"b521a8b07ec0cd7db143120c5146eb3f306ec1d1","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.8.tgz","fileCount":24,"integrity":"sha512-/R27R58eaNiZAROU4DGSt/5SORZDb3LjkOOIrCSQ4EMCPuS8b5RI5/oHUFETS/P7rL6Fm4jJYjw0iWowlJC6ew==","signatures":[{"sig":"MEUCIHEFZM/ZDWpmT5LuJQ2ZDf0Z3SuxwJ5Xm7nxLjge7k2FAiEA8fBc8W4PQoJygqALs8E13Zv76xLyD/JUipyjWij9nn4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229611},"main":"server.js","type":"module","gitHead":"1a3b8b65e64b74962473b58ca47ee5604c272d10","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.8_1774626468858_0.7277489183054096","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@terjeballestad/pm-board-cli","version":"0.1.9","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.9","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://ballestadstudios.com","bugs":{"url":"https://github.com/TerjeBallestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"c6577160be4499d1daa6b4e459741f29d40e5096","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.9.tgz","fileCount":24,"integrity":"sha512-XWQaI1KTX49Z1oWaW7FmkmVK2xjDifAlXr610TurGtLlSEeCC1Dt/QjinOIeSbG+mjY/V7Rtn0YLRicct80pQw==","signatures":[{"sig":"MEUCIFiy6pGcb9fp/KbsPz5irYbCiBVtcRkHDc+90QYEs8W3AiEAkEbtyMSN9OnPISZRKQYzX4pLeHeHqgcA/GPjatx1j4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229851},"main":"server.js","type":"module","gitHead":"1a3b8b65e64b74962473b58ca47ee5604c272d10","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/TerjeBallestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.9_1774626768638_0.5703307723413757","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@terjeballestad/pm-board-cli","version":"0.1.10","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.10","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://ballestadstudios.com","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"26f0e05e2b69292a84190e4f6ad38844bacc921c","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.10.tgz","fileCount":24,"integrity":"sha512-MWvzULNDy5h22Pl8oSjh3gjXUZl01VCgqsbs7qsi5ENF0DDShwwCs35arN/0axGnTW9+XVQTylbHchxlnjFn0Q==","signatures":[{"sig":"MEUCIEDFE+k7iR6PcybSg4dMJM15b/jrbmkVwg1tbcRXErR4AiEAl1rnfRjT6UQ7YJZe22dh+4WuMnnJuZp79NPt96sJy4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231259},"main":"server.js","type":"module","gitHead":"1a3b8b65e64b74962473b58ca47ee5604c272d10","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.10_1774627259034_0.7406456784533653","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@terjeballestad/pm-board-cli","version":"0.1.11","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.11","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"98a4efc345a8c944c47151110c249602bae3c6bf","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.11.tgz","fileCount":24,"integrity":"sha512-OjbxS4bVrY+68rDBZxJGUu/oOmZ8xRQitfAxIxjPa90IZ8XfGOLVfCFEKFly+73wXl0O3ZMbe3Dem31o3gP4SQ==","signatures":[{"sig":"MEUCIB+kTaGI8mJ//9ewk0Ubv9egkvn3tlnZtG+nktiz19ggAiEAp5lxh7esg0bM1cWGGB2Lkcu+zg4SHdmbgJbXlQee9E4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231139},"main":"server.js","type":"module","gitHead":"a6f835705524e4bcd3104a2ecca9b33bfeaf1af6","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.11_1774704761279_0.01183530623541551","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@terjeballestad/pm-board-cli","version":"0.1.12","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.12","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"41df245e12c644c5f3446783aec1893bd2c6cc07","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.12.tgz","fileCount":24,"integrity":"sha512-HQ/lNdr4dNi2ZwQvekBh9lzwxm4byaE0EVLeSd22pqN3jUDyvbC9cWOtF4ziJggTos3JO16H2mjUlQr5wLs+VQ==","signatures":[{"sig":"MEUCIGDz8BvrHt4vad/Bt0mnGtxJ6tttiQq8HOlRK62e2FAcAiEA4hyelbTzvamXYp6+Y8B+PCB3CdL6Vg2Ph2ZQ0TM4Pkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231175},"main":"server.js","type":"module","gitHead":"6c22983324b89818ee35435e531b532ee20b24c6","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.12_1776083734626_0.6286901360821724","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@terjeballestad/pm-board-cli","version":"0.1.13","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.13","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"a63a8d99ae5467de0d5029059d8b73734b19a769","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.13.tgz","fileCount":25,"integrity":"sha512-pF34dJRgVtxts9N5mpbcGpiFmAYb0llIqtw1UR3P8ltl7DjLLw2WQ8OUsqKg3oxpSHWwl7MIUFFDYK/GrctdQA==","signatures":[{"sig":"MEUCIQCMjwmnmc2JWDBnfHdrj433ACGhMbQ6tkrm3ezjrnHAegIgJLLHW/c0H0bgkYzx14r9/78yPsRkOx5GqaJitaj4T4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233364},"main":"server.js","type":"module","gitHead":"3d0cb01660a5465ffae18209cc959f727d6be4c2","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.13_1776177707255_0.5138957846238492","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@terjeballestad/pm-board-cli","version":"0.1.14","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.14","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"da9db0a3fef94018ee9870c67ee5202fdf55e7ab","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.14.tgz","fileCount":24,"integrity":"sha512-FssnrkVYmULw/7jdeNZsUswCdVvx3ahJTzoCOzPqtL7jd53gwiNH5aLSihHHs1CUohyNZqADMnQdm93QcrHjew==","signatures":[{"sig":"MEQCIG8UCikVfk4noFuSPjb/jwWpI159bvo/RGbJzTuL3wcLAiA0RfEQhWRdfkgsc0CBa/mrwxtBcyjiO/j8lCXfqMyokg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233395},"main":"server.js","type":"module","gitHead":"341405101f52977943886145773212fc01bebdf4","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.14_1776417712823_0.9304854527443207","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@terjeballestad/pm-board-cli","version":"0.1.15","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.15","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"7ac5140745602671e0541517439e27a85f46cd79","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.15.tgz","fileCount":26,"integrity":"sha512-hXtc6x7/p6FJHRZGmcoPYHzPNHgPFNmHMmC4UKgP9MYotg2PSLlw73wn59uKuwuUiX7qEiSIBBBISdxaRczllg==","signatures":[{"sig":"MEUCIQCfzFvC1hDof9sG1J1ZuyBJ4niec2wPejIUZtX+AJePAwIgUVYYBXSYbMYJtBttF2XqLJMFF7dbrVFL7mYwp5RCnfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265115},"main":"server.js","type":"module","gitHead":"74e2190d706574d8f448a6cc9411c2a389141b7e","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.15_1776924446421_0.05934691984177398","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@terjeballestad/pm-board-cli","version":"0.1.16","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.16","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"9e16089308ba29d5539b1064f7fe2fa3c1e63721","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.16.tgz","fileCount":26,"integrity":"sha512-LaMvPxPvkRRhc0J68L8BoPrSk/Gdpwefpd9ITYR+UnHfm01whOdtTlaw5zlOSYg2Vx3IOf+OcPByfg6hNXlZsw==","signatures":[{"sig":"MEUCIFHFs5Gf8NGdCS/HdH455Qp4nEZLuNBGzh+Q+moUqcsOAiEAo3ZEesiw0xGqtm8BPoyFrgn6TEmQc6+p53ds+TJoo5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266248},"main":"server.js","type":"module","gitHead":"679a6682bf38a08b5480c1fc8616cd23d6649528","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.16_1777047670256_0.5868621130028779","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@terjeballestad/pm-board-cli","version":"0.1.17","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.17","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"d5277bf00976145b9374db8748e1b95c7d993d49","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.17.tgz","fileCount":27,"integrity":"sha512-NhNhRxCbVPzqmKwNDgTefKsWRZCJhoafdpSfDKmqkOa1uJ+HFMOqlKVozVLcb4Plu3sgD1BObcWbLuudomaUzQ==","signatures":[{"sig":"MEQCIAQuSy2xAJ/g5xDG/Co3paZjzK6ZHJN8rFnoA4Js00jpAiBnbZ0bc+Dp2RdeiPMq3p/49nRonB4dUfUsBeQp9N9gdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268571},"main":"server.js","type":"module","gitHead":"c3195504ab14dfb892219084daafc1df8188a4e5","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.17_1778254238009_0.5781401513280069","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@terjeballestad/pm-board-cli","version":"0.1.18","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.1.18","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"7b53b0b027df3fb51d0410c423b2a7f21a613761","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.1.18.tgz","fileCount":27,"integrity":"sha512-GygzrliiHSrc/ZWFoO7zU7yyrdLMN8p0CZ5L+SrV7vBxqla3H3pOSzW7KfjFmvN+F/HSi/PxOFlDCGHER9te5g==","signatures":[{"sig":"MEUCIFH6lpgYkDDXTAjqZ+QFAVE/OLK9vCyzh1Vbfv5pkYgwAiEA29WBXBIH/BGndI4tVr1iZ9fggzAfR3mTt8GUAw3vL6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270304},"main":"server.js","type":"module","gitHead":"0b43e6fa943aae1e0fce27792e4cb6acb4bdb1f1","scripts":{"dev":"node --watch server.js","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.1.18_1778256479756_0.6401465020125443","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@terjeballestad/pm-board-cli","version":"0.2.0","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.2.0","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"16ab12cc0e65cf7f69d2c54fedfdd11dbcdc7495","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.2.0.tgz","fileCount":29,"integrity":"sha512-+cUYBbCJdAHm2QJ1aVob82cjypXa1fn5uYx4+AtoTocK2Ib69ly4KKJx6Lp/3NZuk2pP95tP7qIGtemWt4Feyg==","signatures":[{"sig":"MEUCIQDMl0ikeGPllTVOYjMR5k7heUl+ycZrmI5n2rs/gxVaaAIgZVZ2kRkdGUaF3T4Y375JUd+OA6O4GHP8kBVJe7ouwKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283928},"main":"server.js","type":"module","gitHead":"751668820992af9fe1eafaf7564973d5d6678d27","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.2.0_1781704518196_0.3401281892332544","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@terjeballestad/pm-board-cli","version":"0.2.1","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.2.1","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"6157bc125ec1587e44a34e4372d576e178416035","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.2.1.tgz","fileCount":36,"integrity":"sha512-RhpmeqM4V9DIT+R4AbZvJEaqDWY7PBqPOgkOspvQ6rZ0o01AhVEBSF71bXMyf2FF2ITKHxow7hV7dW3Xzloaaw==","signatures":[{"sig":"MEUCIQCO5xdkzkNjupow8/WtPuTS3N/uEmeMAHV7mbEZHRZSfAIgQrtQzc/f1SpNIaHgbBLrZL2FpShJre5xyBx55EABGJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316968},"main":"server.js","type":"module","gitHead":"ce21247497c1bf11894d7686aaa2529640ba19f3","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.2.1_1781863573006_0.06993318108005742","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@terjeballestad/pm-board-cli","version":"0.2.2","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.2.2","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"19c83a80414468ab39fbb5cf4d1e6b4b3a8c9fd0","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.2.2.tgz","fileCount":29,"integrity":"sha512-LyEwND1+3lOPgYsjfsnmx4GxnBNIdsA0hnkl9PV7BLyE2ijRtttS6lMieaKTwf7gtt2lQO5NbcH1wFbf8U1zSQ==","signatures":[{"sig":"MEYCIQDRkxNpH9K7HZj1HKrqHmXvEahuDK4AI1s+VxDbE4CMKAIhANq5E0REu1bw6d/BqrlbbmksEEspHefZumGzJRd+sgwa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285523},"main":"server.js","type":"module","gitHead":"a752904918b9d83e106079242dc615a2c071dfc8","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.2.2_1783031861190_0.4411803146856359","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@terjeballestad/pm-board-cli","version":"0.2.3","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.2.3","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"08ac3095a4e1b4057139319afe6090f13d082c98","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.2.3.tgz","fileCount":29,"integrity":"sha512-MgOIpDECg8PIxtNSRP7SzIP/RZBb3i2poMcI8Y/dT8zN5QwsXMw3i6St45Ld3ClCJR36gMmTJNDFxQZvQclTIw==","signatures":[{"sig":"MEQCIDIy6hqnz+uxrCMNMwyMcNjh1ARELHNoIdNxCmJzETSwAiBb9HhJIt71uz5fAFF5OBABM5f1U1Kzq6v+vRDSPaY0Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292735},"main":"server.js","type":"module","gitHead":"90558f7ed9709f58cba46ab2bc246fa3a75007ef","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.2.3_1783229757979_0.3157445230689606","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@terjeballestad/pm-board-cli","version":"0.2.4","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.2.4","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"a43bc2d9e28db76c67fe743f6598945aab18908a","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.2.4.tgz","fileCount":29,"integrity":"sha512-7NHdw6SW0mBqgb8a2Z2+kdOB5745p4Gn4A6dY98HcO0oJeZhR0W/f2+2QLfUd/AV1lftUQlFsTY7JWKuFiQqhA==","signatures":[{"sig":"MEYCIQDF52Prp7+TtVkKlH0FkpOejA9Ej8EvWpisiJ8vPvSjNQIhANf1fupFAcFtYMAcV+4EDAbB+30p4cKqVe62KtsI42Ke","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293798},"main":"server.js","type":"module","gitHead":"cdf6d4efeb5a56792941dbf1ea701a0a651a9464","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.2.4_1783705122262_0.1807393082147688","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@terjeballestad/pm-board-cli","version":"0.3.0","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.3.0","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"c9c3ffc9bc26cd0b6799d3d634e040eb596cbb7e","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.3.0.tgz","fileCount":29,"integrity":"sha512-LOkbp7+R99/h0ERdXAlx2il+4XpjovatCydeyVnSpOgX66TDW7K9cHFV+peqWdg9L+pTQPnQH7Jv4UCJTCO2Hw==","signatures":[{"sig":"MEYCIQDB4s+5xUz8zoEJreaJAXCDxM8KyUPgJUXqMw/WpIt6eQIhAOl+WaV/1UG1jzMBYXPMA77j/eRo8Dyj8ssuaQx8AlD5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314999},"main":"server.js","type":"module","gitHead":"a60fcae0c99109c777e43af84b790e10baeab016","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.3.0_1784729855412_0.48448312041960917","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@terjeballestad/pm-board-cli","version":"0.4.0","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.4.0","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"d74145776348c1fb43dbf72ff054966f318772fc","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.4.0.tgz","fileCount":29,"integrity":"sha512-750g4MjAigmM0SLeILHSb+m6Gp2lDxDIYByrTDrKiYaBrIjAY40RXJqjRBQ/b2jDnrx1Bm/Y9NdfLgcGiZ2CMg==","signatures":[{"sig":"MEUCIQD/VEAfqx2pyFB/TLM9H2Fi2wGgX/bHfZSUOy/4tODthQIgE+1mZ2Ue7mIRAILbgToTox6I+K/xTc7+gmfjjg2/Zv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323857},"main":"server.js","type":"module","gitHead":"325eded8a43d4c54e43e759e9e5d966e52e19862","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.4.0_1784734843041_0.3350609036455008","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@terjeballestad/pm-board-cli","version":"0.4.1","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.4.1","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"cab142df80b2bdd04300ab3df4dcfc5e2533a8cb","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.4.1.tgz","fileCount":32,"integrity":"sha512-FAj7odikhkl3tGB5qUTlNFNMaCfzqz4ub5sjYNOCph+SsTQmNAr0rufoGmi62rQnC5ur/1gCOBLT9JrL/bjf7Q==","signatures":[{"sig":"MEYCIQDsoplj6YVDzauouPDTbGfUfMlKMFXJwaBNXGRkzx6jsgIhAJINBO10IoV971ivuaVBpP+lWcGLTgyzgjYDY7Xcl+hf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342476},"main":"server.js","type":"module","gitHead":"0f14e08d21fbb5d911ea4f80c4ae4ce1ec0e79ac","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.4.1_1784801467034_0.8346661922564234","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@terjeballestad/pm-board-cli","version":"0.5.0","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.5.0","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"7fd65562b93d569930ac760f48a42d0043a0b861","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.5.0.tgz","fileCount":32,"integrity":"sha512-q2mJ02Wl8xSFdBEUBUZ9xSdvGbI+dVC4PQRdEg+z1c+XfDkSVJaHe1i5xj4Mg9UpK8X+U3PLxcwY0RLZvDb6ag==","signatures":[{"sig":"MEUCIBUP/LjSUPj80Pbp3AdFySl90Zy+xbpwmU+yxKdwk6u9AiEAliUtin1bHDNDO43EP3boiohSMoEAGL4+/DvaC24jqpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353864},"main":"server.js","type":"module","gitHead":"8a83ba1b29b6f09e068de2bd53c297cb70a94be5","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.5.0_1784805485225_0.2959739169833002","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@terjeballestad/pm-board-cli","version":"0.5.1","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.5.1","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"5cf5c4650ba3ba434834fb9566734ecb0db68357","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.5.1.tgz","fileCount":33,"integrity":"sha512-gZOYyXqUAK9cbOPxOJDhNqGey2cGXutlr24of14URuF1GtzLG/Ix3oTJ8rkpJgRx/h1X7DdXV6bU2Rvw53XcCw==","signatures":[{"sig":"MEYCIQCIzWqn9k62YcGzWjx7XMhY6in9e18Pkd/Oy0FKUfriHgIhAJkVNTvox5fWWFWdo3NLgjBpuLmIYXzXkZ8daUhCo158","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353211},"main":"server.js","type":"module","gitHead":"3a2a0518bc27dee92596ed0d102730b0b133f594","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.5.1_1784897725934_0.5102544879601592","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@terjeballestad/pm-board-cli","version":"0.5.2","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.5.2","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"f9d31f6f3bc570ccb0579e4072dff6e9f78354aa","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.5.2.tgz","fileCount":33,"integrity":"sha512-tPX6OHdn6NgkjtRTCso0cWvuuPVx0haQp+DnL0z2NKlI3ULYUGDK1OS+XTto6s67+oRFJ9nBlRsttzztyaUwTw==","signatures":[{"sig":"MEYCIQDgrFrbl+T/26i9oD2C/CRKUrqLsP5FGxDQ3i4NtJ23GgIhAMyobhN6311P5mTlThG45MhN3fIHoLomlRsUiGYqqlpK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359415},"main":"server.js","type":"module","gitHead":"796cdf947cdc1175c325932c112844be64b5d54f","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.5.2_1784987589808_0.3862899320657598","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@terjeballestad/pm-board-cli","version":"0.5.3","keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","_id":"@terjeballestad/pm-board-cli@0.5.3","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"homepage":"https://github.com/terjeballestad/pm-board-cli#readme","bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"bin":{"pm":"bin/pm"},"dist":{"shasum":"6361b55509cf964b0fd0c4e2b9c879d34456ce48","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.5.3.tgz","fileCount":34,"integrity":"sha512-w3WCjYyQBUVOMk10EDIH5axVJ4Djbpnjia7h48AR9k5Yg5gAHWzbT012Lqdc6jf7WnIE5p/KNoNNIM05ez1uEA==","signatures":[{"sig":"MEYCIQCY7iJJTsTVNqdXI6eAOWk/pADZ9TaMYCpxgJ3JMOQyzwIhAPFop1irtCHPTnPwXgb86o7FqDfQE0vf8EJzbB/m2Fqt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384186},"main":"server.js","type":"module","gitHead":"2b6b16f409eaca560b32115fa079cb2bc1edf614","scripts":{"dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'","start":"node server.js"},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"repository":{"url":"git+https://github.com/terjeballestad/pm-board-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"Lightweight file-based project management for agentic workflows","directories":{},"_nodeVersion":"22.22.0","dependencies":{"yaml":"^2.8.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"supertest":"^7.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pm-board-cli_0.5.3_1785084796041_0.7834936435118334","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@terjeballestad/pm-board-cli","version":"0.5.4","description":"Lightweight file-based project management for agentic workflows","main":"server.js","bin":{"pm":"bin/pm"},"type":"module","scripts":{"start":"node server.js","dev":"node --watch server.js","test":"node --test 'tests/**/*.test.js'"},"dependencies":{"express":"^5.1.0","yaml":"^2.8.2"},"keywords":["project-management","cli","kanban","agentic","ai-agents"],"author":{"name":"Terje Ballestad"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/terjeballestad/pm-board-cli.git"},"bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"devDependencies":{"supertest":"^7.2.2"},"_id":"@terjeballestad/pm-board-cli@0.5.4","gitHead":"c0836d09679811e1b5d10633035d39395dff7209","homepage":"https://github.com/terjeballestad/pm-board-cli#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-3Q/+UY4oiFh7W+W8geePzNMMFmcCU/1sGI4oTP5nftVJAsos0VZZQCwtxSIvuCOA++eewCcr7V/BY5lTZMJShw==","shasum":"1b7de882d080e7afd2231d4c2eff2f10c8a7b716","tarball":"https://registry.npmjs.org/@terjeballestad/pm-board-cli/-/pm-board-cli-0.5.4.tgz","fileCount":34,"unpackedSize":385300,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD6DMhhCFpWWw6SBn5omGiM7/HfI3BFHV3cYvCqCmefrQIgb4j33TOEowiwQdb/I7iywfG3kKk8vFD5i1E3NeeIt+c="}]},"_npmUser":{"name":"terjeballestad","email":"terj.ba@gmail.com"},"directories":{},"maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pm-board-cli_0.5.4_1785235703966_0.4155785000958574"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-25T16:02:54.213Z","modified":"2026-07-28T10:48:24.307Z","0.1.0":"2026-03-25T16:02:54.529Z","0.1.1":"2026-03-25T16:40:52.546Z","0.1.2":"2026-03-25T17:08:49.081Z","0.1.3":"2026-03-25T17:28:00.125Z","0.1.4":"2026-03-25T17:36:23.601Z","0.1.5":"2026-03-25T17:58:06.554Z","0.1.6":"2026-03-25T18:09:35.394Z","0.1.7":"2026-03-25T19:13:19.167Z","0.1.8":"2026-03-27T15:47:49.017Z","0.1.9":"2026-03-27T15:52:48.781Z","0.1.10":"2026-03-27T16:00:59.172Z","0.1.11":"2026-03-28T13:32:41.439Z","0.1.12":"2026-04-13T12:35:34.779Z","0.1.13":"2026-04-14T14:41:47.407Z","0.1.14":"2026-04-17T09:21:52.950Z","0.1.15":"2026-04-23T06:07:26.582Z","0.1.16":"2026-04-24T16:21:10.401Z","0.1.17":"2026-05-08T15:30:38.179Z","0.1.18":"2026-05-08T16:07:59.897Z","0.2.0":"2026-06-17T13:55:18.360Z","0.2.1":"2026-06-19T10:06:13.133Z","0.2.2":"2026-07-02T22:37:41.361Z","0.2.3":"2026-07-05T05:35:58.105Z","0.2.4":"2026-07-10T17:38:42.415Z","0.3.0":"2026-07-22T14:17:35.553Z","0.4.0":"2026-07-22T15:40:43.257Z","0.4.1":"2026-07-23T10:11:07.236Z","0.5.0":"2026-07-23T11:18:05.370Z","0.5.1":"2026-07-24T12:55:26.092Z","0.5.2":"2026-07-25T13:53:09.949Z","0.5.3":"2026-07-26T16:53:16.221Z","0.5.4":"2026-07-28T10:48:24.138Z"},"bugs":{"url":"https://github.com/terjeballestad/pm-board-cli/issues"},"author":{"name":"Terje Ballestad"},"license":"MIT","homepage":"https://github.com/terjeballestad/pm-board-cli#readme","keywords":["project-management","cli","kanban","agentic","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/terjeballestad/pm-board-cli.git"},"description":"Lightweight file-based project management for agentic workflows","maintainers":[{"name":"terjeballestad","email":"terj.ba@gmail.com"}],"readme":"# PM Board CLI\n\nLightweight, file-based project management for agentic workflows. A kanban dashboard, CLI, and REST API designed to split feature development into minimal-context steps that AI agents can execute independently.\n\n## Philosophy\n\nLarge features burn through context windows. PM Board enforces a decomposition pipeline that keeps each step small and self-contained:\n\n```\nBrainstorm → SDD → Plan → Tasks\n```\n\n1. **Brainstorm** — capture ideas, issues, concerns, gaps as backlog items\n2. **SDD (Solution Design Document)** — write a focused design spec that links source items and makes decisions explicit\n3. **Plan** — break the SDD into an ordered task list with dependencies, verification criteria, and file references\n4. **Tasks** — each task is a self-contained unit an agent (or human) can pick up cold, with enough context to execute without reading the full codebase\n\nOptional **reviews** between steps catch problems early — a bad SDD wastes one review cycle, a bad plan wastes entire agent sessions.\n\nThe kanban stages (`inbox → exploring → sdd → planned → done`) track where each item is in this pipeline. The dashboard gives you the overview; the CLI gives agents the interface.\n\n## Quick Start\n\n```bash\nnpm install -g @terjeballestad/pm-board-cli\n\ncd my-project\npm init          # creates pm.config.json + .pm/data/\npm serve         # optional: dashboard at http://localhost:3333\n```\n\nThen try the loop:\n\n```bash\npm issue \"Login form loses state on refresh\"    # capture something → SB-001\npm list                                         # see the backlog\npm get SB-001                                   # full detail\npm patch SB-001 --stage exploring               # move it along the pipeline\npm comment SB-001 \"Repro: refresh mid-typing\"   # leave a note\n```\n\n`pm init` creates a `pm.config.json`, a `.pm/data/` directory for artifacts, and a `.pm/.gitignore` to exclude runtime files (`pm.pid`, `pm.log`). All artifacts are git-trackable files — YAML-frontmatter markdown for items and SDDs, JSON for plans and projects. Commit the data directory (or make it its own repo) for history and collaboration.\n\n### Using it with agents\n\nThe CLI is the agent interface. A typical setup: tell your agent (e.g. in `CLAUDE.md`) that project state lives in PM Board, and point it at three commands:\n\n```bash\npm project              # orientation: items with stages + open blockers, designs, plan progress\npm get <id> --brief     # metadata only — cheap to read before deciding to load the full body\npm next-task PLAN-001   # the next unblocked task, with everything needed to execute it cold\n```\n\n`pm project` → `pm get --brief` → `pm get` is deliberate progressive disclosure: an agent can orient itself, pick a work item, and load only the context it needs.\n\nThe dashboard closes the loop in the other direction: configure `commands` templates in `pm.config.json` (see [Configuration](#configuration)) and every item, SDD, plan, and project gets a **⧉ Start** button that copies a ready-to-paste agent prompt like `Work the PM ticket SB-001: Login form loses state`.\n\n## Serverless by default\n\nThe CLI runs **in-process against the data files** — no server required. `pm serve` is only needed for the **dashboard** (the web UI). This makes the data files the single source of truth:\n\n- The CLI, your text editor (e.g. resolving a merge conflict by hand), and `git pull` all write the same files. No daemon holds a divergent in-memory copy.\n- IDs are derived from the highest id present on disk (`max+1`), not a stored counter — so they survive branching, merging, and machine switches without the counter drifting and overwriting a record.\n- A running dashboard re-reads disk on every request **and watches the data dir**, so it live-updates even when a write comes from outside the server (CLI, editor, `git pull`).\n\nTo target a server instead (e.g. a single shared instance over Tailscale), set `PM_URL` or pass `--server`:\n\n```bash\nPM_URL=http://my-host:3333 pm list          # use a remote server\npm list --server http://my-host:3333       # same, explicit URL\npm list --server                           # use the local dashboard server from pm.config.json\n```\n\n### Data safety\n\n- **Malformed files don't brick the CLI.** On load, PM validates that each data file's name matches its embedded `id`. A malformed or mismatched file (e.g. after a bad merge or hand edit) is skipped with a warning — the rest of your data stays usable — and its id stays **reserved** so a later create never overwrites the file you're fixing.\n- **Auto-commit** (opt-in): set `\"autoCommit\": true` and every store write triggers a debounced git commit of the data dir, so a crash or stray `git reset` loses seconds of work and everything is recoverable via `git log`. Works best when the data dir is its own git repo.\n- **Auto-sync** (opt-in, requires `autoCommit` + a data-dir repo with a remote): set `\"autoSync\": true` and PM keeps multiple machines converged over git — pull-rebase when the server starts and every 5 minutes while it runs, background push after each auto-commit. The network never sits on the local read/write path; a conflicted pull aborts back to local state and warns so a human resolves it.\n- **Rewind detection**: PM remembers the newest data timestamp *outside* the repo (`~/.pm-board-cli/state/`). If a load suddenly sees only older data — the signature of an unnoticed `git reset` or checkout — it warns loudly, and `pm health` reports `rewound`.\n- Sequential ids can still collide if two offline processes create the same entity type concurrently; avoid parallel local writes.\n\n## CLI Reference\n\nRun `pm --help` for the always-current version of this list.\n\n### Setup & server lifecycle\n\n```bash\npm init                          # Create pm.config.json + data directory\npm serve [--port N] [--restart]  # Start dashboard server (background, detached)\npm stop                          # Stop the running server (waits for actual exit)\npm update                        # Self-update to latest npm version (stops/restarts server)\npm health                        # Health check (includes rewind status)\n```\n\n`pm serve` detects port conflicts and fails with a clear message instead of silently dying. Logs go to `.pm/pm.log` (truncated on restart), PID to `.pm/pm.pid`. `pm stop`, `pm update`, and `pm serve --restart` wait for the old process to actually release the port before rebinding.\n\n### Items\n\n```bash\n# Shorthands — get by ID or create by title\npm issue \"title\"                 # Create issue (or get: pm issue SB-001)\npm concern \"title\"               # Create concern (or get: pm concern DC-001)\npm gap \"title\"                   # Create gap (or get: pm gap GAP-001)\npm decision \"title\"              # Create decision (or get: pm decision DD-001)\n\n# Generic create with explicit type\npm create <type> \"title\" [--priority P] [--body B] [--pillar P] [--sprint ID] [--files f1,f2]\n\n# Read\npm get <id> [--brief]            # Any entity by ID; --brief = metadata only, no body/comments\npm list [<type>] [--stage S] [--priority P] [--sprint ID] [--frontier] [--limit N] [--all] [--json]\n                                 # Terse \"ID  title\" lines, oldest→newest, default 20.\n                                 # <type>: sdd, plan, sprint, issue, decision, concern, gap.\n                                 # --frontier: not done, blockers all done/archived, and not\n                                 # claimed by a live session (--all-claims: include claimed).\n\n# Claims — \"another session already has this ticket\"\npm claim <id> --as \"label\"       # Claim for this session; exits 1 if someone else holds a\n                                 # live claim. Claims are leases: they expire after\n                                 # claimTtlHours (default 4), so a crashed session can't\n                                 # freeze a ticket. Closing (stage done) auto-releases.\npm release <id>                  # Release without closing\n\n# Update — patch any field on any entity\npm patch <id> [--stage S] [--priority P] [--title T] [--body B] [--blockedBy IDs] ...\npm patch <id> --assignee \"label\" # Force-set/override a claim ('' clears)\npm comment <id> \"text\" [--author A]   # Add comment (default author: claude)\n\n# Archive\npm archive <id> [<id2>...]       # Archive one or more items by ID\npm sweep [--days N]              # Auto-archive items in 'done' stage (default: 1 day old)\n```\n\nBody flags accept inline text, `@file.md`, or `-` for stdin. Items can declare `blockedBy` dependencies on other items; `pm list --frontier` shows what's actionable now.\n\n### SDDs (Solution Design Documents)\n\n```bash\npm sdd \"title\" [--body B] [--items ID1,ID2] [--sprint SPRINT-001]   # Create SDD\npm sdd SDD-001                   # Get SDD by ID\npm sdd create \"title\" [...]      # Explicit create\npm list sdd                      # List all SDDs\n```\n\n### Plans & Tasks\n\n```bash\npm plan create < plan.json       # Create plan from JSON on stdin\npm plan PLAN-001                 # Get plan by ID\npm list plan                     # List all plans\npm plan-update PLAN-001 [--tasks @file.json] [--title T] [--stage S]\n\n# Task operations (agent-facing)\npm next-task PLAN-001            # Next unblocked task, with full context to execute cold\npm task-done PLAN-001 TASK-1 \"completed migration\"      # note also via @file.md or -\npm task-update PLAN-001 TASK-1 [--status S] [--passes true|false] [--note N]\n```\n\n`pm next-task` is the primary agent interface — it returns the next task whose dependencies are satisfied, with all context needed to execute it cold.\n\n#### Plan JSON shape\n\n`pm plan create` reads this from stdin. Only `title` is required; task ids are assigned by the server (`TASK-NNN`), so `blockedBy` can reference other tasks by ordinal — `\"1\"`, `\"#2\"`, `\"task 3\"` all mean \"the Nth task in this file\" and are resolved to real ids on create:\n\n```json\n{\n  \"title\": \"Migrate auth to sessions\",\n  \"sddId\": \"SDD-003\",\n  \"sprintId\": \"SPRINT-001\",\n  \"context\": {\n    \"setupNotes\": \"Run npm install first; tests need PM_STATE_DIR set.\",\n    \"relevantFiles\": [\"lib/auth.js\", \"api/login.js\"],\n    \"designDecisions\": \"Sessions over JWT — see SDD-003 §2.\"\n  },\n  \"tasks\": [\n    {\n      \"title\": \"Add session store\",\n      \"description\": \"Introduce lib/session.js backed by the existing store.\",\n      \"steps\": [\"Create lib/session.js\", \"Wire into createApp()\"],\n      \"verification\": \"npm test passes; login sets a session cookie.\"\n    },\n    {\n      \"title\": \"Cut login route over\",\n      \"description\": \"Replace JWT issuance in api/login.js with a session.\",\n      \"blockedBy\": [\"1\"],\n      \"verification\": \"Manual login via dashboard works end-to-end.\"\n    }\n  ]\n}\n```\n\nEvery task starts as `pending` with `passes: false`; `status`, `passes`, and `progressNotes` are managed afterward via `pm task-done` / `pm task-update`. An unresolvable `blockedBy` ref rejects the whole create with a clear error rather than silently creating an unblockable task.\n\n### Projects\n\nProjects group items, SDDs, and plans toward a destination. (`sprint` is an alias; ids remain `SPRINT-NNN` for compatibility.)\n\n```bash\npm project                       # Overview of the active project: items w/ stage + open\n                                 # blockers, designs, plan progress (--json for full dump)\npm project SPRINT-001            # Overview of a specific project\npm project create \"name\" [--destination \"where this arrives\"] [--body \"markdown doc\"]\npm project SPRINT-001 [--name N] [--destination D] [--body B] [--status S]   # Patch\npm list sprint                   # List all projects\n```\n\nThe project `--body` is a living markdown doc — decisions log, out-of-scope notes — that travels with the project.\n\n### Exploration & Context\n\n```bash\npm explore SPRINT-001            # Generate project dossier (linked items, SDDs, open questions)\npm suggest SPRINT-001            # Get suggested items for a project\npm prompt <type> <id>            # Generate scoped prompt (type: item, sdd, plan)\npm review <type> <id>            # Generate review prompt with knowledge base context (type: sdd, plan)\n```\n\n`pm prompt` and `pm review` use configurable templates (see [Prompt Templates](#prompt-templates)) to build context-rich prompts for AI agents. The review variant also queries the knowledge base for relevant background.\n\n### Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `PM_URL` | Target a server instead of running in-process (default: serverless) |\n| `PM_STATE_DIR` | Override where rewind-detection state lives (default: `~/.pm-board-cli/state/`) |\n\n## Configuration\n\n`pm.config.json` in your project root (created by `pm init`):\n\n```json\n{\n  \"name\": \"My Project\",\n  \"port\": 3333,\n  \"dataDir\": \".pm/data\",\n  \"stages\": [\"inbox\", \"exploring\", \"sdd\", \"planned\", \"done\"],\n  \"entityTypes\": {\n    \"SB\":   { \"label\": \"Issue\",    \"color\": \"#66d9ef\" },\n    \"DD\":   { \"label\": \"Decision\", \"color\": \"#ae81ff\" },\n    \"DC\":   { \"label\": \"Concern\",  \"color\": \"#e6db74\" },\n    \"GAP\":  { \"label\": \"Gap\",      \"color\": \"#f92672\" },\n    \"SDD\":  { \"label\": \"Design\" },\n    \"PLAN\": { \"label\": \"Plan\" },\n    \"SPRINT\": { \"label\": \"Sprint\" },\n    \"TASK\": { \"label\": \"Task\" },\n    \"MILESTONE\": { \"label\": \"Milestone\" }\n  },\n  \"commands\": {\n    \"ticket\": { \"default\": \"Work the PM ticket {id}: {title}\" },\n    \"sdd\": \"Work the PM design doc {id}: {title}\",\n    \"plan\": \"Execute PM plan {id}\",\n    \"project\": \"Work the frontier of PM project {id}\"\n  },\n  \"knowledgeBase\": {\n    \"command\": \"qmd query\",\n    \"scope\": null\n  },\n  \"templates\": null,\n  \"frontend\": {\n    \"dir\": null\n  }\n}\n```\n\n### Key options\n\n| Field | Description | Default |\n|-------|-------------|---------|\n| `name` | Project name, shown in dashboard header | Directory name |\n| `port` | Dashboard server port | `3333` |\n| `dataDir` | Where PM data lives (relative to config file) | `.pm/data` |\n| `autoCommit` | Git-commit the data dir (debounced) after every write — see [Data safety](#data-safety) | `false` |\n| `autoSync` | Pull/push the data-dir repo automatically for multi-machine use — see [Data safety](#data-safety) | `false` |\n| `claimTtlHours` | Hours before a session's claim goes stale and stops hiding the item from `--frontier` (`0` = never expire) | `4` |\n| `stages` | Kanban column stages | `[\"inbox\", \"exploring\", \"sdd\", \"planned\", \"done\"]` |\n| `entityTypes` | ID prefixes, labels, and colors for item types | See defaults above |\n| `commands` | Templates for the dashboard's **⧉ Start** buttons — `{id}`/`{title}` placeholders, copied to clipboard. Omit a template and the button doesn't render. `ticket` can map per item type or use `default`. | Generic prompts |\n| `knowledgeBase.command` | CLI command for knowledge base queries | `qmd query` |\n| `knowledgeBase.scope` | Optional collection scope for KB queries | `null` (search everything) |\n| `templates` | Path to custom prompt templates directory | `null` (use built-in) |\n| `frontend.dir` | Path to custom dashboard frontend | `null` (use built-in) |\n\n### Custom entity types\n\nReplace the default prefixes with your own:\n\n```json\n{\n  \"entityTypes\": {\n    \"BUG\":  { \"label\": \"Bug\",     \"color\": \"#f92672\" },\n    \"FEAT\": { \"label\": \"Feature\", \"color\": \"#66d9ef\" },\n    \"RFC\":  { \"label\": \"RFC\",     \"color\": \"#ae81ff\" }\n  }\n}\n```\n\nThe CLI, API, and dashboard all adapt to your entity types — the shorthand commands (`pm issue`, `pm gap`, etc.) map to whatever prefixes you define.\n\n## Prompt Templates\n\nTemplates control how `pm prompt` and `pm review` generate context for AI agents. They use simple `{{variable}}` substitution — no loops, no conditionals, just slots.\n\nDefault templates live in `defaults/templates/`. Override them by setting `\"templates\": \"./my-templates\"` in your config and creating matching files:\n\n```\nmy-templates/\n  prompt-item.md\n  prompt-sdd.md\n  prompt-plan.md\n  review-sdd.md\n  review-plan.md\n```\n\n### Available variables\n\n| Context | Variables |\n|---------|-----------|\n| Items | `{{item.id}}`, `{{item.title}}`, `{{item.type}}`, `{{item.priority}}`, `{{item.stage}}`, `{{item.body}}`, `{{item.affectedFiles}}`, `{{item.related}}`, `{{item.comments}}` |\n| SDDs | `{{sdd.id}}`, `{{sdd.title}}`, `{{sdd.body}}`, `{{sdd.linkedItems}}`, `{{sdd.comments}}`, `{{sdd.decisions}}` |\n| Plans | `{{plan.id}}`, `{{plan.title}}`, `{{plan.setupNotes}}`, `{{plan.designDecisions}}`, `{{plan.relevantFiles}}`, `{{plan.sddTitle}}`, `{{plan.sddBody}}`, `{{plan.taskList}}`, `{{plan.referencedDecisions}}` |\n| Global | `{{project.name}}` |\n\nCompound variables (`linkedItems`, `taskList`, `comments`, etc.) are pre-rendered markdown blobs — the template just places them.\n\n### Example template\n\n```markdown\nYou are reviewing an SDD for {{project.name}}.\n\n## Design Document: {{sdd.title}}\n\n{{sdd.body}}\n\n## Linked Items\n{{sdd.linkedItems}}\n\nReview this design for completeness, feasibility, and edge cases.\nProvide your feedback as a numbered list of suggestions.\n```\n\n## Bring Your Own Frontend\n\nThe dashboard is a vanilla JS SPA that talks to the REST API. You can replace it entirely:\n\n```json\n{\n  \"frontend\": {\n    \"dir\": \"./my-custom-dashboard\"\n  }\n}\n```\n\nPoint `frontend.dir` at any directory with static files (index.html, JS, CSS). The server serves them and provides the API at `/api/*`. The built-in dashboard is just the default — build a React, Svelte, or whatever frontend that hits the same endpoints.\n\n### API Endpoints\n\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `/api/config` | GET | Project name, stages, entity types, commands |\n| `/api/health` | GET | Health check (reports `rewound` after a detected data-dir rewind) |\n| `/api/items` | GET | List items (query: type, stage, priority, sprintId, frontier, allClaims) |\n| `/api/items` | POST | Create item |\n| `/api/items/:id` | GET / PATCH / DELETE | Get / update / delete item |\n| `/api/items/:id/comments` | POST | Add comment |\n| `/api/items/:id/claim` | POST | Claim item (`{ assignee }`; 409 if live-claimed by another) |\n| `/api/items/:id/release` | POST | Release a claim |\n| `/api/items/archived` | GET | List archived items |\n| `/api/items/archive` | POST | Archive items (`{ ids: [...] }`) |\n| `/api/items/archive/sweep` | POST | Auto-archive done items (`{ days: N }`) |\n| `/api/designs` | GET / POST | List / create SDDs |\n| `/api/designs/:id` | GET / PATCH | Get / update SDD |\n| `/api/designs/:id/comments` | POST | Add SDD comment |\n| `/api/plans` | GET / POST | List / create plans |\n| `/api/plans/:id` | GET / PATCH | Get / update plan |\n| `/api/plans/:id/next-task` | GET | Get next unblocked task |\n| `/api/plans/:id/context` | GET | Full execution context for a plan |\n| `/api/plans/:id/tasks` | POST | Append tasks to a plan |\n| `/api/plans/:planId/tasks/:taskId` | PATCH | Update task |\n| `/api/plans/:id/comments` | POST | Add plan comment |\n| `/api/sprints` | GET / POST | List / create projects |\n| `/api/sprints/:id` | GET / PATCH | Get / update project |\n| `/api/sprints/:id/items` | POST | Attach items to a project |\n| `/api/sprints/:id/comments` | POST | Add project comment |\n| `/api/sprints/:id/explore` | POST | Generate project dossier |\n| `/api/sprints/:id/suggest` | POST | Get project suggestions |\n| `/api/context/prompt` | POST | Generate agent prompt |\n| `/api/context/review` | POST | Generate review prompt |\n| `/api/events` | GET | SSE stream for real-time updates |\n\n### Real-time Updates (SSE)\n\n`GET /api/events` opens a Server-Sent Events stream. The dashboard uses this for live updates without polling. Events fire on API mutations *and* on out-of-process writes to the data dir (CLI, editor, `git pull`) via a filesystem watcher:\n\n```javascript\nconst events = new EventSource('/api/events');\nevents.onmessage = (e) => {\n  const data = JSON.parse(e.data);\n  // { type: 'item_created', payload: { ... } }\n};\n```\n\n## Data Storage\n\nAll data lives in `dataDir` as git-trackable files:\n\n```\n.pm/\n  data/\n    meta.json          # Last-updated timestamp (feeds rewind detection)\n    items/             # SB-001.md, DD-001.md, ...\n    designs/           # SDD-001.md\n    plans/             # PLAN-001.json\n    sprints/           # SPRINT-001.json (projects)\n    milestones/        # MILESTONE-001.json\n    archive/           # Archived items\n  .gitignore           # Excludes pm.pid and pm.log\n  pm.pid               # Server PID (runtime, gitignored)\n  pm.log               # Server log (runtime, gitignored, truncated on restart)\n```\n\nItems and SDDs are stored as markdown with YAML frontmatter. Plans, projects, and milestones are JSON. All writes are atomic (temp file + rename). Commit the data directory to git for version history and collaboration.\n\n## Multi-Project Setup\n\nEach project gets its own `pm.config.json` and runs its own server on a separate port:\n\n```bash\n# Project A (port 3333)\ncd project-a && pm init && pm serve\n\n# Project B (port 3334 — edit pm.config.json first)\ncd project-b && pm init && pm serve\n```\n\nThe CLI discovers the nearest `pm.config.json` by walking up from your current directory, so `pm list` always targets the right project. If no config is found, the CLI refuses to run (no silent fallback to a wrong server).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}