{"_id":"claudeos-core","_rev":"72-2fb85809a5d6ee26b23cfdf3ef75ce70","name":"claudeos-core","dist-tags":{"latest":"2.5.6"},"versions":{"1.5.0":{"name":"claudeos-core","version":"1.5.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@1.5.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"0244fb497a8cb2b58ada1f500132de1f84c9c310","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-1.5.0.tgz","fileCount":64,"integrity":"sha512-c+Frk+LpviIirFKLddAoKHyYkBg4rxUk12qwAYD/WE9AioelwKeuyC6JfxhtAZi4dtShQFjhnm8GfCgW2qkU6A==","signatures":[{"sig":"MEQCICwI2kIh+QjcxRwCIU0mSvwo2wL7z4NYyPH5d+bqCdcKAiAyE15UIKW3fri6Zh8Dv+bKTwsUxZUr1FrS6Atv+Bywzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688860},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"4f1ef1250a99fbc8b8eb4a72a5415ea45bb22196","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_1.5.0_1775396562664_0.22844695476984356","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"claudeos-core","version":"1.5.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@1.5.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"dd5c9762ee32fc99a8b5871d1da4e8108a1a83bd","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-1.5.1.tgz","fileCount":64,"integrity":"sha512-8d2WLt90SfTX9aOnHS5WQavQp9EgkvEYP5xbiimKF/1ny3ziFtS1FAH9bDSusJqu2sKahJ27T15Ee5cDP08yPw==","signatures":[{"sig":"MEQCIE/wP3fWYFEdWFSuTj6y6XUo1diQvG4YvInNBFcV9qujAiARrfJUed6zoQeJiRzchqIWfM2XTkSjmC8jvduLa2IXYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":690805},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"97a20f81d2d99750a6a15aa5b2533b9519a4d393","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_1.5.1_1775406867742_0.8168432061681576","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"claudeos-core","version":"1.6.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@1.6.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"ba9580e7c7c802a07b7c57efc5131578aae2bc6b","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-1.6.0.tgz","fileCount":72,"integrity":"sha512-2KMOGhXXgF38n4vrDzaXwczK1+u+e+cyfQbmVOBiP7h5CSDfg0IKZhGV8CKWLgTgOVniYEt6Vv/7ldN2ejlMfw==","signatures":[{"sig":"MEUCIQDaGrTXFmA3sKFlXxpj81F5XelX0Q4tjg+qhcp0HEa6hAIgD6WM8wY/HegZVLprM+DFKoBshKdqC8bCpKGOt8a4FBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":762949},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"92d2e3fc9713cba842b517688181be16d0193a00","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_1.6.0_1775658951591_0.7300030412245837","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"claudeos-core","version":"1.6.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@1.6.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"71991fdb0608d8d2822811a872d0468de0980767","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-1.6.1.tgz","fileCount":72,"integrity":"sha512-CUPceWNUDCZ+/9r0qH0aNEPEoMpIJ3MvtQuem0nOhzAzyI0AKnWXXG/uZuEFryMZRtNIfy6qbePtbFIhmd5jgQ==","signatures":[{"sig":"MEYCIQCXoI+yAf4kcUm9EYOe6+QLea03TqQ2byLYy9OnLPcdZQIhAIIeqK/B3/bQkf0dCecWosQnHJL6FaTxdgf4cc2noGT0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":767666},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"2ca0053a51105bfd7b2259887a8568dc524ab70d","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_1.6.1_1775660594312_0.2796685711357707","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"claudeos-core","version":"1.6.2","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@1.6.2","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"74657e32ff9f720266ea473f7122b17dd84d9bc8","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-1.6.2.tgz","fileCount":72,"integrity":"sha512-IyHZR+jLGRIE498nAsQNogFFP6hm0Z8JrFky9jVMIHaC5GYN/78h3UuavME/w7FB3Q+0ZvR0tTymF8wRqFAVcw==","signatures":[{"sig":"MEUCICuaMfRi/42Rifw7IjYCAbTlGU7UOsDN0KN7kXI8/PBXAiEAlAPml5/pe05m8U7EGXLYqZNuj7XYWfFJ9IgsLLGyKtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772636},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"e85c9e1d2fcd8d481db248557051c7851705814d","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_1.6.2_1775667645040_0.9905735845353871","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"claudeos-core","version":"1.7.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@1.7.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"b213e0bfc093354cfd71072e2bf6d52535e69445","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-1.7.0.tgz","fileCount":75,"integrity":"sha512-KkcIzPP2RnL0rHf+QMQ1pFIfF/pJYhSdO7XjItB88gczDK6CVW1D35/+WndZz98ixC7iub2unbmFRlNFY/VyWg==","signatures":[{"sig":"MEUCIH6bCDUWM5AZytHuVJzT2oqelWu3B5k99ZSBDy3SqtmZAiEAjTBV+e7e6tVjxc1dJj06CGDA++3S/2glNR4bnDFnTPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":805946},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"e58cefc7a3eb44d7620e0f8aac30f8897cfe0511","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_1.7.0_1775913221049_0.44527662906702514","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"claudeos-core","version":"1.7.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@1.7.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"22067c971fc394e6330f30345802794f732a1d30","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-1.7.1.tgz","fileCount":78,"integrity":"sha512-oCgzelvfo6bFRNknPBqCPQem6BdwQ2UeYLHQZpbMSQaU7VIDTPNHidNuknG+zfNiIGbhSHo2V8mfoagXqhBHAw==","signatures":[{"sig":"MEQCIBZwoXP5nzPAgKkzSRs4vqvnPIl57NlJe6N5kWr/Srm7AiAtAhLpvsQtK5LsgkV+IyyyN9R5e9LOYbpdUcXcByMxnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":822727},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"7d65f384cff20907b1ec0dc6bbbd5b368ad0c153","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_1.7.1_1775917521813_0.6708778302168537","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"claudeos-core","version":"2.0.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.0.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"a5df1b7fc8aa20a8aa212ad2c6d309b09fec9042","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.0.0.tgz","fileCount":86,"integrity":"sha512-Kp3OFiMuud/HGvQyxeG48w3yJxRZB1VOsl4EMGtztY8unlWjA0MvTSbV/h8fuiu6GV2r/8zhTM40OJRpN/xgGg==","signatures":[{"sig":"MEQCIFESIUkShB+RjhZulGuOuwKIWVu2tI/IZxOfv+IUubLgAiBV0f2WpO5I/J4A8ihyp/5U1OJK8fXjtet52AE8DtBAww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1294658},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"1e14ba3e4a3d978303147af7c900fd82fe0204a7","scripts":{"init":"node bin/cli.js init","test":"node --test tests/*.test.js","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.0.0_1776608316582_0.507793736418837","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"claudeos-core","version":"2.0.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.0.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"38832770bf3e582b4259ad651269c57e49baa8c7","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.0.1.tgz","fileCount":86,"integrity":"sha512-fTQh5NQPhhmjTGAn2iQJPKuq3ZegzkWJWnLW5ZZLUvyW1QZpxQYEobnHrwpbogZ5aow6sJL2xeTbXbmPAfjtHg==","signatures":[{"sig":"MEUCIFhBluzChncOSmdFZdQs9RkNUcN3bTUkr0yGDxgfKbnrAiEA8vyTOrM+lO21yqb9mCwyQng1tmARDqKu3b8WbY03LQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1295897},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"472bfa1ebb1cbb559453cd4c376ea254fd8fbbe7","scripts":{"init":"node bin/cli.js init","test":"node --test","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.0.1_1776609750864_0.12081916370498913","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"claudeos-core","version":"2.0.2","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.0.2","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"62cccd47f9eb339ee1b68e555aa16c4cb2327f7d","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.0.2.tgz","fileCount":86,"integrity":"sha512-9oz8/61TPbAVNnD1vaW9iGt5ouyNJItiunbdNMpNhKkSnwflPcvvo6zKQ6iE5PeiWWgFxtfTGsp030FfVW58Fg==","signatures":[{"sig":"MEUCIAcH6lEntmkMfUTBlI7MBqWsX/SUBwgiSFk1dta2N7k4AiEA49dU5hrXMXzN/GNSnnInOGtReeOhQVRN1NOjdUfEhjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1299943},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"b100366398f6df35381ff4343368b392bff3e1bd","scripts":{"init":"node bin/cli.js init","test":"node --test","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.0.2_1776614548577_0.4397076635919077","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"claudeos-core","version":"2.1.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.1.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"60f72d4b28028edefb07967fe44fe36728cf4d33","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.1.0.tgz","fileCount":92,"integrity":"sha512-bsZQnjZCNi7AqfROCObenPNAP91tDgmske60hOSgkWQoawSlXw/E62LHZbDCRVA3gnDoSqfnE8dv6cGG4/vdgA==","signatures":[{"sig":"MEQCICUtQQ85vVAYIpRkY4zu5oV7Nv99DgPUzT2gECIOzZknAiAyVXosbw64caqgjPq+2TZ9RjxZZ/UwZjJsBhK3WPYKmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1576467},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"6ef3fbd69d89acfd552b784c77fda21648c0c1de","scripts":{"init":"node bin/cli.js init","test":"node --test","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.1.0_1776700199966_0.43681175723037957","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"claudeos-core","version":"2.1.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.1.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"467f806cebb91ffb1aad9dba646fa46b3b1e6254","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.1.1.tgz","fileCount":92,"integrity":"sha512-aq78b9xdt5ldqlozCxTe0QTDrpTZzVUZTJepdQ46pg6nnZuxL0DH0t056QmmceSqlO0LUcbEUBVauuH7lyTgxw==","signatures":[{"sig":"MEYCIQC9LQb8SlQwm6KigP2rcnemLdbMtGkrO+kMG83zxSztdgIhAM+8mz+GxmkUU/sn+LEJYIUxnP8y3QcdKTNYCHzhQzMZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1535943},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"6ef3fbd69d89acfd552b784c77fda21648c0c1de","scripts":{"init":"node bin/cli.js init","test":"node --test","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.1.1_1776701668329_0.44721241492123287","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"claudeos-core","version":"2.2.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.2.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"c972d6c1412d8b8d9b27c51651c50f96914c96f7","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.2.0.tgz","fileCount":94,"integrity":"sha512-pBcOEx91ETBTJ9U2meqQwgb+GsZaGarSKrw+uPdBFUdqN11Y6z+9gWwNZFTyRJLi8nmlfjEOgN7sbHLdiRAMgg==","signatures":[{"sig":"MEQCIFoiRUhVVQMgw50iChVtLgwNiOu1Ns5oxi43Y5K6FrsBAiBRD24lir8Dkxub4I71kcFIvmBQjLAaLotbDGCSXLMsHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1704052},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"3409b7d6193d65ec40428eb1939db512a05b8e7f","scripts":{"init":"node bin/cli.js init","test":"node --test","health":"node bin/cli.js health","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.2.0_1776787318234_0.992672374321989","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"claudeos-core","version":"2.3.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.3.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"f7c5bbe92f2c2037b7000f79b12f42b1af16be34","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.3.0.tgz","fileCount":98,"integrity":"sha512-UbmcpkknDrJJc08ShckxYmMydauGSCYlZdOzisdSRqrQtHl7RDKM6E6uMVs9/PBoE4mHDeUJ5UoRvD/aOESa2w==","signatures":[{"sig":"MEQCICY7HvZw5P1nQqD/88YGkojENUpG6w7bMaMDBONJY564AiBo5kqdaq1iyZdyziGVfM0I/iZ45Q59wQbPc98v81btKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1841219},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"a6846103fe8bfe79cbda70ffd62e1be7e9fa75e8","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node --test tests/*.test.js","health":"node bin/cli.js health","pretest":"node -e \"require('glob')\" 2>/dev/null || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.3.0_1776877480681_0.4727698512275682","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"claudeos-core","version":"2.3.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.3.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"3249f8e3f49490289ac957a8675045720dd03eda","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.3.1.tgz","fileCount":98,"integrity":"sha512-axfMw3trIXy7yM03ZOc9Hc6US7sBQitUjDMyrEfV+gC0f8Y5JsvXw76t80x4XigG9OSsVHsvR185N+KBe4JwqA==","signatures":[{"sig":"MEUCIQCG2HdVUMUjkiVUWONSwToALx+CBEEnMaJpJ7p3rZztFAIgOsoY+/qHBBUchlI/43GyAu8s7711iNKVwXOvzQMOfik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1835170},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"92ffd0d1d279b0ea846d96fa362ed069721cd241","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.3.1_1776878830695_0.6606338798043532","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"claudeos-core","version":"2.3.2","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.3.2","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"7c83d25d2e8450e4a4ca3de8d60b8137bf5f0f38","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.3.2.tgz","fileCount":99,"integrity":"sha512-LCxEhmHCoLf/UUZY6OQwHZxzWlmMjuTPftd4HzJiLLt0hwiTvdjMPWFZF0b4WmpsjlKTpOaQfO+gHEmTTfXn/Q==","signatures":[{"sig":"MEUCIQCoL7ZXoO6ovg+4gbblvHjJVmHvKJhnmvRiOKJHpGUs/wIgFIVuolSmq6nq0kF+SwAetixXnXO09au5zHz0HBCUtms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1947108},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"a562900f9c00a829c21f3427dc8143dd53a8854e","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.3.2_1776963176860_0.8515710304758379","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"claudeos-core","version":"2.4.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.4.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"9d7e4b4ce033b55b2df6c84b2c9fb2eab07accf9","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.4.0.tgz","fileCount":101,"integrity":"sha512-DWpdh1lnPEzoGQCSUyrua4Mwb732d7FFzq0KL5mtC3rXp9qZoqAzFDN0rgoefhG4XwHYtmpOx78K49ewWWFa1g==","signatures":[{"sig":"MEUCIFGElk/abxq0KwfUZffWIG33qhiC4Mi0rnpGY665HiQCAiEA7OP+FdPs/gBlUYoLo8oO+bBDUH5qgHld25y1qBc+b98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1343867},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"8dc9340be68670c8ee30056379ec695f4e3d770c","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.4.0_1777202286012_0.31729694890115256","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"claudeos-core","version":"2.4.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.4.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"6d0dd5d80efaf9b73574ce5f53242c3db2d0f6c5","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.4.1.tgz","fileCount":101,"integrity":"sha512-UQUgvOlhff27lgWXtDLST/NiRanBZqzYyPSK45ChzH6XeX4tjujNTWz+VBakcm4cHmiAc87l2Kv5JDi0i0vT9g==","signatures":[{"sig":"MEUCIF0eNWr4IQqSMHy6n3nb2aCWxg9R77lJo/jOy+XyzF6VAiEAtRxQxbL0aVquH7vCC47wJG3djVI7b5GOYub03T4LIag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1440763},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"3506f20108074ae2d9cff86dca7bf884cdc5047c","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.4.1_1777206182045_0.47222058947918133","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"claudeos-core","version":"2.4.2","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.4.2","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"822b1deef50ed299d6c988f3f52a47d14ed7b4da","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.4.2.tgz","fileCount":101,"integrity":"sha512-Vw6BfrVCJOVnGEHLX1aGlum5Emo6lWOGOpi9xIk70kcahm7nGlRcwDIwW8uLbg87qgesKOR1+dmOQeviBIdLcg==","signatures":[{"sig":"MEYCIQDCpGlphzVmzXf8w3k/QJoVlU8mC/ibX86jBdrvdfPJRAIhALHVJTCFbywCRGSB9a7ff7Vmp0zn9a03RY7JwV511DT6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1451165},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"bcdf0ef14e85e1268a16b50acf92cf83d2f84c87","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.4.2_1777221005283_0.416172136637613","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"claudeos-core","version":"2.4.3","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.4.3","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"63e81d9f58ca65e20f634d7c2c404a3ae6c7ae7c","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.4.3.tgz","fileCount":102,"integrity":"sha512-KS4SwdDQ/tqfhFqtEW0sW45NPjZvn/znglMg4X353lSlR+/8faT/IUOgG4uJjvOwWr0A3AA6KkJUjzh7FJtINA==","signatures":[{"sig":"MEUCIFjt2A37QNu8XI0UZD8FF/9hHMAgTdGr07+X4ioZVY/HAiEAou0FX+Q0RP28UTvNGgiC9Q7f0U3EkfY3fs6Cod5X774=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1470702},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"afee26577ba6166ebc1f65354fbb435781b19d71","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.4.3_1777303556127_0.5066830737398929","host":"s3://npm-registry-packages-npm-production"}},"2.4.4":{"name":"claudeos-core","version":"2.4.4","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.4.4","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"20f6f22913deabc4a0916fab7bf58a5266d8131c","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.4.4.tgz","fileCount":102,"integrity":"sha512-Wy79UcwUpl7/I0FaDseRbPGqfULqVOMZRNTbrjrK9htGtxQuV3gtnfZ6iX/qpA49OnYQf3Mjl3AZFqDQQQAXDw==","signatures":[{"sig":"MEQCIBsSc4b7VfXVtedywq5xvvu/pwRSZ2VuWoIHEONMcOwAAiAdZrzoMiu1/9VqU9Z8V4EiyfWLpfuM5geQLns1ED+IKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1472312},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"738e572a4df92c0bbaa0d4b9050c1ce4fadfeb1f","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.4.4_1777892457578_0.6576628036781258","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"claudeos-core","version":"2.5.0","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.5.0","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"070050fcce7988cf63b6589ecd76198f3076442c","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.5.0.tgz","fileCount":102,"integrity":"sha512-AscNosMBcIdf2U72juDBJtTwIohtj73Utrq91DFMCtT/O+vKX8oXdISXbFbCCfFwHm3y7GymZPiF1RzObVWhSQ==","signatures":[{"sig":"MEYCIQDLMN1G0xcA4Nztdhty325ZNc8nvTKQQkyvqcAZdiwyLgIhALh/jaFzL9a6OvtDEmk6hcYq/FDDSr/MRHmSPDBZBum6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDRXfjsjPCbnaxlbBYzTNPM+5ttjBbx7VzuSr0wELB7qQIhAN5qb2Sai3e4KcQ4HH6mzSZj+RABR2QmROQotM0foErz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1576542},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"64de539890a05a72a888f4ef812d95635c1254e9","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.5.0_1788796057178_0.3851021206379346","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"claudeos-core","version":"2.5.1","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.5.1","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"5f6b59bf50f88cc8c90f92a6d47f93726836942c","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.5.1.tgz","fileCount":103,"integrity":"sha512-NcHuiEB1XO25JT1mb7onM/7rig+3qrOZhPA8IcNeyHAEu6Aque+L3pQwQqItfEwblu5UDKNP8Xd4S1HWwod2MA==","signatures":[{"sig":"MEQCICSwGdcpTXZ0MaYR/UUy9FHUMYL+wET7/LFuHs7HEIkVAiBb+RO8swMjjgScEtnJ/ouV9iTyY6XvoGs5BxwOkDb7ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDE0pNYyEG2iZKOV/By2VOXERwgzLSANHBwK8Nj2C0wUAIgatymo5Djg6luxyTDn3eU7FNk1k2o9CRdA45nzDcHVP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1670800},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"3f20e8d023bbdf56e514ad6d5266d982e5e7f8a8","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.5.1_1788882963742_0.654917330223628","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"claudeos-core","version":"2.5.2","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.5.2","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"a345192d6a0eea8ea81c1575c797ccd96ce9f691","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.5.2.tgz","fileCount":103,"integrity":"sha512-k+UWm9Nzt4Ij50ULupGswIlZzjdgagtoBVoKmza1XtRl8zLuG2ypslBLlva4FU1iWMoogTJStUjMa0POa3amdQ==","signatures":[{"sig":"MEUCIBdekllI8w8+z6bWboCZi+8SFxMrI4mt7Ezy/7urleUDAiEAwSwS3WQcvy1/bcIu9+pW4XN5yuvB6mKeMH2GFJBmuG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC/8llVdXbBYDrBJiAHiyHJdCPr40Fmw3h3YXKhdQwzywIhALAKQKXjTRy9qI8Cfnwd/DoOuv2pHh1lKyyWL5Yl0/+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1688384},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"3540df464675e3f1aa4b96eb2c8d4255abcda792","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.5.2_1788971927492_0.2837582704398136","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"claudeos-core","version":"2.5.3","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.5.3","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"e83e6afb11d6a5b77dc0d0d1fb2439ca3799e205","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.5.3.tgz","fileCount":104,"integrity":"sha512-OIe5+ySs8G7LX8Zv78rRMwh2Lru9ein888P6XWoF9GR5XuJQ1jeriUo7xSwyKDyZ/Jsdh4Wjn7GCcqdKruPOjw==","signatures":[{"sig":"MEYCIQDmBKj3evTSkuS8Cv2k0Ezs/+cdCLRYkprg6ze3VehmYQIhAOr6kNUFhIbb+r71//k6OPXPrkgEi8XqpmOlx46fVMSJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC5swR1S3PHfbOn6w0RrkU4ATfV5D4xgIERlj5pYbRKrgIhAMxVRFNdVPFve82IM+7+oZ4NTjGJlFVPQBRKcRkend++","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1749452},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"af364b7fc02ebf49432cc4ac1f9b8a3c2d5225f9","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.5.3_1789222875841_0.21168829064380335","host":"s3://npm-registry-packages-npm-production"}},"2.5.4":{"name":"claudeos-core","version":"2.5.4","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.5.4","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"25d4dfdcdcafea878042d045e979f055ee0bbe90","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.5.4.tgz","fileCount":104,"integrity":"sha512-e8e2VKBgCZdZ//Ak/ryxmdo0phzHYP1qJ00QwE9qF92i9HCAydyd8SGEfMgtDWyLXK8tmoXv2fZfiAskUnVizA==","signatures":[{"sig":"MEUCIHwjNLkHAGM5RUSbACHZZb9geBtYLf+enqGEmNJa0WexAiEAxOJHWpyAddiyOfxMzPbAvABTLhqtxEwPPY40Jj3De24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGwzVRoByCnNrCnEs1WZdiDZeFOoFceZMTLQtefnVepLAiBEyp4ZI07N2rtg3rCTh7qQTp4d7KSEP6HdT+zWYMI1Bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1765717},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"f0e366b6dd6008d66ae43c5ee93dc758ffcc4331","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.5.4_1789232030458_0.9460797202684834","host":"s3://npm-registry-packages-npm-production"}},"2.5.5":{"name":"claudeos-core","version":"2.5.5","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","_id":"claudeos-core@2.5.5","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"homepage":"https://github.com/claudeos-core/claudeos-core#readme","bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"bin":{"claudeos-core":"bin/cli.js"},"dist":{"shasum":"5eec85d14865826dd52e476c61271a56a1cf522b","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.5.5.tgz","fileCount":104,"integrity":"sha512-SzJFblBdZeoLoD+8d9PUMkT1quKnRCZZgm7NZ6EhV+2kq/pJiyoJZR0t5hLXEyEGLvrunyuj13x7fYxk1b4AtQ==","signatures":[{"sig":"MEUCIQDslSPz7zF7kSAPDIIIrSZ+UiUEH+fmyl+pMLzw0JgVkQIgYXhCTmQ5XZr0mudEVVhJOF17Uf6uHra2QOHGADbUY7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHeHU8LooLz5+y7wJ9cXegWBB5Dp97sKmEXTvFp+FMgNAiEAyHgBsnpATnJaZpI5WIOsjGntgVFzVbjQo61BQxvs3GY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1776393},"main":"bin/cli.js","engines":{"node":">=18.0.0"},"gitHead":"c8a3704b9e993c321e1b06efb2fd4acd4fcd6487","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","lint:js":"eslint .","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","globals":"^17.12.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/claudeos-core_2.5.5_1789571508169_0.9028606495993234","host":"s3://npm-registry-packages-npm-production"}},"2.5.6":{"_id":"claudeos-core@2.5.6","bin":{"claudeos-core":"bin/cli.js"},"bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"dist":{"shasum":"26b69db06e3d07c883551c4e5db171c3b6da37eb","tarball":"https://registry.npmjs.org/claudeos-core/-/claudeos-core-2.5.6.tgz","fileCount":104,"integrity":"sha512-fJ11qX7abcAnk0IMeOKXMiPxenTO5HgON7aN7GPt5/NWoITz13p/Z6QKomMIOIBb/EcGvji5RK8so21gPQIvfQ==","signatures":[{"sig":"MEYCIQDUxfbXLwI8WHMh9/aojisqH75vDU6gLL/Q9AG/S6eKTQIhAOVP+zMfMzhkvsZiheYtoKPteKnF+BmfLwEu50mlyP26","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIED9irHyr+b67WaIJ+o58g4+YRXHxH/6u7CKIoVXAZzlAiA5b18pvKz8FrMtKws8DoSsfAEAWqWnPk5SmAeOit7t9A=="}],"unpackedSize":1789961},"main":"bin/cli.js","name":"claudeos-core","author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"engines":{"node":">=18.0.0"},"gitHead":"1cacfd12ed4464c7023efb2bc5b4b4ba8b1da829","license":"ISC","scripts":{"init":"node bin/cli.js init","lint":"node bin/cli.js lint","test":"node scripts/run-tests.js","health":"node bin/cli.js health","lint:js":"eslint .","pretest":"node -e \"try{require('glob')}catch(e){process.exit(1)}\" || npm install","refresh":"node bin/cli.js refresh","restore":"node bin/cli.js restore","validate":"node bin/cli.js validate","test:health":"node health-checker/index.js"},"version":"2.5.6","_npmUser":{"name":"claudeos-core","email":"claudeoscore@gmail.com"},"homepage":"https://github.com/claudeos-core/claudeos-core#readme","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"_npmVersion":"11.12.1","description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","directories":{},"maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"_nodeVersion":"25.8.0","dependencies":{"glob":"^13.0.6","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","globals":"^17.12.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claudeos-core_2.5.6_1789573267098_0.8200368669147933"}}},"time":{"created":"2026-04-01T04:12:27.506Z","modified":"2026-09-16T15:41:07.508Z","0.0.1":"2026-04-01T04:12:27.654Z","1.0.0":"2026-04-01T12:17:55.419Z","1.0.1":"2026-04-01T12:47:40.230Z","1.0.2":"2026-04-01T13:26:54.701Z","1.0.3":"2026-04-01T13:46:30.006Z","1.0.4":"2026-04-01T13:55:27.378Z","1.0.5":"2026-04-01T14:05:33.343Z","1.0.6":"2026-04-01T14:20:42.376Z","1.0.7":"2026-04-01T14:29:22.922Z","1.1.0":"2026-04-01T14:47:53.188Z","1.2.0":"2026-04-02T11:29:59.623Z","1.2.1":"2026-04-02T11:52:06.132Z","1.2.2":"2026-04-02T16:06:56.182Z","1.2.3":"2026-04-02T18:31:35.081Z","1.2.4":"2026-04-02T19:00:49.091Z","1.3.0":"2026-04-03T11:10:36.437Z","1.3.1":"2026-04-03T15:44:25.402Z","1.4.0":"2026-04-04T07:35:58.830Z","1.4.1":"2026-04-04T09:01:44.788Z","1.4.2":"2026-04-04T15:28:00.452Z","1.4.3":"2026-04-05T02:36:53.788Z","1.4.4":"2026-04-05T07:07:20.471Z","1.5.0":"2026-04-05T13:42:42.880Z","1.5.1":"2026-04-05T16:34:27.922Z","1.6.0":"2026-04-08T14:35:51.804Z","1.6.1":"2026-04-08T15:03:14.558Z","1.6.2":"2026-04-08T17:00:45.287Z","1.7.0":"2026-04-11T13:13:41.239Z","1.7.1":"2026-04-11T14:25:22.018Z","2.0.0":"2026-04-19T14:18:36.794Z","2.0.1":"2026-04-19T14:42:31.090Z","2.0.2":"2026-04-19T16:02:28.831Z","2.1.0":"2026-04-20T15:50:00.174Z","2.1.1":"2026-04-20T16:14:28.515Z","2.2.0":"2026-04-21T16:01:58.438Z","2.3.0":"2026-04-22T17:04:40.952Z","2.3.1":"2026-04-22T17:27:10.848Z","2.3.2":"2026-04-23T16:52:57.092Z","2.4.0":"2026-04-26T11:18:06.244Z","2.4.1":"2026-04-26T12:23:02.227Z","2.4.2":"2026-04-26T16:30:05.496Z","2.4.3":"2026-04-27T15:25:56.323Z","2.4.4":"2026-05-04T11:00:57.779Z","2.5.0":"2026-09-07T15:47:37.274Z","2.5.1":"2026-09-08T15:56:03.838Z","2.5.2":"2026-09-09T16:38:47.600Z","2.5.3":"2026-09-12T14:21:15.943Z","2.5.4":"2026-09-12T16:53:50.582Z","2.5.5":"2026-09-16T15:11:48.282Z","2.5.6":"2026-09-16T15:41:07.357Z"},"bugs":{"url":"https://github.com/claudeos-core/claudeos-core/issues"},"author":{"url":"https://github.com/claudeos-core","name":"claudeos-core","email":"claudeoscore@gmail.com"},"license":"ISC","homepage":"https://github.com/claudeos-core/claudeos-core#readme","keywords":["claude-code","automation","code-analysis","CLAUDE.md","standards","rules","skills","scaffolding","i18n","multi-language","spring-boot","kotlin","exposed","jooq","cqrs","bff","multi-module","monorepo","nextjs","express","fastify","angular","django","fastapi"],"repository":{"url":"git+https://github.com/claudeos-core/claudeos-core.git","type":"git"},"description":"Auto-generate Claude Code documentation from your actual source code — Standards, Rules, Skills, and Guides tailored to your project","maintainers":[{"name":"claudeos-core","email":"claudeoscore@gmail.com"}],"readme":"# ClaudeOS-Core\n\n[![npm version](https://img.shields.io/npm/v/claudeos-core.svg?logo=npm&label=npm)](https://www.npmjs.com/package/claudeos-core)\n[![CI](https://img.shields.io/github/actions/workflow/status/claudeos-core/claudeos-core/test.yml?branch=master&logo=github&label=CI)](https://github.com/claudeos-core/claudeos-core/actions/workflows/test.yml)\n[![tests](https://img.shields.io/badge/tests-1040%20passing-brightgreen?logo=node.js&logoColor=white)](https://github.com/claudeos-core/claudeos-core/actions/workflows/test.yml)\n[![node](https://img.shields.io/node/v/claudeos-core.svg?logo=node.js&logoColor=white&label=node)](https://nodejs.org/)\n[![license](https://img.shields.io/npm/l/claudeos-core.svg?color=blue)](LICENSE)\n[![downloads](https://img.shields.io/npm/dm/claudeos-core.svg?logo=npm&color=blue&label=downloads)](https://www.npmjs.com/package/claudeos-core)\n\n**直接读取项目源码,自动生成 `CLAUDE.md` 与 `.claude/rules/` 的命令行工具。Node.js scanner、4-pass Claude 流水线和 5 个 validator 协同工作,支持 12 种技术栈、10 种语言,绝不会编造代码里不存在的路径。**\n\n```bash\nnpx claudeos-core init\n```\n\n[**12 个栈**](#supported-stacks)开箱即用,monorepo 也照样支持。一行命令搞定,免配置,中断后能续跑,反复执行也安全。\n\n[🇺🇸 English](README.md) · [🇰🇷 한국어](README.ko.md) · [🇯🇵 日本語](README.ja.md) · [🇪🇸 Español](README.es.md) · [🇻🇳 Tiếng Việt](README.vi.md) · [🇮🇳 हिन्दी](README.hi.md) · [🇷🇺 Русский](README.ru.md) · [🇫🇷 Français](README.fr.md) · [🇩🇪 Deutsch](README.de.md)\n\n---\n\n## 这是什么?\n\n每开一个新会话,Claude Code 都会回到通用的框架默认值。团队明明在用 **MyBatis**,Claude 却写成 JPA;响应包装器是 `ApiResponse.ok()`,Claude 偏偏写成 `ResponseEntity.success()`;包结构是 layer-first,生成出来却变成 domain-first。给每个仓库手写一份 `.claude/rules/` 确实能解决问题,可代码一旦演进,规则就开始跟实际脱节。\n\n**ClaudeOS-Core 的做法是直接读源码,稳定地把这些文件重新生成出来。** 第一步,Node.js scanner 扫一遍项目,把技术栈、ORM、包结构、文件路径都摸清楚。第二步,4-pass Claude 流水线产出完整的内容:`CLAUDE.md`、自动加载的 `.claude/rules/`、standards、skills,全部限定在一份明确的路径白名单里,LLM 越不出这个范围。最后,5 个 validator 在交付前再把结果过一遍。\n\n这样一来,同样的输入永远得到同样的 8 段式 `CLAUDE.md` 结构。10 种语言里随便选一种,都要通过同样的 25 项结构检查,引用的每一条源码路径都会核对磁盘上是否真实存在。(细节看下面[有什么不同](#有什么不同)。)\n\n长期维护的项目,还会顺带生成一份 [Memory Layer](#memory-layer-可选用于长期项目)。\n\n---\n\n## 在真实项目上看看\n\n拿 [`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) 跑了一遍。Java 11 · Spring Boot 2.6 · MyBatis · SQLite · 187 个源文件。结果生成 **75 个文件**,总耗时 **53 分钟**,所有 validator ✅。\n\n<p align=\"center\">\n  <img src=\"docs/assets/spring-boot-realworld-demo.gif\" alt=\"ClaudeOS-Core init running on spring-boot-realworld-example-app — stack detection, 4-pass pipeline, validators, completion summary\" width=\"769\">\n</p>\n\n<details>\n<summary><strong>终端输出 (文本版本,方便搜索和复制)</strong></summary>\n\n```text\n╔════════════════════════════════════════════════════╗\n║       ClaudeOS-Core — Bootstrap (4-Pass)          ║\n╚════════════════════════════════════════════════════╝\n    Project root: spring-boot-realworld-example-app\n    Language:     English (en)\n\n  [Phase 1] Detecting stack...\n    Language:    java 11\n    Framework:   spring-boot 2.6.3\n    Database:    sqlite\n    ORM:         mybatis\n    PackageMgr:  gradle\n\n  [Phase 2] Scanning structure...\n    Backend:     2 domains\n    Total:       2 domains\n    Package:     io.spring.infrastructure\n\n  [Phase 5] Active domains...\n    ✅ 00.core   ✅ 10.backend   ⏭️ 20.frontend\n    ✅ 30.security-db   ✅ 40.infra\n    ✅ 80.verification  ✅ 90.optional\n\n[4] Pass 1 — Deep analysis per domain group...\n    ✅ pass1-1.json created (5m 34s)\n    [█████░░░░░░░░░░░░░░░] 25% (1/4)\n\n[5] Pass 2 — Merging analysis results...\n    ✅ pass2-merged.json created (4m 22s)\n    [██████████░░░░░░░░░░] 50% (2/4)\n\n[6] Pass 3 — Generating all files...\n    Pass 3 split mode (3a → 3b → 3c → 3d-aux)\n    ✅ 3a complete (2m 57s)            — pass3a-facts.md (187-path allowlist)\n    ✅ 3b complete (18m 49s)           — CLAUDE.md + 19 standards + 20 rules\n    ✅ 3c complete (12m 35s)           — 13 skills + 9 guides\n    ✅ 3d-aux complete (3m 18s)        — database/ + mcp-guide/\n    Pass 3 split complete: 4/4 stages successful\n    [███████████████░░░░░] 75% (3/4)\n\n[7] Pass 4 — Memory scaffolding...\n    Pass 4 staged-rules: 6 rule files moved to .claude/rules/\n    ✅ Pass 4 complete (5m)\n       Gap-fill: all 12 expected files already present\n    [████████████████████] 100% (4/4)\n\n╔═══════════════════════════════════════╗\n║  ClaudeOS-Core — Health Checker       ║\n╚═══════════════════════════════════════╝\n  ⏭️ plan-validator         skipped (dormant since v2.1.0)\n  ⏭️ sync-checker           skipped (dormant since v2.1.0)\n  ✅ content-validator      pass\n  ✅ pass-json-validator    pass\n  ✅ All systems operational (2 skipped)\n\n  [Lint] ✅ CLAUDE.md structure valid (25 checks)\n  [Content] ✅ All content validation passed\n            Total: 0 advisories, 0 notes\n\n╔════════════════════════════════════════════════════╗\n║  ✅ ClaudeOS-Core — Complete                       ║\n║   Files created:     75                           ║\n║   Domains analyzed:  1 group                      ║\n║   L4 scaffolded:     memory + rules               ║\n║   Output language:   English                      ║\n║   Total time:        53m 8s                       ║\n╚════════════════════════════════════════════════════╝\n```\n\n</details>\n\n<details>\n<summary><strong>实际写进 <code>CLAUDE.md</code> 的内容 (真实片段 — Section 1 + 2;为了 README 渲染把标题降为 <code>####</code>,真实文件用的是 <code>## N.</code>)</strong></summary>\n\n```markdown\n# CLAUDE.md — spring-boot-realworld-example-app\n\n> Reference implementation of the RealWorld backend specification on\n> Java 11 + Spring Boot 2.6, exposing both REST and GraphQL endpoints\n> over a hexagonal MyBatis persistence layer.\n\n#### 1. Role Definition\n\nAs the senior developer for this repository, you are responsible for\nwriting, modifying, and reviewing code. Responses must be written in English.\nA Java Spring Boot REST + GraphQL API server organized around a hexagonal\n(ports & adapters) architecture, with a CQRS-lite read/write split inside\nan XML-driven MyBatis persistence layer and JWT-based authentication.\n\n#### 2. Project Overview\n\n| Item | Value |\n|---|---|\n| Language | Java 11 |\n| Framework | Spring Boot 2.6.3 |\n| Build Tool | Gradle (Groovy DSL) |\n| Persistence | MyBatis 3 via `mybatis-spring-boot-starter:2.2.2` (no JPA) |\n| Database | SQLite (`org.xerial:sqlite-jdbc:3.36.0.3`) — `dev.db` (default), `:memory:` (test) |\n| Migration | Flyway — single baseline `V1__create_tables.sql` |\n| API Style | REST (`io.spring.api.*`) + GraphQL via Netflix DGS `:4.9.21` |\n| Authentication | JWT HS512 (`jjwt-api:0.11.2`) + Spring Security `PasswordEncoder` |\n| Server Port | 8080 (default) |\n| Test Stack | JUnit Jupiter 5, Mockito, AssertJ, rest-assured, spring-mock-mvc |\n```\n\n技术栈那几行 (Java 11、Spring Boot 2.6.3、Gradle、MyBatis、SQLite、端口 8080) 来自确定性的 scanner。更细的信息 —— 精确的依赖坐标、`dev.db` 文件名、`V1__create_tables.sql` 迁移名,乃至 \"no JPA\" 这种判断 —— 由 Pass 1 以 scanner 确认的事实为约束,从 `build.gradle`、`application.properties` 和源码目录里读出来,再由 validator 交叉核验。没有一处取自框架默认值。\n\n</details>\n\n<details>\n<summary><strong>真实自动加载的规则 (<code>.claude/rules/10.backend/01.controller-rules.md</code>)</strong></summary>\n\n````markdown\n---\npaths:\n  - \"**/*\"\n---\n\n#### Controller Rules\n\n##### REST (`io.spring.api.*`)\n\n- Controllers are the SOLE response wrapper for HTTP — no aggregator/facade above them.\n  Return `ResponseEntity<?>` or a body Spring serializes via `JacksonCustomizations`.\n- Each controller method calls exactly ONE application service method. Multi-source\n  composition lives in the application service.\n- Controllers MUST NOT import `io.spring.infrastructure.*`. No direct `@Mapper` access.\n- Validate command-param arguments with `@Valid`. Custom JSR-303 constraints live under\n  `io.spring.application.{aggregate}.*`.\n- Resolve the current user via `@AuthenticationPrincipal User`.\n- Let exceptions propagate to `io.spring.api.exception.CustomizeExceptionHandler`\n  (`@ControllerAdvice`). Do NOT `try/catch` business exceptions inside the controller.\n\n##### GraphQL (`io.spring.graphql.*`)\n\n- DGS components (`@DgsComponent`) are the sole GraphQL response wrappers.\n  Use `@DgsQuery` / `@DgsData` / `@DgsMutation`.\n- Resolve the current user via `io.spring.graphql.SecurityUtil.getCurrentUser()`.\n\n##### Examples\n\n✅ Correct:\n```java\n@PostMapping\npublic ResponseEntity<?> createArticle(@AuthenticationPrincipal User user,\n                                       @Valid @RequestBody NewArticleParam param) {\n    Article article = articleCommandService.createArticle(param, user);\n    ArticleData data = articleQueryService.findById(article.getId(), user)\n        .orElseThrow(ResourceNotFoundException::new);\n    return ResponseEntity.ok(Map.of(\"article\", data));\n}\n```\n\n❌ Incorrect:\n```java\n@PostMapping\npublic ResponseEntity<?> create(@RequestBody NewArticleParam p) {\n    try {\n        articleCommandService.createArticle(p, currentUser);\n    } catch (Exception e) {                                      // NO — let CustomizeExceptionHandler handle it\n        return ResponseEntity.status(500).body(e.getMessage());  // NO — leaks raw message\n    }\n    return ResponseEntity.ok().build();\n}\n```\n````\n\n`paths: [\"**/*\"]` 这个 glob 的意思是:只要在项目里编辑任何文件,Claude Code 都会自动加载这条规则。规则里的类名、包路径、异常处理器全都来自扫描到的源码,所以连项目实际使用的 `CustomizeExceptionHandler` 和 `JacksonCustomizations` 也都对得上号。\n\n</details>\n\n<details>\n<summary><strong>自动生成的 <code>decision-log.md</code> 种子内容 (真实片段)</strong></summary>\n\n```markdown\n#### 2026-04-26 — Hexagonal ports & adapters with MyBatis-only persistence\n\n- **Context:** `io.spring.core.*` exposes `*Repository` ports (e.g.,\n  `io.spring.core.article.ArticleRepository`) implemented by\n  `io.spring.infrastructure.repository.MyBatis*Repository` adapters.\n  The domain layer has zero `org.springframework.*` /\n  `org.apache.ibatis.*` / `io.spring.infrastructure.*` imports.\n- **Options considered:** JPA/Hibernate, Spring Data, MyBatis-Plus\n  `BaseMapper`. None adopted.\n- **Decision:** MyBatis 3 (`mybatis-spring-boot-starter:2.2.2`) with\n  hand-written XML statements under `src/main/resources/mapper/*.xml`.\n  Hexagonal port/adapter wiring keeps the domain framework-free.\n- **Consequences:** Every SQL lives in XML — `@Select`/`@Insert`/`@Update`/`@Delete`\n  annotations are forbidden. New aggregates require both a\n  `core.{aggregate}.{Aggregate}Repository` port AND a\n  `MyBatis{Aggregate}Repository` adapter; introducing a JPA repository would\n  split the persistence model.\n```\n\nPass 4 会把 `pass2-merged.json` 里抽出的架构决策提前写进 `decision-log.md`。这样以后开新会话时,不仅能看到代码*长什么样*,也能记住*为什么会变成这样*。每一个候选方案 (\"JPA/Hibernate\"、\"MyBatis-Plus\") 和它的取舍后果,都是从真实的 `build.gradle` 依赖块里推出来的。\n\n</details>\n\n---\n\n## 已测试的项目\n\nClaudeOS-Core 在真实开源项目上跑过基准测试,结果也一并公开。如果你也在公开仓库里试用过,欢迎[提个 issue](https://github.com/claudeos-core/claudeos-core/issues),我们会把它加到下面的表里。\n\n| 项目 | 技术栈 | Scanned → Generated | 状态 |\n|---|---|---|---|\n| [`spring-boot-realworld-example-app`](https://github.com/gothinkster/spring-boot-realworld-example-app) | Java 11 · Spring Boot 2.6 · MyBatis · SQLite | 187 → 75 files | ✅ 5 个 validator 全部通过 |\n\n---\n\n## 快速开始\n\n**前置条件:** Node.js 18+,以及已安装并完成认证的 [Claude Code](https://docs.anthropic.com/en/docs/claude-code)。\n\n```bash\n# 1. 进入项目根目录\ncd my-spring-boot-project\n\n# 2. 跑 init (它会先分析代码,再让 Claude 写规则)\nnpx claudeos-core init\n\n# 3. 完成。打开 Claude Code 直接写代码,规则已经就位。\n```\n\n`init` 跑完之后,会得到这样一份产物:\n\n```\nyour-project/\n├── .claude/\n│   └── rules/                    ← Claude Code 自动加载\n│       ├── 00.core/              (通用规则 — 命名、架构)\n│       ├── 10.backend/           (后端栈规则,如有)\n│       ├── 20.frontend/          (前端栈规则,如有)\n│       ├── 30.security-db/       (安全 & 数据库规范)\n│       ├── 40.infra/             (env、日志、CI/CD)\n│       ├── 50.sync/              (文档同步提醒 — 仅 rules)\n│       ├── 60.memory/            (记忆规则 — Pass 4,仅 rules)\n│       ├── 70.domains/{type}/    (按域划分的规则,type = backend|frontend)\n│       └── 80.verification/      (测试策略 + 构建验证提醒)\n├── claudeos-core/\n│   ├── standard/                 ← 参考文档 (与上面分类一一对应)\n│   │   ├── 00.core/              (项目概览、架构、命名)\n│   │   ├── 10.backend/           (后端参考 — 当存在后端栈时)\n│   │   ├── 20.frontend/          (前端参考 — 当存在前端栈时)\n│   │   ├── 30.security-db/       (安全 & 数据库参考)\n│   │   ├── 40.infra/             (env / 日志 / CI-CD 参考)\n│   │   ├── 70.domains/{type}/    (按域划分的参考)\n│   │   ├── 80.verification/      (构建 / 启动 / 测试参考 — 仅 standard)\n│   │   └── 90.optional/          (按栈附加的资料 — 仅 standard)\n│   ├── skills/                   (Claude 可复用的模式)\n│   ├── guide/                    (常见任务的 how-to 指南)\n│   ├── database/                 (Schema 概览、迁移指南)\n│   ├── mcp-guide/                (MCP 集成说明)\n│   └── memory/                   (decision log、failure patterns、compaction)\n└── CLAUDE.md                     (Claude 最先读的索引)\n```\n\n`rules/` 和 `standard/` 里前缀编号相同的分类,对应同一个概念领域 (比如 `10.backend` 规则 ↔ `10.backend` standard)。只在 rules 出现的有两类:`50.sync` (文档同步提醒) 和 `60.memory` (Pass 4 记忆);只在 standard 出现的是 `90.optional` (栈相关的附加资料,不强制执行)。其余前缀 (`00`、`10`、`20`、`30`、`40`、`70`、`80`) 两边都有。到这里,Claude Code 就已经\"认识\"这个项目了。\n\n---\n\n## 这是给谁用的?\n\n| 你是... | 它能帮你解决什么 |\n|---|---|\n| **打算用 Claude Code 启动新项目的独立开发者** | 不用每个会话都把规范从头讲一遍。`CLAUDE.md` 加上 8 大类的 `.claude/rules/`,一次跑完就有了。 |\n| **要在多个仓库之间维护共享标准的技术负责人** | 重命名包、换 ORM、改响应包装器之后,`.claude/rules/` 总是慢半拍跟不上。ClaudeOS-Core 按固定的 8 段式 scaffold 重新生成:每个仓库结构相同、validator 判定相同,diff 里看到的是约定的变化,而不是版式噪音。 |\n| **已经在用 Claude Code,却被生成代码搞得头大的人** | 包装器写错、包结构不对、明明用 MyBatis 却生成 JPA、明明有统一中间件却到处 `try/catch`。Scanner 把项目真实的规范抽出来,每一次 Claude pass 都在明确的路径白名单内运行。 |\n| **刚加入一个新仓库的人** (老项目、新团队) | 在仓库里跑一下 `init`,就能拿到一张活的架构地图:CLAUDE.md 里的栈表格、按层划分的规则配 ✅/❌ 示例,加上预先写好\"为什么\"的 decision log (JPA vs MyBatis、REST vs GraphQL 等)。读 5 份文件,胜过翻 5,000 个源文件。 |\n| **要用中文 / 韩语 / 日语等英语以外的语言工作的人** | 大多数 Claude Code 规则生成器只支持英语。ClaudeOS-Core 把整套产物以 **10 种语言** (`en/ko/ja/zh-CN/es/vi/hi/ru/fr/de`) 输出,而结构校验在所有语言下完全一致 —— `claude-md-validator` 的判定不受输出语言影响。 |\n| **在 monorepo 里干活** (Turborepo、pnpm/yarn workspaces、Lerna) | 跑一次就能用不同 prompt 分别分析后端和前端域;`apps/*/`、`packages/*/` 自动遍历;按栈生成的规则放在 `70.domains/{type}/` 下面。 |\n| **做开源贡献或个人实验** | 输出对 gitignore 很友好。`claudeos-core/` 是本地工作目录,真正要提交的只有 `CLAUDE.md` 和 `.claude/`。中断后能续跑,反复执行也安全 (手工改过的规则,只要不加 `--force` 都会保留)。 |\n\n**不太合适的情况:** 想要一份开箱即用、无需扫描的万能 preset 套装 (各工具的定位差异参见 [docs/zh-CN/comparison.md](docs/zh-CN/comparison.md));项目暂时还不在[受支持的栈](#supported-stacks)里;只想要一份 `CLAUDE.md` —— 这种情况下,内置的 `claude /init` 已经够用,没必要再装一个工具。\n\n---\n\n## 工作原理\n\nClaudeOS-Core 把常见的 Claude Code 流程倒过来跑:\n\n```\n常规:    用户描述项目 → Claude 猜测栈 → Claude 写文档\n本工具:  代码读出栈   → 把确认过的事实交给 Claude → Claude 根据事实写文档\n```\n\n整条流水线分**三个阶段**,LLM 调用的两端都有代码把关。\n\n**1. Step A — Scanner (确定性,不调用 LLM)。** Node.js scanner 遍历项目根目录,读取 `package.json` / `build.gradle` / `build.gradle.kts` / `pom.xml` / `pyproject.toml`,解析 `.env*` 文件 (`PASSWORD/SECRET/TOKEN/JWT_SECRET/...` 这类敏感键会变成 `***REDACTED***`;连接串**内部**的凭据被遮蔽为 `***:***`,而 scheme、host、port 和路径保持可读 — URL userinfo、`?password=` 参数、Go/MySQL DSN 和 Oracle JDBC DSN 都涵盖在内;凭据边界无法确定的值会整个丢弃并报出键名,绝不半遮蔽地写出去)。接着归类架构模式 (Java 的 6 种 A–F (含没有分层目录的 package-by-feature 布局)、Kotlin 的 CQRS / 多模块、Next.js 的 App vs Pages Router、FSD、components-pattern),识别业务域,再为每一个真实存在的源文件路径生成一份明确的白名单。结果汇总到 `project-analysis.json`,后续所有步骤都以它为唯一事实来源。\n\n**2. Step B — 4-Pass Claude 流水线 (受 Step A 的事实约束)。**\n- **Pass 1** 按域分组读取代表性文件,从每个域里提炼大约 50–100 条规范:响应包装器、日志库、错误处理、命名约定、测试模式等。每个域分组只跑一次 (`max 4 domains, 40 files per group`),所以 context 不会爆。\n- **Pass 2** 把各域的分析结果合并成一张项目级全景图;域之间出现冲突时,取占主导地位的那种写法。\n- **Pass 3** 产出 `CLAUDE.md`、`.claude/rules/`、`claudeos-core/standard/`、skills 和 guides。这一步分阶段走 (`3a` facts → `3b-core/3b-N` rules+standards → `3c-core/3c-N` skills+guides → `3d-aux` database+mcp-guide),即便 `pass2-merged.json` 体积很大,每个阶段的 prompt 也能塞进 LLM 的 context window。域数超过 16 时,3b/3c 还会再细分成不超过 15 个域的批次。\n- **Pass 4** 给 L4 记忆层 (`decision-log.md`、`failure-patterns.md`、`compaction.md`、`auto-rule-update.md`) 写入种子内容,并补上通用的 scaffold rules。Pass 4 **不允许碰 `CLAUDE.md`**,Section 8 由 Pass 3 独占。\n\n**3. Step C — Verification (确定性,不调用 LLM)。** 5 个 validator 把结果再过一遍:\n- `claude-md-validator` —— 对 `CLAUDE.md` 做 25 项结构检查 (8 个 section、H3/H4 数量、记忆文件唯一性、T1 canonical heading 不变量)。语言无关,无论 `--lang` 选什么,判定结果都一样。\n- `content-validator` —— 10 项内容检查,涵盖路径引用核验 (`STALE_PATH` 会抓出虚构的 `src/...` 引用) 和 MANIFEST 漂移检测。\n- `pass-json-validator` —— 检查 Pass 1/2/3/4 输出的 JSON 是否合规,以及各栈预期的 section 数量。\n- `plan-validator` —— 校验 plan ↔ 磁盘的一致性 (legacy,自 v2.1.0 起基本是 no-op)。\n- `sync-checker` —— 在 7 个被追踪的目录里核对磁盘文件 ↔ `sync-map.json` 注册关系。**自 v2.1.0 起处于休眠:** master plan 聚合已移除,`sync-map.json` 以空映射写出,该检查器不做任何检查就返回 `pass`。`health` 会把它显示为 ⏭️ `skipped (dormant since v2.1.0)`,而不是 ✅。保留它只为向后兼容,请把它的结论读作「不适用」,不要当作证据。只有一个例外:从 v2.1.0 之前升级上来、仍留着 `claudeos-core/plan/` 目录的项目 —— `init` 不会动那个目录,所以映射会被填充,检查会真正执行。\n\nseverity 分三档 (`fail` / `warn` / `advisory`),这样用户能手动修掉的 LLM 幻觉就不会因为一个 warning 把 CI 卡死。\n\n把这些串起来的核心约束就一句话:**Claude 只能引用代码里真实存在的路径**,因为 Step A 给了它一份有限的白名单。万一 LLM 还是想自己造点东西 (个别 seed 下偶尔会冒一两条),Step C 也会在交付前把它抓住。\n\n每个 pass 的细节、基于 marker 的续跑机制、绕开 Claude Code `.claude/` 敏感路径限制的 staged-rules 处理,以及栈检测的内部逻辑,都收在 [docs/zh-CN/architecture.md](docs/zh-CN/architecture.md) 里。\n\n---\n\n## Supported Stacks\n\n12 种技术栈,从项目文件里自动识别:\n\n**Backend:** Java/Spring Boot (以及不用 Boot 的 Spring Framework，见下文) · Kotlin/Spring Boot · Node/Express · Node/Fastify · Node/NestJS · Python/Django · Python/FastAPI · Python/Flask\n\n**Frontend:** Node/Next.js · Node/Vite · Angular · Vue/Nuxt\n\n多栈项目 (例如 Spring Boot 后端 + Next.js 前端) 也能直接跑。\n\n**遗留 Java 是一等目标 (v2.5.1)。** 可识别不使用 Boot 的 Spring 1.x–6.x：Gradle (`apply plugin:` 时代、顺序任意的 `group:/name:/version:` 写法、通过 `gradle.properties` / `apply from:` / buildSrc 解析变量、版本目录、只有 `settings.gradle` 的根目录)、Maven (Maven 2 时代的 POM、`${spring.version}` 属性、`spring-framework-bom`、多模块根、没有根 POM 的同级项目)、**Ant + Ivy**、**Eclipse / IntelliJ / NetBeans 元数据** (`.classpath`，包括指向未提交 JAR 的引用、`.settings` 中的 compliance 级别、`.idea/misc.xml`、`nbproject`)、`WebContent/WEB-INF/lib/**/*.jar`、`WEB-INF/web.xml`、Spring XSD 架构版本，以及 **eGovFrame** — 连同框架、Spring Framework 版本、Java 级别、`war`/`ear` 打包方式、JDBC 驱动和 ORM 一并给出。以 `src/` 为根的源码树也会用与 `src/main/java` 相同的 domain 模式扫描。报告的每个版本都来自构建文件、JAR 文件名或项目内定义的属性；不会依据框架默认值推测。完全不用 Spring 的 JVM 项目 (`java-library`、`application`、仅有 servlet 的 `war`) 会被报告为 `framework: null` 的 Java，绝不会当成 Spring。\n\n**package-by-feature 的 Java 也能识别 (v2.5.3)。** Spring 官方 *Structuring Your Code* 指南推荐的布局 — `com/acme/order/{OrderController,OrderService,OrderRepository}.java`,没有分层目录 — 此前会得到**零个后端域**;在混合布局的项目里,只有带 `controller/` 目录的那个域存活,没有分层目录的其余部分被悄悄丢弃。现在 Pattern F 会把每个 feature 包登记为一个域,并按类名后缀归类文件。分层优先 (`controller/{domain}/`) 与域优先 (`{domain}/controller/`) 混合的项目会**同时保留两类域**,也不会再出现文件数为 0 的域。\n\n具体的识别规则、每个 scanner 抽取了什么内容,详见 [docs/zh-CN/stacks.md](docs/zh-CN/stacks.md)。\n\n---\n\n## 日常工作流\n\n绝大多数场景靠这三条命令就够了:\n\n```bash\n# 项目第一次跑\nnpx claudeos-core init\n\n# 手动改过 standards 或规则之后\nnpx claudeos-core lint\n\n# 健康检查 (提交前或在 CI 里跑)\nnpx claudeos-core health\n```\n\n每条命令的完整选项见 [docs/zh-CN/commands.md](docs/zh-CN/commands.md)。记忆层相关命令 (`memory compact`、`memory propose-rules`) 在下面的 [Memory Layer](#memory-layer-可选用于长期项目) 里说明。\n\n---\n\n## 有什么不同\n\n大多数 Claude Code 文档工具都从\"用户描述\"出发:用户告诉工具,工具再告诉 Claude。ClaudeOS-Core 反过来,从源码出发:工具自己读代码,把确定下来的事实交给 Claude,Claude 只根据这些事实写文档。\n\n具体落到三件事上:\n\n1. **栈识别和结构可复现。** 同样的项目 + 同样的代码 = 同样的扫描结果,同样的 8 段式 `CLAUDE.md` 版式。各段里的措辞仍由 LLM 撰写,固定下来的是交给它的事实和它必须填满的框架。\n2. **不编造路径。** Pass 3 prompt 里写明了所有允许的源码路径,Claude 没法引用不存在的路径。\n3. **多栈感知。** 同一次执行里,后端域和前端域走不同的分析 prompt。\n\n跟其它工具的范围对比参见 [docs/zh-CN/comparison.md](docs/zh-CN/comparison.md)。这份对比讲的是**每个工具各做什么**,而不是**谁更好** —— 大多数工具其实是互补关系。\n\n---\n\n## 验证 (生成后)\n\nClaude 写完文档,接下来轮到代码来核对结果。5 个独立的 validator:\n\n| Validator | 检查内容 | 由谁运行 |\n|---|---|---|\n| `claude-md-validator` | CLAUDE.md 的结构不变量 (8 sections,语言无关) | `claudeos-core lint` |\n| `content-validator` | path claim 是否真实存在;manifest 一致性 | `health` (advisory) |\n| `pass-json-validator` | Pass 1 / 2 / 3 / 4 输出是否为合规 JSON | `health` (warn) |\n| `plan-validator` | 保存的 plan 是否与磁盘对得上 | `health` (fail-on-error) |\n| `sync-checker` | 磁盘文件是否与 `sync-map.json` 注册一致 (检测 orphaned/unregistered) —— **除非项目里还留着 v2.1.0 之前的 `claudeos-core/plan/`,否则处于休眠** | `health` (fail-on-error) |\n\n`health-checker` 会把这 4 个运行时 validator 按三档 severity (fail / warn / advisory) 串起来跑,并以适合 CI 的 exit code 收尾。在从未跑过 `init` 的项目上,它不会给空目录发绿灯,而是打印 `❌ Not initialized`、以 `1` 退出,并且不写入任何文件。`claude-md-validator` 单独通过 `lint` 命令运行,因为结构层面的偏离不算软警告,而是该重新 init 的信号。随时都能跑:\n\n```bash\nnpx claudeos-core health\n```\n\n每个 validator 具体检查什么,看 [docs/zh-CN/verification.md](docs/zh-CN/verification.md)。\n\n---\n\n## Memory Layer (可选,用于长期项目)\n\n除了上面的 scaffolding 流水线,ClaudeOS-Core 还会在 `claudeos-core/memory/` 下放一套文件,专门服务于 context 需要跨会话延续的长期项目。这部分是可选的,只需要 `CLAUDE.md` 加规则的话,完全可以忽略。\n\n一共 4 个文件,全部由 Pass 4 写入:\n\n- `decision-log.md` —— append-only 的\"为什么选 X 不选 Y\",从 `pass2-merged.json` 取种子。(从不压缩)\n- `failure-patterns.md` —— 反复出现的错误,带 frequency / importance 分数。\n- `compaction.md` —— 记忆随时间自动压缩的方式。\n- `auto-rule-update.md` —— 应当晋升为新规则的模式。\n\n项目持续推进时,这两条命令负责维护这一层:\n\n```bash\n# 压缩 failure-patterns 日志 (定期执行;不会动 decision-log.md)\nnpx claudeos-core memory compact\n\n# 把高频 failure pattern 提为候选规则\nnpx claudeos-core memory propose-rules\n```\n\n记忆模型和生命周期说明见 [docs/zh-CN/memory-layer.md](docs/zh-CN/memory-layer.md)。\n\n---\n\n## FAQ\n\n**Q: 需要 Claude API key 吗?**\nA: 不需要。ClaudeOS-Core 直接用本机已经装好的 Claude Code,通过 `claude -p` 把 prompt 喂进去,不用额外开账号。\n\n**Q: 会覆盖现有的 CLAUDE.md 或 `.claude/rules/` 吗?**\nA: 在新项目里第一次跑会创建。不带 `--force` 重跑时,手工改过的内容都会保留 —— 上一次执行留下的 pass marker 会被识别,对应 pass 直接跳过。带 `--force` 重跑则会清空再生成 (改动也会一起没,这正是 `--force` 的本意)。详见 [docs/zh-CN/safety.md](docs/zh-CN/safety.md)。\n\n**Q: 我用的栈不在支持列表里,能加进去吗?**\nA: 能。新增一个栈大致需要 3 个 prompt 模板加一个域 scanner。完整的 8 步指南在 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n**Q: 怎么生成中文 (或其它语言) 文档?**\nA: `npx claudeos-core init --lang zh-CN`。10 种语言可选:en、ko、ja、zh-CN、es、vi、hi、ru、fr、de。\n\n**Q: monorepo 能用吗?**\nA: 能。Turborepo (`turbo.json`)、pnpm workspaces (`pnpm-workspace.yaml`)、Lerna (`lerna.json`)、npm/yarn workspaces (`package.json#workspaces`) 都由 stack-detector 自动识别,每个 app 单独分析。别的布局 (比如 NX) 虽然没有专门识别,但通用的 `apps/*/`、`packages/*/` 仍然能被各栈的 scanner 抓到。\n\n**Q: 如果 Claude Code 生成了我不认同的规则怎么办?**\nA: 直接改文件就行。改完顺手跑一下 `npx claudeos-core lint`,确认 CLAUDE.md 结构依然有效。之后 (不带 `--force`) 再跑 `init` 时,改动会保留 —— resume 机制会跳过已经有 marker 的 pass。\n\n**Q: bug 该报到哪里?**\nA: [GitHub Issues](https://github.com/claudeos-core/claudeos-core/issues)。安全相关的问题参见 [SECURITY.md](SECURITY.md)。\n\n---\n\n## 如果这为你省下了时间\n\nGitHub 上一颗 ⭐ 能让项目更容易被看到,也方便其他人发现它。issue、PR、栈模板贡献都欢迎,详见 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n---\n\n## 文档\n\n| 主题 | 阅读 |\n|---|---|\n| 4-pass 流水线的运作方式 (比图更深入) | [docs/zh-CN/architecture.md](docs/zh-CN/architecture.md) |\n| 架构的可视化图示 (Mermaid) | [docs/zh-CN/diagrams.md](docs/zh-CN/diagrams.md) |\n| 栈检测 — 每个 scanner 看的是什么 | [docs/zh-CN/stacks.md](docs/zh-CN/stacks.md) |\n| 记忆层 — decision log 与 failure patterns | [docs/zh-CN/memory-layer.md](docs/zh-CN/memory-layer.md) |\n| 5 个 validator 的详细说明 | [docs/zh-CN/verification.md](docs/zh-CN/verification.md) |\n| 所有 CLI 命令与选项 | [docs/zh-CN/commands.md](docs/zh-CN/commands.md) |\n| 手动安装 (不用 `npx`) | [docs/zh-CN/manual-installation.md](docs/zh-CN/manual-installation.md) |\n| Scanner 覆盖配置 — `.claudeos-scan.json` | [docs/zh-CN/advanced-config.md](docs/zh-CN/advanced-config.md) |\n| 安全:重新执行时哪些会被保留 | [docs/zh-CN/safety.md](docs/zh-CN/safety.md) |\n| 与同类工具的对比 (按范围,不是质量) | [docs/zh-CN/comparison.md](docs/zh-CN/comparison.md) |\n| 错误与恢复 | [docs/zh-CN/troubleshooting.md](docs/zh-CN/troubleshooting.md) |\n\n---\n\n## 贡献\n\n欢迎贡献,新增栈支持、改进 prompt、修 bug 都很欢迎。详见 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n行为准则与安全策略见 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 和 [SECURITY.md](SECURITY.md)。\n\n## 许可证\n\n[ISC License](LICENSE)。可自由用于任何用途,包括商业。© 2025–2026 ClaudeOS-Core contributors.\n\n---\n\n<sub>由 [claudeos-core](https://github.com/claudeos-core) 团队维护。issue 与 PR 请发至 <https://github.com/claudeos-core/claudeos-core>。</sub>\n","readmeFilename":"README.zh-CN.md"}