npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@alessiods/noclank

v1.0.3

Published

Kills AI-generated clankerspeech slop. Forces plain, direct, human-sounding prose.

Readme

No-Clank

No-Clank

Are you tired of AI-generated clankerspeech slop? Me too.


No-Clank kills the AI-typical writing patterns that make every LLM output sound like it was written by the same model.

Contrastive parallelism. Gratuitous em dashes. "Delve." "Navigate the landscape." "It's not just a tool — it's a philosophy." "Certainly! Let's dive in."

You know the sound. This stops it.

Before / After

You ask: "How does this algorithm work?"

Without No-Clank:

When exploring the intricate landscape of algorithmic paradigms, it's crucial to understand that this isn't merely about sorting data — it's a testament to the elegant tapestry of computational thinking. By leveraging a divide-and-conquer methodology, we unlock the ability to navigate the ever-evolving realm of efficient data processing. Fast, scalable, and robust. But what does this actually mean for you? It means you're not just sorting — you're orchestrating a symphony of data.

With No-Clank:

It splits the input in half, sorts each half recursively, then merges them. The merge step is where the comparison happens.


You ask: "What's the right tool for this job?"

Without No-Clank:

In today's fast-paced, ever-changing development landscape, selecting the appropriate tool is a journey that requires careful consideration of multifaceted requirements. Whether you're a startup or an enterprise, navigating this terrain demands a nuanced understanding of your ecosystem. From local development to production-scale deployments, the right tool doesn't just meet your needs — it elevates your entire workflow.

With No-Clank:

sqlite3. Single file, no server, zero setup. Add pg when you have multiple writers.


You ask for a commit message.

Without No-Clank:

This commit introduces a robust authentication enhancement that seamlessly integrates with our existing user management ecosystem. By leveraging JWT tokens and harnessing the power of middleware, we unlock a new paradigm of secure access control. Not just a security improvement — it's a foundational shift in how we approach user verification. Closes #42.

With No-Clank:

Add JWT auth middleware. Closes #42.

Numbers

Measured on Claude Code sessions writing responses to 10 common developer questions, with and without No-Clank (n=5, Haiku 4.5):

| Metric | vs baseline | |--------|-------------| | Output length | ~60% shorter | | Banned words used | 0 vs 4-7 per response | | Em dashes | 0 vs 2-5 per response | | "Certainly!" / "Let's dive in" | 0 vs 1-3 per response | | Information density | 2.5x higher |

How it works

Before writing any text, the agent checks every sentence against the No-Clank ruleset:

  1. Sentence patterns — no contrastive parallelism, rule of three, false emphasis, "not just X but Y", "from X to Y", rhetorical questions, gerund openers
  2. Punctuation — no gratuitous em dashes, no excessive bolding, no colon-then-list in casual prose, no emoji bullets, no Title-Case headers without cause
  3. Vocabulary — a banned list of ~50 words statistically over-represented in LLM output
  4. Hedges/intensifiers — no throat-clearing, no canned enthusiasm, no filler intensifiers
  5. Grandiose framing — no TED Talk intros, no false elevation of stakes
  6. Structural tics — no rhythm-for-rhythm's-sake phrasing, no unnecessary summaries, no hedged-then-confident close

Install

npm (install anywhere)

npm install @alessiods/noclank

Claude Code

/plugin marketplace add @alessiods/noclank
/plugin install noclank@noclank

Codex

codex plugin marketplace add @alessiods/noclank

Open /plugins, install No-Clank, then open /hooks and trust its two lifecycle hooks. Restart for desktop app.

GitHub Copilot CLI

copilot plugin marketplace add @alessiods/noclank
copilot plugin install noclank@noclank

In interactive mode:

/plugin marketplace add @alessiods/noclank
/plugin install noclank@noclank

OpenCode

Add to opencode.json:

{ "plugin": ["@alessiods/noclank"] }

Run from a checkout instead (the plugin reuses hooks/ and skills/):

{ "plugin": ["./.opencode/plugins/noclank.mjs"] }

Injects the ruleset every turn at the active level; adds the /noclank commands (see Commands). OpenCode also auto-loads this repo's AGENTS.md, so the rules hold even without the plugin. The plugin adds the lite/full/ultra/off levels.

The ./ path resolves against your project's opencode.json; to share one checkout across projects, point it at the absolute path of the .mjs instead (it finds its hooks/ and skills/ relative to its own file).

Pi agent harness

pi install git:github.com/alessio-ds/no-clank

Gemini CLI / Antigravity CLI

gemini extensions install https://github.com/alessio-ds/no-clank

or after the rename:

agy plugin install https://github.com/alessio-ds/no-clank

Other agents

| Agent | How | |-------|-----| | Cursor | Copy .cursor/rules/noclank.mdc to your project's .cursor/rules/ | | Windsurf | Copy .windsurf/rules/noclank.md to your project's .windsurf/rules/ | | Cline | Copy .clinerules/noclank.md to your project's .clinerules/ | | Kiro | Copy .kiro/steering/noclank.md to ~/.kiro/steering/ or your project's .kiro/steering/ | | GitHub Copilot | Copy .github/copilot-instructions.md to your project's .github/ | | Aider / CodeWhale / Swival | Copy AGENTS.md to your project root | | OpenClaw | clawhub install noclank or copy .openclaw/skills/noclank/ to ~/.openclaw/skills/ |

Uninstall

| Host | Command | |------|---------| | Claude Code | /plugin remove noclank | | Codex | codex plugin remove noclank | | Copilot CLI | copilot plugin remove noclank | | Pi | pi uninstall noclank | | Cursor / Windsurf / Cline | Delete the copied rule file |

Commands

| Command | What it does | |---------|-------------| | /noclank [lite\|full\|ultra\|off] | Set intensity level | | /noclank-audit | Scan the last response for clankerspeech violations | | /noclank-help | Quick reference |

Intensity levels:

| Level | What changes | |-------|-------------| | lite | Run all rules, flag banned vocab with notes, allow rhetorical overrides | | full | Rules enforced strictly. Default. | | ultra | Every sentence must pass "would I text this to a coworker?" |

Persist the default with NOCLANK_DEFAULT_MODE env var or ~/.config/noclank/config.json:

{ "defaultMode": "ultra" }

FAQ

Does it apply to code? Variable names, comments, commit messages, and docs follow the rules. Code logic itself doesn't — write clean code however you want.

What if I need marketing copy? No-Clank governs technical prose. If you explicitly ask for a different style ("write this in marketing voice", "make it sound exciting"), follow the request.

Does it work in every agent? The AGENTS.md file works in any agent that reads it (most of them). The plugin+lifecycle-hook version works in Claude Code, Codex, Copilot CLI, OpenCode, Pi, Gemini CLI, and Antigravity. The rest use the instruction-only fallback.

What about creative writing? Poetry, fiction, lyrics, and deliberately stylized prose are exempt. No-Clank is for technical and professional communication.

Why "noclank"? Because every LLM output sounds like it was written by a clanking machine trying to sound human.

License

MIT. Do what you want with it.