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.git
cd codiluce && npm ci
npm start -- /path/to/repository

How deep it goes

LevelWhat you getWhere
Flows to the dataPages, requests, handlers, calls and the tables they read and write, end to end.React and Next.js with Laravel
Routes and handlersEvery registered route linked to the exact function that handles it, and the calls inside the language.The frameworks on this page
StructureDeclarations, imports, references and direct calls, with source ranges.TypeScript, JavaScript, PHP, Python, Go, Ruby, Java, Kotlin, C#, Rust
MapApplications, 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

in the npm release, v0.3.0

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 Router
in the npm release, v0.3.0

Pages 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 · 5
in the npm release, v0.3.0

App 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

in the npm release, v0.3.0

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–5
in the npm release, v0.3.0

Single-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 · 4
in the npm release, v0.3.0

Pages, components and Nitro server routes, linked to the requests that reach them.

Svelte & SvelteKit

Svelte 4–5 · Kit 2–3
in the npm release, v0.3.0

Components, 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–7
in the npm release, v0.3.0

Components 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

in the npm release, v0.3.0

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

in the npm release, v0.3.0

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.2
in the npm release, v0.3.0

URLconfs 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.141
in the npm release, v0.3.0

App 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.1
in the npm release, v0.3.0

App 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

in the npm release, v0.3.0

Engines and groups reachable from main, with their original handlers, closures and middleware in order.

Echo

v4 · v5
in the npm release, v0.3.0

Routes and groups, original handlers and middleware, per major version.

Fiber

v2 · v3
in the npm release, v0.3.0

Apps, groups and mounts, original handlers and middleware, per major version.

Chi

v5
in the npm release, v0.3.0

Routers, sub-routers, mounts and route groups with their handlers.

Gorilla Mux

in the npm release, v0.3.0

Routers and subrouters, path prefixes, host and query matchers.

net/http

in the npm release, v0.3.0

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

in the npm release, v0.3.0

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.0
in the npm release, v0.3.0

Spring 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–10
in the npm release, v0.3.0

Minimal 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.8
in the npm release, v0.3.0

Routers and method routers, nest and merge, fallbacks and layers, from the server started in main.

Actix Web

4
in the npm release, v0.3.0

Apps, scopes, resources and services, configure functions, route attributes and guards.

Rocket

0.5
in the npm release, v0.3.0

Route attributes, routes! lists, mounts and launch, with ranks and parameter guards.

GapsFairings, catchers and custom guards.

Warp

0.3 · 0.4
in the npm release, v0.3.0

Path 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).