slackhq/hakana — explained in plain English
Analysis updated 2026-08-07 · repo last pushed 2026-08-06
Flag insecure handling of user input before it ships to production.
Identify and remove dead files and methods no longer called anywhere in the codebase.
Run periodic deep analysis to keep large Hack codebases lean and maintainable.
Use type-aware migrations to safely restructure large amounts of interconnected code.
| slackhq/hakana | polarityinc/zenith | xqnode/codex-helper | |
|---|---|---|---|
| Stars | 108 | 109 | 110 |
| Language | Rust | Rust | Rust |
| Last pushed | 2026-08-06 | — | — |
| Maintenance | Active | — | — |
| Setup difficulty | hard | moderate | easy |
| Complexity | 4/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an existing Hack codebase and HHVM runtime environment, which is non-trivial to set up outside of companies already using Hack at scale.
Hakana is a code quality tool built by Slack for projects written in Hack, a programming language used heavily at Slack and Facebook. It runs alongside the standard Hack typechecker to catch deeper problems that the built-in tool misses, things like security vulnerabilities, logic bugs, and dead code that serves no purpose. At its core, the tool focuses on figuring out precise types for everything in your codebase. "Types" here mean understanding what kind of data each variable, function, and class works with. By reasoning carefully about these types, the tool can spot mismatches and risky patterns that might lead to runtime errors or security holes. It also enables type-aware migrations, meaning it can help you safely restructure large amounts of code while understanding how different pieces connect. Who benefits from this? Teams with substantial Hack codebases, think of a company like Slack itself, where engineers need automated help keeping millions of lines of code healthy. For example, if someone introduces a function that handles user input insecurely, this tool can flag it before it ships. If there are entire files or methods no longer called anywhere, the tool identifies them so they can be removed. This keeps large codebases lean and maintainable over time. One notable tradeoff: the tool is not designed for instant, real-time feedback as you type. Instead, it's meant for periodic analysis or on-save checks via its language server integration. This slower, more thorough approach allows for deeper analysis than a tool optimized for speed alone. It also borrows HHVM's parser, the core engine that reads Hack code, rather than building one from scratch, which keeps it closely aligned with how Hack actually works.
Hakana is a code quality tool by Slack for Hack codebases. It finds security bugs, logic errors, and dead code by deeply analyzing data types, complementing Hack's built-in typechecker for periodic thorough analysis.
Mainly Rust. The stack also includes Rust, Hack, HHVM.
Active — commit in last 30 days (last push 2026-08-06).
The license is not specified in the available documentation, so terms of use are unknown.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.