NoBypass
Open source · Public repository
- My part
- Maintains the public repository
- Stack
- TypeScript, Node.js
A command-line checker for Laravel, Symfony, NestJS, Express, Fastify, Next.js, Django, FastAPI and Spring Boot projects. You write down which layer may call which, and it fails the check whenever code skips that path.
class UserController extends Controller
{
public function index()
{
return User::where('active', true)->get();
// works, passes tests, skips 2 layers
}
}
lexy@notes:~$ npx nobypass check
✖ BND001 error UserController.php:11
controller depends directly on model
expected: controller → service →
repository → model
✖ BND002 error UserController.php:11
data access outside approved layer
11 files analyzed · 2 new errors
✖ FAIL - 2 blocking findings.
Example from the NoBypass README, shortened.
What it does
- Reads a contract file that lists which layer may call which, for example controller, service, repository, model
- Fails the check locally or in CI when code skips an approved path, with the file, line and the expected route
- Runs offline with static analysis; needs no LLM, API key or account
- Ships presets for nine frameworks across PHP, TypeScript, Python and Java