{"_id":"@henrythdu/cells","_rev":"44-4205d0c292169ab979d573eb5a795c63","name":"@henrythdu/cells","dist-tags":{"latest":"0.0.53"},"versions":{"0.0.6":{"name":"@henrythdu/cells","version":"0.0.6","_id":"@henrythdu/cells@0.0.6","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"abc2562e2e33ffe6a00b7d4d155774da5633faa2","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.6.tgz","fileCount":67,"integrity":"sha512-uwDlTTeMBd6ZR9qfDACYTDW3dbnGkl1I9NAL8yqUsbHDXixhGlJNqemDJ6+6TIM78n+GpzElrRLVU5mE79VE/A==","signatures":[{"sig":"MEYCIQDTrUK6u9xrFR4dlDz/L7iudCxNMymRV6vvM9lQrQ8vigIhAJjf09pCJJTOumZ86pNN1Iw1ISGNDMFehVvCnG0Ot8nd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1824011},"type":"module","gitHead":"0ac85c6a790456c57a31f3fdafcf63e624c52b3b","scripts":{"test":"vitest run","build":"tsc","prepare":"tsc && chmod +x dist/cli.js","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"_npmVersion":"11.16.0","description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.6_1785422426544_0.8605152457124154","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@henrythdu/cells","version":"0.0.8","license":"MIT","_id":"@henrythdu/cells@0.0.8","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"b709da7ae1923fc8b9637491287788f622978784","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.8.tgz","fileCount":68,"integrity":"sha512-NW25m8cxWABD9DDcDOKnkUzS07flyERNdkhro2RU3dfKtdfhEqycqDqauUQ40rYjwpEZRUXHZ3yFeMnHC3JHNw==","signatures":[{"sig":"MEQCIDsdEMVgd+qJEwDpEFqZbg3W5KJJJZ/b+RRv3dNx1uHgAiB3orKFnRaQznGSFc0xVmH6KpBNhtkl5Ak+IJ0GeRaARg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1825830},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.8_1785433751105_0.8480395595646044","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@henrythdu/cells","version":"0.0.9","license":"MIT","_id":"@henrythdu/cells@0.0.9","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"52e12809d23a77465144099749518c1b3fe01339","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.9.tgz","fileCount":68,"integrity":"sha512-TgDRk4iKaYsrWmC/T1OFGvz/Asfvs/L4TI6pV2RS/KAnkfzdGUT3O3ltecVjU2wME5TYSQXivWpI2TmKrfbeFQ==","signatures":[{"sig":"MEYCIQCHR3t/PvOX/w2CaPljia11KY5LIlm0edo5RopDRXFzKgIhAJFIq4HcdX9wq+bHq0fqVe27UXjfTX+iVHIZEddwJHiv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1834807},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.9_1785445680698_0.7439107431900513","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@henrythdu/cells","version":"0.0.10","license":"MIT","_id":"@henrythdu/cells@0.0.10","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"4240337815aee3de2fd42defd384a594692a251c","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.10.tgz","fileCount":68,"integrity":"sha512-lz8Q2s9l2iR1Pk0+q4Y9XeF3ot3VuTBoh/eD9SmvJ1WZ/bEd68efINkkOo6oTSUTdKKYuzRD4pL+vnRl0X6+Tg==","signatures":[{"sig":"MEQCIDYUmMYygYgWazP1iTjaxrOld6YB8FemBuXhGB2//GDqAiBi/ltnpmQGzzD3lixqRbC3gdh7jOHBq01FqE/o0SI2Ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1835736},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.10_1785501248711_0.3125289931989954","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@henrythdu/cells","version":"0.0.11","license":"MIT","_id":"@henrythdu/cells@0.0.11","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"1a3500f09c051c18fa840676c10002f8e6725faa","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.11.tgz","fileCount":71,"integrity":"sha512-5wRMbvV8O7s2HI6WILITSODQYTXb6i5gHYzpS1OuwNkdPR8QRZ/mb3kM83UUN3fz3kXMb2UYM1bnJePpqMSJYQ==","signatures":[{"sig":"MEUCIAwkVKnW1U5TwAVS1pGJuxOXowYJgJyNuw+3fdyxgArkAiEAqFXTvOvCQeZt+jnzwSWAFbRMTJLhO+FTy5IUpDGI8G0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1853172},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.11_1785505144771_0.6457097899551192","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@henrythdu/cells","version":"0.0.12","license":"MIT","_id":"@henrythdu/cells@0.0.12","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"66be18ffe93d8b71dfffc9b0ee8ceb184afbcf02","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.12.tgz","fileCount":71,"integrity":"sha512-tvfcCGTklWF1zsFenAqVCKw4901LJARJIO+rirba+jbbWI0A+KalCsXIOx3nuLGmOlewLsIjOzP+2P6JffUBtw==","signatures":[{"sig":"MEQCIELbSXjLe2FND2njqndaZVG+J2Pf7CDgrtpDJD+QmIS1AiAo0kcyQHvQHq4i7P8OGYcNLhsyHOg0BE+O8Kd52E4Drw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1853291},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.12_1785506952172_0.3762278525407394","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@henrythdu/cells","version":"0.0.13","license":"MIT","_id":"@henrythdu/cells@0.0.13","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"08684258bb729dcb1f865e89a6e03871b5f9556c","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.13.tgz","fileCount":71,"integrity":"sha512-EqZ4/FoY1DoLkYX4CViIePlDceURIrVSGVFeM5wfEk68PtcmV3/RNzJyfLwgEIiz1nR4n4zBsB5wwUweloDiaA==","signatures":[{"sig":"MEQCIDD7cPLgTaXIEA+Fb09FfB9uDL6wbpX0HQmvHRsOXyaJAiAWsKHuuQtU48Jj1wsOxgtwJdzG8TSaJOm1rRTtkd/J1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1877049},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.13_1785517740772_0.09442576011152481","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@henrythdu/cells","version":"0.0.14","license":"MIT","_id":"@henrythdu/cells@0.0.14","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"ca7cb17b44c1d7bff32f5cd375db57b923ba4bde","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.14.tgz","fileCount":76,"integrity":"sha512-GSQ+arC4NyY6NFkEaIfTjMa9HAW4b7WpkPc71eS6FTNgc9M+lh1VX0DNQd7YDV1ns2oUrpQZx5OHYn0X8QWYkw==","signatures":[{"sig":"MEUCIQDFLzRnSMuGFVBw3WQ1jjk+xRdZZtTFewkKPL1CJnFdsgIgGo3DFTEBiIaF4W+iBvEBA/bi1DMuQeBs+zPLrF+IPzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1909582},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.14_1785523208223_0.392554736913155","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@henrythdu/cells","version":"0.0.15","license":"MIT","_id":"@henrythdu/cells@0.0.15","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"0f5a98094b848b4a961cf54524c8792dfd3bab86","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.15.tgz","fileCount":76,"integrity":"sha512-dkFaFd1zoEMU5C9VxwkXzWmFzblw6IhGeaUmcY3b94JdEN8SNYCgrXVTZFrvGV7vfqshxcL+i3kG7bHgMjdZcA==","signatures":[{"sig":"MEYCIQCVRkkSizORRxcCpNi/SXUc8MatW9lIRMGzWGOwHMEAOQIhANTgp3Kw+CXEfRp7PSiELBvQ21af41AwPGbA5onf/woi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1930804},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.15_1785527364037_0.6502256140801195","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@henrythdu/cells","version":"0.0.16","license":"MIT","_id":"@henrythdu/cells@0.0.16","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"efc65a397518890b26e1a794a048df00cc076e29","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.16.tgz","fileCount":79,"integrity":"sha512-jQmKnRQBowFMccM0bTX6HnbustkPmWlbAGuRRTcdpI1lIPdh0WD+a92JHM/D+DAWGia+mlgMWIW5Hy4K/4/nVg==","signatures":[{"sig":"MEUCIQDYubO3CsjstHIyhcRa8JaRWZQ08T/YuJs5frSZwxib2gIgYxHfmRxMyZ5YQvrioK3WrBY03zGlQfyt6rSvsszy1Xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1971409},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.16_1785614804648_0.8041943254655535","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@henrythdu/cells","version":"0.0.17","license":"MIT","_id":"@henrythdu/cells@0.0.17","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"c44b6338631730d075dfe74118b1926b53cff1e5","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.17.tgz","fileCount":82,"integrity":"sha512-Hf9Wa/qD4uc/t5HZBMHWQimPxWzyObSQ3shZLcvF+3sHaOIPEVug6xFaI8UzPahsbIKd0lIfqExE4DcQ6BWrFw==","signatures":[{"sig":"MEUCIQDt5ImB12limNsDvg41sT9A7lZc7vM/E4E9mU3/5mwwAQIgb+fZxS7ZEaQkEOSZoZ24KIYbDKgS9p1brCMuqlsf3as=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1978125},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.17_1785618261737_0.34107723029784065","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@henrythdu/cells","version":"0.0.18","license":"MIT","_id":"@henrythdu/cells@0.0.18","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"42a704a79cd63b73ad208e584e225997ccdb8e1a","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.18.tgz","fileCount":82,"integrity":"sha512-vcOmIGgN+07VEPWN0zwf2U43S//SR4QxjK6aHV1882tYvAK/SXw2RwsGvX3qUlvi5HEmeedUeZGU5MQZDRp6GQ==","signatures":[{"sig":"MEQCIGkvCGOnF4e7ewZkHFCg9SXwCnFHXEtO2dJ2wZ6Vz1VBAiAx03kXng9aj3CTw52OnOH2icMPjQpVIow2wAUFuHiCzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1992562},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.18_1785677085570_0.45159038255472383","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@henrythdu/cells","version":"0.0.19","license":"MIT","_id":"@henrythdu/cells@0.0.19","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"f6d244a8b7a06f334ac6d638853416d33f0d9173","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.19.tgz","fileCount":86,"integrity":"sha512-fUKM3xOPZHo8Y2fYj0nKetPn5T38hIey8J/QzORFZiMEZrjFzvkFf8+XOgi2GvY7esVxW3jHAU5a8uOavETt+g==","signatures":[{"sig":"MEUCIAU2CxbIJoEoyDB74tpO06enXywQ0yX6I3fxkieUm737AiEAxiZXroVOX0q2Rftay01A8OuzpEqTd6Eap0XcgFvsS1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2230575},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.19_1785685478078_0.8575612631872989","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@henrythdu/cells","version":"0.0.20","license":"MIT","_id":"@henrythdu/cells@0.0.20","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"aa346c67835072cd65779e116450138ecf995f85","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.20.tgz","fileCount":86,"integrity":"sha512-J0uOjIMlE5md0oaepmD/uu+imBu13+ad8/wyJkVuKhBt6Kkb+kt75TMvrUNS2XcLVoIGzlRqa+3biKBPOlJWsQ==","signatures":[{"sig":"MEUCIDFHpkD8To3pZIAuUOBBwgMwPxpWQ07ZocFF4UI9vsToAiEAzzx48uaPFlv99VlZcGWn4QXWCPM2Ixki7vPXgP9+cK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2232565},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.20_1785686754293_0.660431765463426","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@henrythdu/cells","version":"0.0.21","license":"MIT","_id":"@henrythdu/cells@0.0.21","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"30fb70e6ee69c9f5bf05b48bfa5adfe7ca8ce9ae","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.21.tgz","fileCount":89,"integrity":"sha512-lGnfuNACbnzZOTO5bOP0l2H27IMrLjaFBncpyPrghYcM+qbSbKyTwfiz25DINybJ1cCVeN1pO/dLJjTRgcWevA==","signatures":[{"sig":"MEUCIDRTbSobTJDYCMkekmE+GOig+dtem10doMtwHJCvoMAnAiEAkvIIGbMqI3ZbXZffF4UjMtj/6bv3OtDZzV3uqC20Kjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2244102},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.21_1785691166530_0.11992995043183341","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@henrythdu/cells","version":"0.0.22","license":"MIT","_id":"@henrythdu/cells@0.0.22","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"5151ef6279aa22331cbdfc4ef358e8b29bc440ba","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.22.tgz","fileCount":89,"integrity":"sha512-sB4K/DpCS7DItRkzQH5rj5P1dp0JNTUPPBQylLB3sYf3pMAS8ylax24bL4M23awLHUEBNJV5Lr8WB6DdM/nZnw==","signatures":[{"sig":"MEYCIQCpJDDCOkWcqI9mF3MVtK82ZG0mFeIX0IyZ47vhUyNTIAIhAI1oAlzUC4sK/ol9EiuwZeJmmIbYHtzaH5pHtKWRvHea","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2245886},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.22_1785693185476_0.3755293803436426","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@henrythdu/cells","version":"0.0.23","license":"MIT","_id":"@henrythdu/cells@0.0.23","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"475d8b121c37e3bd59edae0cc573775e98522d50","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.23.tgz","fileCount":89,"integrity":"sha512-BQ7at1kVdR9I4m7sG3c97nudAW0WpItUzTZymKYeQC7oFEbEv+20zGJqdhd1XjgpJq7pIyeG3KvYJwL1u7xE7g==","signatures":[{"sig":"MEYCIQD3tJJiNTsYKTQpM8JfYmvSDnyefbA0bDo/JBvh04xbJAIhALyF/d7l78wYjZ46y60d+YgQ0gSb5Qh9MzkB9v4hQw63","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2248094},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.23_1785699197942_0.2635077260453711","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@henrythdu/cells","version":"0.0.24","license":"MIT","_id":"@henrythdu/cells@0.0.24","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"20cfdd72e913ca63d13cb5464c42934d696f3b76","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.24.tgz","fileCount":93,"integrity":"sha512-dmXAHvemisKA1w9FPyupfcXBQWJjTHmtGO/87HWrEPKUnqwHpnyxz/5aJZ8wn2uBVPmJxarC/rD1B/bfKBU0zA==","signatures":[{"sig":"MEUCIQCg1Ck8E/k4F90OMSw1MuaAL9xJOWGU+oRMZ2tFQVUj8QIgBgc9xs077qZBs0JoBC6zUMSerbdLneFWTJ7CYPbEaos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7885042},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.24_1785709440475_0.526446187813735","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@henrythdu/cells","version":"0.0.25","license":"MIT","_id":"@henrythdu/cells@0.0.25","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"40606fdb20a60280c988f438c5a1f995aa93a2b8","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.25.tgz","fileCount":93,"integrity":"sha512-Phw7jxiY6DY7nK5tqNoHnBLhqQOgGLTGs3sM7qlBGcHYgglbi9r/7zPtSyK9zU2VIpUefA7UGuPxJDdQihFWPw==","signatures":[{"sig":"MEUCIQCCZu2D8I6f7NzEueCoa6HqzCZlllmZyLXybH95k/2KJAIgEZKU5U7iHorbL++PSlW38DUmDa63vkIO+wEjI65wKso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7887194},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.25_1785758118838_0.7960716751112098","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@henrythdu/cells","version":"0.0.26","license":"MIT","_id":"@henrythdu/cells@0.0.26","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"33635827aaa29ca33bf650496b223eb8a81bbb3f","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.26.tgz","fileCount":93,"integrity":"sha512-QDio64OpN8BQgFp0sXG1XrjOF/dSY2sAGwN+5nKTs+ddgj55Xqzr1WhaSuA00BbMmIHCAiwh6awfq1AWbl+u8w==","signatures":[{"sig":"MEYCIQChcxyzFUJv1JF4EGHoX8aAjaNyvT6b8p/+gDQpivfc7AIhAMMP9dwp8FkopoGmDGkEk+Y0ktQGtoApFIx7D+SnfI+a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7888642},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.26_1785761244605_0.8179510734861242","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@henrythdu/cells","version":"0.0.27","license":"MIT","_id":"@henrythdu/cells@0.0.27","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"c9b420f266f806078c2bdcf6d160c81cd4efb011","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.27.tgz","fileCount":97,"integrity":"sha512-AWcU/aj5D4ydBWaAYXAbsj9ZqNoO0X9V6fAoa/YuvVPSIs7REarUCmgy0Uuwb7S+aVF6VUs+ggBao5c6xGHX8Q==","signatures":[{"sig":"MEUCIQCsUzsk8cBhQoU1qirGXlHC/Xnem9iRkf9If/kiA3k+UAIgWXjnr6odzeZoNFJ1aUwRiu3ZjmhgkAtyluSDqoifYQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8321911},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.6.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.27_1785787096115_0.17511334742971418","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"@henrythdu/cells","version":"0.0.28","license":"MIT","_id":"@henrythdu/cells@0.0.28","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"31f9ef7843c1b58c1ecb469c972940d303b9d46d","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.28.tgz","fileCount":97,"integrity":"sha512-ibMWe61Zjz6yD3x0hULzdiCUMcLjRn0uGKcp0YFmoooX+luRk36U8I+pbtXxBhZRLFy+nQpJn7mxat7NzOMBNw==","signatures":[{"sig":"MEUCIQDVRF9WXfVG1qBYDcBKL/L89M1RB+9D04B7/k9qSWollwIgcEXjINhDIRLfHFakNE4DkowyDiaN5hRcOREm3xmiKuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8321329},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.6.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.28_1785788821402_0.45412342903017633","host":"s3://npm-registry-packages-npm-production"}},"0.0.29":{"name":"@henrythdu/cells","version":"0.0.29","license":"MIT","_id":"@henrythdu/cells@0.0.29","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"4cb7ee54c0b85f126608875896ee9c8196b33035","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.29.tgz","fileCount":97,"integrity":"sha512-3JBFK4SWZaCn04To8v1oxCOtNLjtRIyXKbDCxn9o0mR6RmQlWlynAcz9NnHxDFPgugDWBfVsS8nf4tz0KsgU0g==","signatures":[{"sig":"MEQCICC/YIhjS7ESeFDwqafuji/JDHyuphPc86wkLT0k+UhbAiAZti35zH5P564nDO00iFRAPf5+2aIeFfJZmYUKwpSmcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8322475},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.6.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.29_1785790891064_0.46837919981977216","host":"s3://npm-registry-packages-npm-production"}},"0.0.30":{"name":"@henrythdu/cells","version":"0.0.30","license":"MIT","_id":"@henrythdu/cells@0.0.30","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"1567c3d5fd47254cad529eb84bbe5e26c70fff19","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.30.tgz","fileCount":97,"integrity":"sha512-fyMQq6exuZfpPW6f7b4ibKGuerdIgsUQt4vD6oy6q88dwzZ1gKExng7d3+XdRypuBp0pzmN+Se8suigKBQ6sNw==","signatures":[{"sig":"MEUCIFqysWNSi107+3cvgdAQ4Zqg6tyREyHHlUbyXjxNwNfjAiEAinI2vgRNp20qjX63e24HWkAvUqZXJLbktQCRHRjdDcM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8325370},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.6.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.30_1785791883870_0.37019433452276607","host":"s3://npm-registry-packages-npm-production"}},"0.0.31":{"name":"@henrythdu/cells","version":"0.0.31","license":"MIT","_id":"@henrythdu/cells@0.0.31","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"2237a7bdb5283b23b04b3db53337b1adc31d2ba3","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.31.tgz","fileCount":97,"integrity":"sha512-NAgQ15pC9arDwIy9VqFs+BMtx75qlq2lV+zBcC8GCh4PRdHRFJNhSjqicfv9quRjk3oEuUXlf/gkAhH6C2/dmQ==","signatures":[{"sig":"MEUCIQDtuGra8FsWbkIwD5gpK1/lH95O+Y/m5f1wrB4KVFRC0gIgRQ8NpirIKWNS5kIx57FkPNfA5vjnv4esx+ycZngGmig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8325786},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.6.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.31_1785794638874_0.5421457918441306","host":"s3://npm-registry-packages-npm-production"}},"0.0.32":{"name":"@henrythdu/cells","version":"0.0.32","license":"MIT","_id":"@henrythdu/cells@0.0.32","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"7ce7db9c6b1a70fe6684f12e822c4b41f8807341","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.32.tgz","fileCount":97,"integrity":"sha512-aCvH94wiPw1F1gVZxwQvbwi7CCNJx71qkRfYsta2xoVR3iFopgkUEsfX0FD3sVrTYz5n2Q1dXgU/WTti3uA2mg==","signatures":[{"sig":"MEQCIA5uZ5JFTMPD4INpeHngnMrjt176W/OP+vcdNRrN0hHhAiAM8k2Sn41UFCEJ3OTdGjmjlrG3cAKyOgaJZvshHFbhpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8345564},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.6.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.32_1785805252959_0.43803694034764984","host":"s3://npm-registry-packages-npm-production"}},"0.0.33":{"name":"@henrythdu/cells","version":"0.0.33","license":"MIT","_id":"@henrythdu/cells@0.0.33","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"76f80b173a04b480fdbcc8aba9602e0d3285f5f2","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.33.tgz","fileCount":97,"integrity":"sha512-0uqrdBK2A+8MVCpGQRaC+9BnLFBzPC+j3y5bo6BMvPAf7abighiTV1wOB02o0mfEzRLTbhLrMZWqchQGyfphXA==","signatures":[{"sig":"MEUCIDovr4gsjPY1666K5d/rEYOhbF2mCeeW8aqDfNEGJxTzAiEA9x/LZAO7nNx7kIV9reKOE8E0G0ofBh/WlJMxWcoWzic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8363623},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.6.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.33_1785856724058_0.1593735584871776","host":"s3://npm-registry-packages-npm-production"}},"0.0.34":{"name":"@henrythdu/cells","version":"0.0.34","license":"MIT","_id":"@henrythdu/cells@0.0.34","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"732affd876d66aac5dee45d80b81db0dba8cb81b","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.34.tgz","fileCount":97,"integrity":"sha512-wPCPPgyBo/AzLQjFuKnaN5cybrLFIGQPdqWgsoVic3mE1o3ulJLBxfof2bS2k6+pJv04ZMgPUsmyU3IizxLhjg==","signatures":[{"sig":"MEQCIDD+nicM9EUeqgRjYKk8QEeBWsNUhrjKJmCPqhZ72XPPAiBFW6WQeXYESCq/snfzx/fQpohIwE9LJg777wjeiEfclw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8374148},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","typescript":"^5.6.0","web-tree-sitter":"^0.26.11","dependency-cruiser":"^18.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.34_1785973486197_0.5084747921568826","host":"s3://npm-registry-packages-npm-production"}},"0.0.35":{"name":"@henrythdu/cells","version":"0.0.35","license":"MIT","_id":"@henrythdu/cells@0.0.35","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"08f7252689fec174284f9021f282fd4637d2e440","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.35.tgz","fileCount":100,"integrity":"sha512-oDpsQfaGjbnbYH2Zrzy9W6Y8LtR2wNDAyfSz3NiDprdvkvp+ocuBKxXlnYX2DM2RN8re7wbXTictDIvNEUDQMg==","signatures":[{"sig":"MEUCIQCHb4zk02lXpm3dVSM8eMgLklhO2Rf09Lbtgio9A1FhzwIgIakNN0DYGNT72d69xJ7fgdAMdPooY9CzPJYbMUA4OOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11653864},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.35_1786017838311_0.6637560677736429","host":"s3://npm-registry-packages-npm-production"}},"0.0.37":{"name":"@henrythdu/cells","version":"0.0.37","license":"MIT","_id":"@henrythdu/cells@0.0.37","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"13290101d1baba6590d12c4105d81ff3d3c8543f","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.37.tgz","fileCount":103,"integrity":"sha512-78Ggw8KOI/QOBSAu4V7qUJusKi3fHpckV5MK+o06Gf/bTSj30IHXyiDkN4sSOxXP90ptC3ArHOJB6HC4pJxPww==","signatures":[{"sig":"MEYCIQCtX1lMbsyCNMb6VbKry4QLYsRNV0xZTVKAQAKF3Pt0ngIhAO3fcUhwqbJA91MeNmsf/aB4VhNG6tpfx+FIY2qwxu8m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11672376},"type":"module","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.37_1786102063037_0.16522328686503807","host":"s3://npm-registry-packages-npm-production"}},"0.0.38":{"name":"@henrythdu/cells","version":"0.0.38","license":"MIT","_id":"@henrythdu/cells@0.0.38","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"8e7de5da9a61130abaf3479d4a733d141dc80124","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.38.tgz","fileCount":103,"integrity":"sha512-16OoghXOpCKO0muF/xPJ78CG6llJfW0p2j2ppdz24z56JU/R1HukX5WDJEurXwye2QEdjsNfwj6SQOh7j27zVQ==","signatures":[{"sig":"MEYCIQDbZOeU7wgqtw5xcQQH1eGHIx8F4gJvzCXyPibXXVe0AwIhAL5x141Ss/Yf1HUmHQFDgK055vZ/Doemb13qV1UTt8mp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11672529},"type":"module","scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.38_1786192873917_0.06261267672871318","host":"s3://npm-registry-packages-npm-production"}},"0.0.39":{"name":"@henrythdu/cells","version":"0.0.39","license":"MIT","_id":"@henrythdu/cells@0.0.39","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"9b59341f0c03b5e525b054f3f0ab41c26a49bdd1","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.39.tgz","fileCount":103,"integrity":"sha512-S9dkED0qntERObtCqp4jf6Jy5yQ4ys6fIAfPmX7z7ZAkIXq4nCf35sPFjrZC1QN9AfvNxDvMy1jzssvZV6PrFQ==","signatures":[{"sig":"MEUCIBGxIm0iAYyrIbbi9hTlRmXMJBikbsUussIvjhh/mo6AAiEA+YYZ0h1W4sAbtA8w4KKWMwEn10eOi53Qx/0BF5yA5xM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11665618},"type":"module","scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.39_1786194643123_0.668601218136156","host":"s3://npm-registry-packages-npm-production"}},"0.0.40":{"name":"@henrythdu/cells","version":"0.0.40","license":"MIT","_id":"@henrythdu/cells@0.0.40","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"b25b09a366f903375d10a68102f9296e3f4f07df","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.40.tgz","fileCount":103,"integrity":"sha512-bD/5BoMVOGJxr+I0EF9b2vDhUDEKWCGt0Y4aof37h8VUuEQi/O3BWqV6ssG1BdtXhW+vtdbd8nKq4A+26QoPAA==","signatures":[{"sig":"MEUCIB5h52/U582pBb/0YeVhdr36Q9DrafKes5r3tpr2mXOxAiEA2sAA+mjjrsayoxQxvuqHUXSFcbhIx9/lrodWYs80/Mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11665802},"type":"module","scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && npx biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.40_1786284114395_0.5193076733128859","host":"s3://npm-registry-packages-npm-production"}},"0.0.41":{"name":"@henrythdu/cells","version":"0.0.41","license":"MIT","_id":"@henrythdu/cells@0.0.41","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"f6438fc43cc3dbe8aeb6387222aaf83c25a3d348","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.41.tgz","fileCount":103,"integrity":"sha512-nt/VhaQST3FSdXAvBSnp0tySzpavSvXaTkEVDH79fmIBRyVbV9+O3/q0RBZc2jbgPAesjXAHvXiN+exsE+yJoA==","signatures":[{"sig":"MEYCIQC7x+xDUxLRh1L/9QtBMG2JFvgSeQNt8dE/6lCK/atK9AIhANoMVIPDqvstLrDINW1N8t5xIYKky6x3KqENiAKMpzso","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11671962},"type":"module","scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && npx biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.41_1786359541786_0.019273485695564085","host":"s3://npm-registry-packages-npm-production"}},"0.0.42":{"name":"@henrythdu/cells","version":"0.0.42","license":"MIT","_id":"@henrythdu/cells@0.0.42","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"15e4f8a32aed9fdce01f0b1ff02f44aac8c0f11d","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.42.tgz","fileCount":103,"integrity":"sha512-oHMQyUSVwdj642k1yEzYmQVxVGGQdwty7HJm7xkPA4VQTf8VwcMjPfA/5mSQaIX3k6IvKxW5L8Ge1oq1EdaDSQ==","signatures":[{"sig":"MEUCIEHBq8zUE06wkai/aKEEDpQ5TjwCp/1g4iAU8r64i8LBAiEAo8S7CHVpsW10y62f7FUOJCPTIGLShYAThWg592xcUi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11672663},"type":"module","scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && npx biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.42_1786462971094_0.027604664598545492","host":"s3://npm-registry-packages-npm-production"}},"0.0.43":{"name":"@henrythdu/cells","version":"0.0.43","license":"MIT","_id":"@henrythdu/cells@0.0.43","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"9dec9021f14a234545f89f2b1f7a1e71650224dc","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.43.tgz","fileCount":103,"integrity":"sha512-d3tdz2otf7EfU/hdGwNwVcfrpV4dyNgwfLdYdnMVGGlWf8ExdRDSv5yNUUK157ZtG6WpMKle6uEBnHOWR4VRQg==","signatures":[{"sig":"MEQCH2+QwEg/WR+3bRqhTGaaeXz1IQxffysQqsrrFHQoLBUCIQCzeEHvuaNKBsxSkBxh0025+4aQ/B45/mDKMZGdzPGRhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11675954},"type":"module","scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && npx biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.43_1786484304518_0.0020266794721706116","host":"s3://npm-registry-packages-npm-production"}},"0.0.44":{"name":"@henrythdu/cells","version":"0.0.44","license":"MIT","_id":"@henrythdu/cells@0.0.44","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"1dea60faccc6e5a7c90e8d7193c6882f297f3e7d","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.44.tgz","fileCount":106,"integrity":"sha512-hhUxM8Zc28BWTDlot2qBnLPw+n6Ja5CZX9IDihHEliqhXh6pZnP+4anwlIpYnxVxmVv7v/m9yf2gCE159CovgA==","signatures":[{"sig":"MEUCIQDRV2R7t/IzZrZmjR4m5hUOtPww5B7SO9X+CWX+HZsEIQIgRWo40S1XNhKS2OEBvO2PAhU8y+cXUg5TEzVn12FChrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11684289},"type":"module","engines":{"node":">=20"},"scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.8","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.44_1786557005548_0.43015285189001085","host":"s3://npm-registry-packages-npm-production"}},"0.0.45":{"name":"@henrythdu/cells","version":"0.0.45","license":"MIT","_id":"@henrythdu/cells@0.0.45","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"7d265fbba8592efaf34568224489d95273762519","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.45.tgz","fileCount":106,"integrity":"sha512-2q1NniJbOlSBD+2khABzGSDD0dHX0q59e6ifIBLfsKkX50dJGNvTIrwvvTDyCAr4ETm9vSIvxadV8M/dtPbosA==","signatures":[{"sig":"MEYCIQCRsjuSdAFJ8T5nlM0HRA9mHhmX50KhNvBDRHdCH5ggpgIhAJWNqaj/C+2aXbESdm1hOR1qpR/lKg6+otj9GT9yD9Rr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11695625},"type":"module","engines":{"node":">=20"},"scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.8","tree-sitter-cli":"^0.26.11","tree-sitter-javascript":"^0.25.0","tree-sitter-typescript":"^0.23.2"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.45_1786567981762_0.42807926681656805","host":"s3://npm-registry-packages-npm-production"}},"0.0.46":{"name":"@henrythdu/cells","version":"0.0.46","license":"MIT","_id":"@henrythdu/cells@0.0.46","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"ce9b8f58c1e76cdc49e0c83312c7484ecb099613","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.46.tgz","fileCount":106,"integrity":"sha512-sQWOfr49mG3FDHukDZyISiy6VTMzAfwtzf8/6zMvU0Ia4gOXfIiBgY/lQnFyArKnQX1UWXZh+3af+6SRlXe8fQ==","signatures":[{"sig":"MEUCIDl3qqJE3pU+W9dZ2Hl2DRQ7FU9T+3NAFOWW2/IFVfWIAiEA9MbdVuGNel3NkAVCwZAn5FsknOsWPwzJoI2leethoMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11694556},"type":"module","engines":{"node":">=20"},"scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"26.7.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.8","@vitest/coverage-v8":"^2.1.9"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.46_1786570565473_0.1753994440469464","host":"s3://npm-registry-packages-npm-production"}},"0.0.47":{"name":"@henrythdu/cells","version":"0.0.47","keywords":["llm","code-organization","context","architecture","cli"],"license":"MIT","_id":"@henrythdu/cells@0.0.47","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bugs":{"url":"https://github.com/henrythdu/cells/issues"},"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"97690683e5e37ae4dba1062634c256297bb1250a","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.47.tgz","fileCount":106,"integrity":"sha512-MlQdn6SXlZspSIlLUMonUONe75nRrOedYf9qTWYytPmTkIBXk75771iQtKiVAjIYfiFzqQmRUM4sADx1fYEalA==","signatures":[{"sig":"MEYCIQCg7tNTWoXaCuXvBxMo6lg0bHlRnthzS5gTeaMLcRLd5AIhAOGNZhs9RsmIkBAzTjRQvtbUs72MjflrC/A2F8/l92YX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11716604},"type":"module","engines":{"node":">=22"},"scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"repository":{"url":"https://github.com/henrythdu/cells.git","type":"git"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.8","@vitest/coverage-v8":"^2.1.9"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.47_1786628530266_0.19030973224481507","host":"s3://npm-registry-packages-npm-production"}},"0.0.48":{"name":"@henrythdu/cells","version":"0.0.48","keywords":["llm","code-organization","context","architecture","cli"],"license":"MIT","_id":"@henrythdu/cells@0.0.48","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bugs":{"url":"https://github.com/henrythdu/cells/issues"},"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"eb3e1ce5e84103ed0d061fba73a455182c693c17","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.48.tgz","fileCount":109,"integrity":"sha512-cZkXVAMjtuWhtF2cf9UZ6pRcFP/kJJCC2wSoMlOjzT089vLX2ZLpr8T1+z3C/Vb6d1cLtubdSJsmaDUS3BVb8g==","signatures":[{"sig":"MEYCIQDGKzvetwKvrYAnFx27APRvso863EekuVmXIeKK/MG4qQIhAP43+g1GLGVexYz4NRVruGfknjcpmOSpOEdGgYaWkNHd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11772248},"type":"module","engines":{"node":">=22"},"scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"repository":{"url":"https://github.com/henrythdu/cells.git","type":"git"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.8","@vitest/coverage-v8":"^2.1.9"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.48_1787781462037_0.516456300603259","host":"s3://npm-registry-packages-npm-production"}},"0.0.51":{"name":"@henrythdu/cells","version":"0.0.51","keywords":["llm","code-organization","context","architecture","cli"],"license":"MIT","_id":"@henrythdu/cells@0.0.51","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bugs":{"url":"https://github.com/henrythdu/cells/issues"},"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"959ca563d4a6d838eb10d42e182e0707c6920763","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.51.tgz","fileCount":109,"integrity":"sha512-I7WFv5q4OyBzWuquS7vr4Dvl42RmBQRir3fn0yKQF3VNuI3fJBaxKMxEp6/mECI9GnmqdGyUANwlpNHatLDY0A==","signatures":[{"sig":"MEYCIQC00OmiK/HVyIjnLyw9bTRxQqAyAfLgTY6Fqjmed0yFAAIhAJk6SSoU2EjO1C8ZsmmJ4wAbeGGkVphPUNsQc3hmljhg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHF8qzg2QmNzQX1UsV9xZVu826aPsi7cdCfeh5CuGy1wAiEA4x8jfAPYbakbJP9p2Rcj2ZK5XXL96rq+RS5t2fm3P38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11774125},"type":"module","engines":{"node":">=22"},"scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"repository":{"url":"https://github.com/henrythdu/cells.git","type":"git"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.9","@vitest/coverage-v8":"^2.1.9"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.51_1789060048262_0.7391701619918105","host":"s3://npm-registry-packages-npm-production"}},"0.0.52":{"name":"@henrythdu/cells","version":"0.0.52","keywords":["llm","code-organization","context","architecture","cli"],"license":"MIT","_id":"@henrythdu/cells@0.0.52","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"bugs":{"url":"https://github.com/henrythdu/cells/issues"},"bin":{"cells":"dist/cli.js"},"dist":{"shasum":"2c7328d7b8ee4822c50942e926e5548d4db5dad8","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.52.tgz","fileCount":109,"integrity":"sha512-LKPqeKsXTKSw7GOiB7SBOROERq3xkSumxFd8hW86vt8Oji4Zat19H4eymyWAOhCOcC/g+sHE5WyFDT+mKplf4g==","signatures":[{"sig":"MEYCIQCLAoAai8ZwiNEEcemmVOh+4VBwrk4uvXVaoZkpFk0bBwIhAJxOfcDISyvrucAiUZLjgygrbHi04dGW7FOjcX5FnQkx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFozAbfgAwgr2JHoYmY8oWA9pghsVeQGx+WKBIa86jA8AiEAnZW2DmxRllE0d8N44HgtlwhRX6pYbTWIkkxWeL+xKPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11796445},"type":"module","engines":{"node":">=22"},"scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"repository":{"url":"https://github.com/henrythdu/cells.git","type":"git"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.9","@vitest/coverage-v8":"^2.1.9"},"_npmOperationalInternal":{"tmp":"tmp/cells_0.0.52_1789073262587_0.9869268399280635","host":"s3://npm-registry-packages-npm-production"}},"0.0.53":{"_id":"@henrythdu/cells@0.0.53","bin":{"cells":"dist/cli.js"},"bugs":{"url":"https://github.com/henrythdu/cells/issues"},"dist":{"shasum":"4b42f499f23bfa2ae0d56fa25c5b76bde10970f5","tarball":"https://registry.npmjs.org/@henrythdu/cells/-/cells-0.0.53.tgz","fileCount":109,"integrity":"sha512-oblEHLkfuH/t3EF5pqIjrMKLTWDqEd23J6mukakEqI4z/36CIUrmVx1LecFSMNIyd2fLY4je/94EsMw2PLLJWg==","signatures":[{"sig":"MEUCIQCXgyVGQmE2kp4Tl404k0l56wkuCyTy//wr+eKpzoVWowIgYDMNU9fPX73yjkD9dJyLCZ4a5sNzIj8Fxd/rSiML8ck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDLn0b9Wr24gYzNA8vbjnN+VCT0OLJET9u+OKfKaIrOlQIgK6jusbRsUoeeXxjfKmvFl7ZpmtJJ91tSc7OcZD15knI="}],"unpackedSize":11797689},"name":"@henrythdu/cells","type":"module","engines":{"node":">=22"},"license":"MIT","scripts":{"test":"vitest run","build":"tsc && tsc -p tsconfig.test.json && node scripts/build-manifest.mjs && biome check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest"},"version":"0.0.53","_npmUser":{"name":"henrythdu","email":"henry.thdu@protonmail.com"},"keywords":["llm","code-organization","context","architecture","cli"],"repository":{"url":"https://github.com/henrythdu/cells.git","type":"git"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","directories":{},"maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"minimatch":"^10.2.5","smol-toml":"^1.3.1","web-tree-sitter":"^0.26.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.32.2","vitest":"^2.1.0","typescript":"^5.9.3","@types/node":"^26.1.1","@biomejs/biome":"2.5.9","@vitest/coverage-v8":"^2.1.9"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cells_0.0.53_1789150523693_0.9726124995901326"}}},"time":{"created":"2026-07-30T14:40:26.263Z","modified":"2026-09-11T18:15:23.998Z","0.0.6":"2026-07-30T14:40:26.678Z","0.0.8":"2026-07-30T17:49:11.273Z","0.0.9":"2026-07-30T21:08:00.859Z","0.0.10":"2026-07-31T12:34:08.882Z","0.0.11":"2026-07-31T13:39:04.939Z","0.0.12":"2026-07-31T14:09:12.354Z","0.0.13":"2026-07-31T17:09:00.942Z","0.0.14":"2026-07-31T18:40:08.394Z","0.0.15":"2026-07-31T19:49:24.227Z","0.0.16":"2026-08-01T20:06:44.914Z","0.0.17":"2026-08-01T21:04:21.951Z","0.0.18":"2026-08-02T13:24:45.778Z","0.0.19":"2026-08-02T15:44:38.290Z","0.0.20":"2026-08-02T16:05:54.459Z","0.0.21":"2026-08-02T17:19:26.730Z","0.0.22":"2026-08-02T17:53:05.695Z","0.0.23":"2026-08-02T19:33:18.087Z","0.0.24":"2026-08-02T22:24:00.653Z","0.0.25":"2026-08-03T11:55:19.043Z","0.0.26":"2026-08-03T12:47:24.800Z","0.0.27":"2026-08-03T19:58:16.345Z","0.0.28":"2026-08-03T20:27:01.568Z","0.0.29":"2026-08-03T21:01:31.251Z","0.0.30":"2026-08-03T21:18:04.071Z","0.0.31":"2026-08-03T22:03:59.097Z","0.0.32":"2026-08-04T01:00:53.136Z","0.0.33":"2026-08-04T15:18:44.239Z","0.0.34":"2026-08-05T23:44:46.413Z","0.0.35":"2026-08-06T12:03:58.520Z","0.0.37":"2026-08-07T11:27:43.223Z","0.0.38":"2026-08-08T12:41:14.092Z","0.0.39":"2026-08-08T13:10:43.329Z","0.0.40":"2026-08-09T14:01:54.612Z","0.0.41":"2026-08-10T10:59:01.978Z","0.0.42":"2026-08-11T15:42:51.390Z","0.0.43":"2026-08-11T21:38:24.755Z","0.0.44":"2026-08-12T17:50:05.761Z","0.0.45":"2026-08-12T20:53:01.992Z","0.0.46":"2026-08-12T21:36:05.742Z","0.0.47":"2026-08-13T13:42:10.461Z","0.0.48":"2026-08-26T21:57:42.249Z","0.0.51":"2026-09-10T17:07:28.390Z","0.0.52":"2026-09-10T20:47:42.711Z","0.0.53":"2026-09-11T18:15:23.843Z"},"bugs":{"url":"https://github.com/henrythdu/cells/issues"},"license":"MIT","keywords":["llm","code-organization","context","architecture","cli"],"repository":{"url":"https://github.com/henrythdu/cells.git","type":"git"},"description":"Code organized into context-bounded cells for LLMs coding alongside humans.","maintainers":[{"name":"henrythdu","email":"henry.thdu@protonmail.com"}],"readme":"# Cells\n\n> New issues and PRs from new contributors are auto-closed by default.\n> Maintainers review auto-closed issues daily. See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n[![npm version](https://img.shields.io/npm/v/@henrythdu/cells?style=flat-square)](https://www.npmjs.com/package/@henrythdu/cells)\n\nThere are many ways to keep a codebase's architecture consistent. Cells is one: the architecture is **authored and visible**, so every agent — every session, every model — shares the same declared structure instead of re-deriving its own.\n\n- Every file has a named home — **a cell**.\n- Every cell has a written contract — **a membrane** (`name`, `purpose`, `provides`, `requires`).\n- Every cross-cell dependency is a **derived crossing** — computed from real imports, never hand-written.\n\nThe dependency checks are inspired by Clean Architecture (dependencies point toward the core; no cycles) — applied as visible warnings, not academic ceremony.\n\n---\n\n## Install\n\n```bash\nnpm install -g @henrythdu/cells\n```\n\nRequires Node (ESM). Git and npm versions always match — every npm publish is tagged in git.\n\n**From source:**\n\n```bash\ngit clone https://github.com/henrythdu/cells.git\ncd cells\npnpm install      # installs deps + builds dist/ via prepare\nnpm link          # live symlink into dist/ for local edits\n```\n\nRuntime dependencies (`smol-toml`, `minimatch`, `web-tree-sitter`; grammar WASMs bundled in `grammars/`) install automatically.\n\n---\n\n## Quickstart\n\n```bash\ncells init                          # create .cells/ — detects your language (code-exts/code-dirs)\ncells plan                          # propose a partition: crates / npm packages / Python packages become one cell each (review, then curate)\ncells plan --apply                  # or create the proposed cells + ownership mechanically (dry-run: add --dry-run)\ncells assign parser src/parser.ts   # assign a file to a cell (records ownership; stubs the declaration)\n$EDITOR .cells/parser.cell.toml     # author the membrane: purpose / provides / requires\ncells health                        # the gate: every check at once (integrity + crossings + grammars + structure + size)\ncells list                          # see the whole partition\n```\n\n`assign` records ownership **and** creates a declaration stub if the cell is new. Ownership is *non-overlapping* — a file belongs to exactly one cell (the file itself isn't relocated on disk; only its owning cell changes).\n\n---\n\n## Handing work to an agent\n\nPoint it at a repo and tell it to run `cells help` — the tool is self-documenting, and that's the whole handoff. The loop it will follow: `list` (orient) → `show` (zoom) → `payload` (retrieve) → `impact` (assess) → edit inside the membrane → `health` (check). You review partition and membrane changes; it works the cells.\n\n---\n\n## The mental model\n\n| term | meaning |\n| --- | --- |\n| **Cell** | a context-bounded unit of code that solves ONE problem and fits a context window. Has a *membrane* (contract) + *owned files* (body). |\n| **Partition** | the complete, non-overlapping assignment of every code file to exactly one cell. (A file is the atomic unit.) |\n| **Membrane** | a cell's declaration — `name`, `purpose`, `provides`, `requires`. What you read first to understand a cell. |\n| **Crossing** | a real dependency from one cell's code into another's (derived from imports). The seams between cells. |\n| **Payload** | what a model consumes to work a cell — its membrane + owned files + its neighbors' membranes. Measured in tokens (~chars/3). |\n| **Metrics** | per-cell **fan-in** / **fan-out** (distinct cells it's depended-on-by / depends-on) and **instability** I = fan-out ÷ (fan-in + fan-out): 0 = stable, 1 = unstable. Shown in `list` and `show`; derived from crossings, free. |\n\n**Three storage truths:**\n\n- **Ownership is *tracked*** — `ownership.toml`, machine-managed by `assign`.\n- **Declarations are *authored*** — `*.cell.toml`, you write the membrane.\n- **Crossings are *derived*** — computed from real imports, never hand-written.\n\n**One principle:** *visibility over enforcement.* Cells shows you the structure and its problems; it rarely blocks. (The exceptions are integrity, undeclared leakage, and broken grammars — see Rules.)\n\n---\n\n## Commands\n\n<details>\n<summary>Full command reference (also in <code>cells help</code>)</summary>\n\n| command | what it does |\n| --- | --- |\n| `cells init [--dry-run]` | bootstrap `.cells/` — detects your language (code-exts/code-dirs) (idempotent; `--dry-run` previews) |\n| `cells plan [--apply] [--dry-run]` | propose a cell partition: crates / npm packages / Python **init** packages become one cell each, other files group by directory (prints declarations + ownership to review — writes nothing). `--apply` creates the cells + adopts the files mechanically (never overwrites existing cells or steals curated ownership); `--dry-run` previews |\n| `cells assign <cell> <file...>` | assign file(s) to a cell (records ownership; stubs declaration if new) |\n| `cells new <name> [--purpose \"...\"] [--provides a,b] [--requires a,b] [--layer N]` | scaffold a cell declaration (`.cell.toml`) — declare the contract first, then `assign` files into it |\n| `cells prune-stale [--apply]` | remove requires that are declared but never imported (stale); dry-run by default, `--apply` rewrites the declaration files |\n| `cells unassign <file...>` | remove file(s) from their cell (→ orphan) |\n| `cells rename <old> <new>` | rename a cell across the store (file, ownership keys, requires refs) |\n| `cells remove <cell> [--force]` | delete a cell's declaration (ownership freed → orphans unless `--force` also clears them) |\n| `cells owns <file>` | which cell owns this file? (reverse lookup; orphan-aware) |\n| `cells list [--verbose]` | partition overview: each cell's files / size / fan-in·fan-out / requires + orphans; `--verbose` adds a per-cell health line (size%, stale provides, unresolved) |\n| `cells show <name> [--verbose]` | one cell's membrane + in/out crossings (aggregated past 8 edges; `--verbose` for raw) + fan-in/fan-out/instability + size + dead-at-boundary files + change-coupled partners + stale provides + unresolved imports |\n| `cells surface <name>` | print the cell's export-like declaration lines (file:line) — the starting point for populating the membrane `signatures` field |\n| `cells impact <name>` | blast radius: cells that transitively depend on this one (change-safety) |\n| `cells payload <name>` | print a cell's full payload (membrane + code + neighbors + the cells that depend on you) — the context to work it |\n| `cells health [--verbose] [--summary]` | **the gate** — all checks at once: integrity (duplicates, dangling refs, undeclared cells) + crossings (**undeclared** leakage gate-fails; **stale** is informational) + a broken packaged grammar WASM + structure (cycles / direction) + size. Exits 1 only on integrity + undeclared leakage + grammars (strict gate); size/structure are exit-0 warnings (⚠). `--verbose` names failing undeclared edges inline (saves the `crossings` round-trip); `--summary` collapses unresolved entries into per-file groups (the triage unit for high-unresolved repos). Output ends with a machine-parseable `health: X.Xs` timing line. |\n| `cells crossings [--diff] [--verbose] [--json] [--warnings]` | derived cross-cell imports + **leakage** check; `--diff` shows crossings your uncommitted edits added/removed; `--warnings` = leakage + unresolved only (no pair listing — the actionable tail on a big repo); `--verbose` names off-membrane symbols inline; `--json` is the machine surface |\n| `cells imports [--json]` | raw file→file import graph (resolved edges + unresolved specifiers) — the machine surface for tooling |\n| `cells size` | context-fit: each cell's payload vs the ceiling (warning); over-ceiling cells list **peel candidates** — biggest files few others import. A cell can declare its own ceiling (`ceiling = N` in its `.cell.toml`) — same check, its own number |\n| `cells config [set max-payload-tokens <N>]` | read the effective config (defaults where the file omits); `set` edits the global ceiling in place — comments and other keys preserved |\n| `cells structure [--summary]` | layer tiers + ADP (no cycles) + Direction (deps point toward core) + SDP (deps run toward stability) — the dependency rule, checked. All info/warnings; cycles suggest the cheapest edge to cut. `--summary` is the triage view: one line per cycle (size + cheapest edges) + counts |\n| `cells graph [--mermaid]` | the cell dependency graph (ASCII tree default; `--mermaid` for Mermaid source) |\n| `cells help` | this text (also `--help`, `-h`) — the tool's self-documentation; run it first in any repo |\n\n</details>\n\n---\n\n## The `.cells/` directory\n\n```text\n.cells/\n  <name>.cell.toml     # declarations (authored) — one per cell\n  ownership.toml       # file → cell map (tracked)\n  config.toml          # settings (optional)\n  ignore               # gitignore-style patterns (optional)\n```\n\n### `.cell.toml` — a cell's membrane\n\n```toml\nname = \"parser\"\npurpose = \"Turn a .cell declaration file into a checked Cell AST.\"\nprovides = [\"parseCell\", \"Cell\"]    # authored docs of the cell's surface (shown in show/payload; reference-checked when symbol-shaped — stale/unread info; prose tolerated)\nrequires = [\"token\", \"diagnostic\"]  # neighbor CELL names\n# optional — couplings static analysis can't see (data files, runtime loading, shared\n# schema). Integrity-checked and included in payloads; never import-audited:\ndata-requires = [\"translations\"]\nlayer = 0                         # optional — 0 = core; higher = more peripheral (direction)\n```\n\n### `ownership.toml` — the file→cell map\n\n```toml\n[parser]\nfiles = [\n  \"src/parser.ts\",\n]\n\n[cli]\nfiles = [\n  \"src/cli.ts\",\n  \"test/cli.test.ts\",\n]\n```\n\nSerialized deterministically (sorted cells, sorted files, one per line) so parallel\nbranches that touch different cells merge cleanly.\n\n### `config.toml` — settings\n\n```toml\nmax-payload-tokens = 16000                                 # context-fit ceiling — the per-repo knob for cell size (default 16000); edit in place or `cells config set max-payload-tokens <N>`\n# One cell can declare its own ceiling — add `ceiling = N` to its .cell.toml for a\n# legitimately-big unit (a huge crate) without raising the bar for every cell.\n# It's still a budget: over it, size/health flag it just like any over-ceiling cell.\n# [layers]                              # optional legend (rank → label); 0 = core, higher = peripheral\n# 0 = \"domain\"\n# 1 = \"application\"\n# 2 = \"infrastructure\"\ncode-dirs = [\"src\", \"test\"]                                # dirs scanned for code (`cells init` auto-detects)\ncode-exts = [\".ts\"]                                        # extensions counted (`cells init` auto-detects; set per language)\n# skip-dirs = []                                            # dir names the census never walks (node_modules, dist, build,\n#                                                          # target, .git, .cells, vendor, .venv, ...). Setting this REPLACES\n#                                                          # the defaults — the unhide path for a real internal/build package.\n```\n\n### `ignore` — intentionally cell-free files\n\ngitignore-style globs (a trailing `/` marks a directory → its whole tree, like gitignore's `dir/`).\nMatched files aren't counted as code and never surface as orphans (examples, scratch, scripts):\n\n```text\nexamples/**\n*.tmp\nvendor/\n```\n\n---\n\n## Language support\n\n**Partition, payload, size, and owns** are language-agnostic — set `code-dirs` and `code-exts` in `config.toml` to point Cells at your code (e.g. `[\"lib\", \"cmd\"]` + `[\".go\"]`).\n\n**Crossings and structure** (leakage, ADP, direction, metrics) analyze *real imports*:\n\n- **TypeScript/JavaScript/TSX** via `tree-sitter` (WASM; tsconfig `paths` aliases, workspace `package.json` resolution, `.js`→`.ts` remaps).\n- **Python** via `tree-sitter` (WASM; bundled grammar, no native build).\n- **Rust** via `tree-sitter` (WASM; handles `use`/`super`/`self`, groups, re-exports).\n- **Go** via `tree-sitter` (WASM; package→directory resolution, nested `go.mod` sub-modules).\n- **C/C++** via `tree-sitter` (WASM; `#include` → file resolution: quoted = local, angle = external unless owned; probes importer-dir + repo `-I` roots derived from the census).\n- **Java** via `tree-sitter` (WASM; fully-qualified class imports → package-decl resolution, layout-agnostic; wildcards → one representative edge per package).\n- Other languages need an importer — one per language, selected automatically by file extension.\n\n**What importers can't see (static-analysis blind spots, named per language):** Python — `importlib`, `__import__`, string-built module names; Rust — proc-macro-expanded paths; Go — `reflect`-based coupling and generator→generated relationships; Java — static imports only, nothing beyond the repo's own sources; C/C++ — `#include` only, no macro-computed paths; TypeScript — string-built specifiers (plugin loaders) are not resolved. The derived graph is honest about what it derived: when a coupling the importer can't see matters, say so in the membrane — the authored declaration is the tool's only source of invisible-channel truth.\n\n**Named-symbol visibility** (what the membrane check can audit): TypeScript/JavaScript/TSX — named imports (`import { a, b } from '…'`, aliases stripped to the exported name) plus namespace-attribute uses (`import * as ns` + `ns.portion` → `portion`, first tail segment; default-import attributes excluded — sub-export granularity); Python — `from M import a, b` names; Rust — `use`-path tail items (`use a::b::Item` → `Item`). Module-level dependencies and C/C++/Go/Java edges carry no symbols — exempt by construction, listed here rather than hidden.\n\nAdding a language: write an importer spec in `src/languages/` (tree-sitter langs: a spec for the\nshared factory in `src/languages/tree-sitter.ts`; otherwise a custom `extract`) + one line in\n`DEFAULT_IMPORTERS` in `src/importers.ts`. The repo's own cells show the pattern — `cells new`\nthe language cell declare-first, then `cells health` enforces the declaration.\n\nResolution doesn't chase the filesystem or require the repo to build/install: it derives a module→file map from ownership, so it runs on source you're just reading.\n\n---\n\n## The rules\n\n| rule | severity | what it catches |\n| --- | --- | --- |\n| **Leakage (undeclared)** | **gate** (exit 1) | a cell imports another it doesn't `require` — a hidden dependency |\n| **Leakage (stale)** | info (exit 0) | a cell `requires` one it never imports — remove it, or move it to `data-requires` if the coupling is real but invisible to static analysis (shown, doesn't fail the gate) |\n| **Integrity** | **gate** (exit 1) | a file in two cells; an owned file missing from disk; a requires or ownership key pointing at an undeclared cell |\n| **Size** | warning (exit 0) | a cell's payload exceeds its ceiling — `max-payload-tokens` (default 16000 — configurable via `cells config set` or `config.toml`), or the cell's own `ceiling = N` — consider dividing |\n| **Structure** | warning (exit 0) | a cycle (ADP), an edge to a higher layer (Direction), or a stable cell depending on a less-stable one (SDP) |\n| **Membrane** | warning (exit 0) | a cell imports **named symbols** the target's `provides` doesn't list (an empty `provides` on a consumed cell = membrane incomplete) — `cells crossings --verbose` names them; converge the list |\n| **Orphans** | visibility (not a violation) | unowned files — shown by `list`; `.cells/ignore` declares the intentional ones |\n\nPayload tokens are estimated at chars/3 (a rough, consistent proxy across models — not exact for any of them). The ceiling is a budget, not a limit: nothing breaks when a cell exceeds it. A cell at 1.5× the ceiling is often the right call for a coherent unit; the gate doesn't care, it's your judgment that matters. The low default is also a module-size discipline — small enough that any current model can hold the payload — and per-cell `ceiling = N` opts a legitimately-big cell out without raising the bar for everyone.\n\n---\n\n*Cells dogfoods itself: this codebase is partitioned into 32 cells. Run `cells list` to see.*\n","readmeFilename":""}