{"id":2223,"date":"2026-06-24T11:35:38","date_gmt":"2026-06-24T03:35:38","guid":{"rendered":"http:\/\/wp.rungobag.cn\/index.php\/2026\/06\/24\/show-hn-aislop-a-cli-for-catching-ai-generated-code-smells\/"},"modified":"2026-06-24T11:35:38","modified_gmt":"2026-06-24T03:35:38","slug":"show-hn-aislop-a-cli-for-catching-ai-generated-code-smells","status":"publish","type":"post","link":"https:\/\/wp.rungobag.cn\/index.php\/2026\/06\/24\/show-hn-aislop-a-cli-for-catching-ai-generated-code-smells\/","title":{"rendered":"Show HN: AISlop, a CLI for catching AI generated code smells"},"content":{"rendered":"<p>Hi, I\u2019m Kenny, I\u2019ve been building aislop. I starting working on this after using Claude Code, codex and opencode several times and noticing some slops. They aren\u2019t syntax and passes most tests, they are patterns like empty catch blocks, useless comments, duplicated helpers, dead code and many more. So I built a tool to scan and check for these patterns and wired it into hooks so after each tool call, the agent checks for the slops.You can try it out with npx aislop scan.It\u2019s all local and no cod&#8230;<\/p>\n<p><a href=\"https:\/\/github.com\/scanaislop\/aislop\">\u67e5\u770b\u539f\u6587 \u2192<\/a><\/p>\n<hr>\n<p><small>\u6765\u6e90\uff1aHacker News \u00b7 RSS \u91c7\u96c6<\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi, I\u2019m Kenny, I\u2019ve been building aislop. I starting wo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_generated_summary":"","wpai_meta_description":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-2223","post","type-post","status-publish","format-standard","hentry","category-tech"],"_links":{"self":[{"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/posts\/2223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/comments?post=2223"}],"version-history":[{"count":0,"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/posts\/2223\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/media?parent=2223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/categories?post=2223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.rungobag.cn\/index.php\/wp-json\/wp\/v2\/tags?post=2223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}