Skip to content

v0.2.0 — 10 languages, working rules, usage log, smarter dead code

Choose a tag to compare

@iiTzSenn iiTzSenn released this 07 Jul 16:58

✨ Highlights

10 more languages

Beyond JavaScript/TypeScript, Sens now indexes Python, Go, Rust, Java, C#, C, C++, PHP, Ruby and Kotlin via tree-sitter. A mixed repo (e.g. a TS frontend + a Python or Go backend) is indexed as a single project. Adding a language is now a small self-contained parser under src/indexer/languages/.

Working rules the model follows

The MCP server now hands the model a concrete set of coding rules — reuse what exists instead of duplicating, leave no orphan code, keep it minimal but maintainable — each tied to the Sens tool that lets it verify the rule. They load automatically over MCP; you can also print them with sens rules or inject them with the /sens rules prompt.

Know it's actually being used

Every MCP tool call is now recorded to .sens/usage.jsonl. Run sens usage to see exactly which tools the model called, when, and with what arguments — proof, not faith.

Smarter dead_code

dead_code no longer flags code that is used but was invisible to static analysis:

  • dynamic import("./x")
  • export * from "./y" barrels and named re-exports
  • names referenced via string / reflective access (obj["name"], registries)
  • the same, for quoted names in the tree-sitter languages

📦 Install

npx sens-mcp@0.2.0 mcp          # run the MCP server
# or add to .mcp.json:  { "command": "npx", "args": ["-y", "sens-mcp", "mcp"] }

⚠️ Notes

  • Swift is intentionally not included: its tree-sitter grammar crashes Node's WASM teardown. Every other listed language is fully supported.
  • The on-disk index schema was bumped — caches rebuild automatically on first run after upgrading.

Full changelog: 0.1.0...v0.2.0