Docs
Languages & frameworks
Codiluce maps every repository with its files, lines and Git history. How far it follows the code depends on the stack: the frameworks on this page get routes, handlers and calls, each linked to the source that proves it.
In the release. Every stack on this page ships in the npm release (v0.3.0), marked in the npm release, v0.3.0 below. Support deepens with every release: the table says how far each one goes today, and what Codiluce cannot prove yet shows up in the map as a finding, never as a guess.
git clone https://github.com/codiluce/codiluce.gitcd codiluce && npm cinpm start -- /path/to/repository
How deep it goes
| Level | What you get | Where |
|---|---|---|
| Flows to the data | Pages, requests, handlers, calls and the tables they read and write, end to end. | React and Next.js with Laravel |
| Routes and handlers | Every registered route linked to the exact function that handles it, and the calls inside the language. | The frameworks on this page |
| Structure | Declarations, imports, references and direct calls, with source ranges. | TypeScript, JavaScript, PHP, Python, Go, Ruby, Java, Kotlin, C#, Rust |
| Map | Applications, folders and files with their languages, lines, Git metrics and history. | Every repository |
Every relationship carries its evidence: the analyzer, the file and the line. What an analyzer cannot prove, such as a route registered under a condition or a call through an untyped value, becomes a finding with the reason, never a guess. The inspector shows which analysis ran on each file.
JavaScript & TypeScriptin the npm release, v0.3.0
One type-checked program per application, over its own files only (never node_modules): imports, components, functions, classes, calls, JSX renders, callbacks, and HTTP requests through fetch, axios and your own wrappers. npm, Yarn and pnpm workspaces resolve across packages. Vue, Svelte and Astro files expose their scripts at their original lines.
React
Components, JSX renders, handlers and callbacks passed as props, functions wrapped in useCallback or held in useMemo, and the requests each component makes.
GapsCalls through untyped values stay counted, never guessed.
Next.js
App RouterPages with their layouts, templates and loading, error and not-found files; route handlers per exported HTTP method; dynamic, catch-all, group and parallel segments; server actions and navigation (useRouter, redirect, notFound).
GapsThe Pages Router, intercepted routes and rewrites.
Express
4 · 5App and router instances, nested and repeated use mounts, chained route verbs, path and handler arrays, registration helpers, with imported and inline handlers. GET includes HEAD.
GapsOpaque regular expressions and paths built at runtime.
NestJS
Routes reachable from NestFactory.create: modules and controllers, controller and global prefixes, RouterModule, versions, Express or Fastify. Guards, pipes, interceptors and injected services become references.
GapsDynamic modules and custom composite decorators.
Vue & Vue Router
Vue 3 · Router 4–5Single-file components with their template components and event callbacks; route records with nested paths, named views, lazy imports, aliases and redirects.
GapsPlugins and routes added at runtime.
Nuxt
3 · 4Pages, components and Nitro server routes, linked to the requests that reach them.
Svelte & SvelteKit
Svelte 4–5 · Kit 2–3Components, snippets and browser callbacks; filesystem pages and layouts, load functions, HTTP handlers and form actions, each in its own execution context.
GapsDynamic hooks and matchers.
Astro
5–7Components and layouts, pages, endpoint method exports, and React, Vue or Svelte islands. Prerendered pages stay apart from live endpoints.
GapsMiddleware and generated URLs.
PHPin the npm release, v0.3.0
Namespaces, imports, classes, methods and inheritance in every PHP file; calls through $this, typed parameters and properties, new and app(X::class). Framework analysis runs in Laravel applications.
Laravel
Routes registered from bootstrap/app.php with their groups, controllers and invokable handlers; Artisan commands and scheduled tasks; dispatched jobs; migrations replayed into tables, columns and foreign keys; Eloquent models with the tables they read and write.
GapsResource routes, conditional registration and routes from packages.
Inertia
Visits, useForm, <Link> and <Form> become requests, and Inertia::render links each endpoint to its page component, so a flow runs from the click to the table.
Pythonin the npm release, v0.3.0
Static imports across packages, namespace packages and source roots; local and imported calls and bounded re-exports. No Python interpreter runs.
Django
5.2URLconfs from ROOT_URLCONF or configured entry points, include and namespaces, path converters and simple re_path; function views with their method decorators; class-based views such as ListView and DetailView.
GapsDjango REST Framework, the admin and internationalized URLs.
FastAPI
0.115 · 0.141App and router decorators, add_api_route, include_router with prefixes and application factories; Depends and Security functions as references; response statuses.
GapsCustom converters and dependency overrides.
Flask
3.1App and blueprint routes, add_url_rule, blueprint registration and prefixes, MethodView classes and application factories; request hooks as references.
GapsExtension routes and configuration loaded from files.
Goin the npm release, v0.3.0
Modules and workspaces, packages and build contexts, package-level symbols and calls. No Go toolchain runs.
Gin
Engines and groups reachable from main, with their original handlers, closures and middleware in order.
Echo
v4 · v5Routes and groups, original handlers and middleware, per major version.
Fiber
v2 · v3Apps, groups and mounts, original handlers and middleware, per major version.
Chi
v5Routers, sub-routers, mounts and route groups with their handlers.
Gorilla Mux
Routers and subrouters, path prefixes, host and query matchers.
net/http
ServeMux patterns, including methods and wildcards, and the default mux.
GapsRoutes set up conditionally or by unreviewed options keep their conditions.
Rubyin the npm release, v0.3.0
Literal require and load, scoped constants and direct method calls. No Ruby interpreter runs.
Ruby on Rails
Routes from config/routes.rb (resources, namespaces, scopes, nested routes), controller actions and callbacks such as before_action, with Zeitwerk autoloading.
GapsRoutes drawn dynamically.
Java & Kotlinin the npm release, v0.3.0
Maven reactors, Gradle projects and source roots; explicit, wildcard and static imports; scoped references and direct calls, with lambdas. No JVM, build or plugin runs.
Spring
Spring 6.2–7.0 · Boot 3.5–4.0Spring MVC controllers and mapping annotations, class and method paths, component scans, servlet prefixes and path patterns; WebFlux functional routes in Java builders and the Kotlin router and coRouter DSLs.
GapsVirtual dispatch, injection, profiles and custom configuration.
C#in the npm release, v0.3.0
SDK-style projects and MSBuild compile items, project references, using directives and partial types; scoped references and direct calls, lambdas, local functions and top-level statements. No .NET toolchain runs.
ASP.NET Core
8–10Minimal APIs (MapGet and the rest, route groups, method groups) and MVC controllers (attribute and conventional routes, areas), with constraints, order and hosts.
GapsAuthorization, filters, middleware and custom binding.
Rustin the npm release, v0.3.0
Cargo packages and workspaces, targets, path dependencies, modules and #[path], use trees, globs and re-exports, features and cfg; scoped references, direct calls and closures. No Cargo or rustc runs.
Axum
0.7 · 0.8Routers and method routers, nest and merge, fallbacks and layers, from the server started in main.
Actix Web
4Apps, scopes, resources and services, configure functions, route attributes and guards.
Rocket
0.5Route attributes, routes! lists, mounts and launch, with ranks and parameter guards.
GapsFairings, catchers and custom guards.
Warp
0.3 · 0.4Path and method filters, typed captures and the path! macro, prefix composition and map, then and and_then handlers, in filter order, from the server started in main.
GapsCustom extraction, recovery and wrappers.
Detected and mapped
These frameworks are recognized from their manifests, so each application is named and drawn with its files, lines and Git metrics, but their code is not analyzed yet:
- Angular
- Remix
- Fastify
- Koa
- Hono
- React Native
- Expo
- Electron
- Tauri
- Capacitor
- Symfony
- Drupal
- CakePHP
- Yii
- Slim
- Livewire
- Celery
- Sinatra
- Hanami
- Sidekiq
- Jekyll
- Quarkus
- Micronaut
- Ktor
- Play
- Akka HTTP
- http4s
- Android
- Blazor
- .NET MAUI
- WPF
- Windows Forms
- Vapor
- Shopify themes
The same goes for every other language, from Scala, F# and Swift to C, C++ and Objective-C. Missing yours? Open an issue with a public repository that shows it, or tell us what your team needs.
Logos are trademarks of their owners, shown only to say which code Codiluce reads; no endorsement is implied. Logo artwork from Simple Icons (CC0) and Devicon (MIT).