2 分•作者: Tommkruix123•19 天前
现有的 TypeScript 架构 Linter 都要求你手动编写规则(dependency-cruiser、eslint-plugin-boundaries、Sheriff、ts-arch)。Archprint 则反其道而行之:它读取你仓库的实际导入图,找出代码已经遵守的边界,并将通过统计置信度检验的边界转化为即装即用的 Linter 规则,并附带证据(符合规则的文件数量、违反规则的文件数量、推断的置信度)。 驱动它的理念是:你的 CLAUDE.md / AGENTS.md 是指导,你的 Linter 规则是强制执行。Archprint 从你的代码库已有的模式中生成强制执行规则,这样你就可以采纳可以信任的规则,而不是手动编写它们。 它会明确告知它将自动执行哪些规则。机械家族规则(无导入循环、生产代码不得导入测试代码、库代码中不得有 console、无未声明的依赖项、导入风格、公共 API 模块、服务器入口文件中不得包含 DB/UI)在对抗性正确性审计中零误报,因此会自动生成。结构家族规则(层/角色边界、UI/数据分离)会从路径推断出“层”或“角色”,这可能会出错,因此默认情况下会保留供人工审查。一条错误的强制执行规则的代价大于零条规则。 它会输出到你已有的工具中,如 ESLint(包括一个可共享的单文件预设)、dependency-cruiser 和 ts-arch,因此可以与你的技术栈互补。支持 React、Angular、Vue、Svelte、Next、Nest、SvelteKit、Nuxt 和 Remix 等框架。 在发布之前,我在 92,861 个真实的公共 TypeScript 仓库上运行了完整的 CLI 工作流程(扫描、推荐、生成、连接、弹出):它在每个仓库上都成功完成,没有出现任何崩溃,并且可逆的安装/卸载往返流程也得到了验证。 ```bash npm install --save-dev archprint npx archprint scan . ``` 文档:https://tommkruix.github.io/archprint/ · 代码库:https://github.com/Tommkruix/archprint 目前为早期版本(0.x)。非常欢迎提供反馈,特别是关于它为你的仓库推断出的规则。
2 分•作者: zebomon•19 天前
这是我多年来一直萦绕在我脑海中的一个项目。我用 ThreeJS 创建了一个用户界面,用于浏览(或者说重温)我从九岁起就开始收集的票根。 我原本打算创建一个完整的表单,让人们可以分享他们自己的收藏,但最终决定只开放一个版本,供你用你的代理(agent)进行 DIY。 这部分在这里:<a href="https://github.com/billybillymc/stubs" rel="nofollow">https://github.com/billybillymc/stubs</a> 请享用!欢迎并感谢你的笔记和反馈。