Skip to main content

A developer onboarding tool that explains backend codebases

Project description

Selitys

A tool that explains backend codebases to developers. Point it at a local repo or a GitHub URL and get structured explanations of the architecture, request flow, risks, and more — like a senior engineer onboarding a new teammate.

Available as a CLI, a web UI, or both via Docker.

The name "selitys" is Finnish for "explanation".

🌐 Try It Now

selitys.onrender.com — paste any public GitHub URL and explore the analysis instantly. No install required.

First load may take ~30s if the service is cold (free tier).


Screenshots

Overview Architecture Dependency Tree
Overview Architecture Tree
Request Flow Ask (Q&A)
Request Flow Ask

Install

Option 1: pip (CLI only)

pip install selitys

Option 2: Docker (web UI + API)

git clone https://github.com/haxsysgit/selitys.git
cd selitys
cp .env.example .env  # optional: add LLM API key
docker compose up

Open http://localhost:8000 — paste a local path or GitHub URL and go.

Option 3: From source

git clone https://github.com/haxsysgit/selitys.git
cd selitys
pip install -e ".[backend]"

# Start the web UI
cd frontend && npm install && npm run dev &
uvicorn backend.app:app --reload

Quick Start

CLI

# Generate markdown docs
selitys explain /path/to/repo -o ./output

# Ask a question (instant, keyword-based)
selitys ask /path/to/repo "what frameworks are used?"

# Ask with LLM for richer answers
selitys ask /path/to/repo "explain the auth flow" --llm

Web UI

Paste any of these into the input field:

/path/to/local/repo
https://github.com/encode/httpx
https://github.com/tiangolo/fastapi

Public GitHub repos are cloned automatically with git clone --depth 1.


What You Get

Page What it shows
Overview Purpose, tech stack, metrics, domain entities, API surface, risks
Architecture Subsystems with file trees, patterns, frameworks, language breakdown
Request Flow Step-by-step request walkthrough with interactive timeline
First Read Recommended reading order for new developers
Config Config files, environment variables, entry points
Ask Q&A — keyword-based or LLM-powered

The CLI generates the same data as markdown files:

File Description
selitys-overview.md System purpose, tech stack, domain entities, API surface
selitys-architecture.md Subsystems, patterns, dependency graph, risk areas
selitys-request-flow.md Step-by-step request walkthrough
selitys-first-read.md Recommended reading order
selitys-config.md Configuration files, environment variables

CLI Options

selitys explain

selitys explain /path/to/repo -o ./output
Flag Description
-o, --output Output directory (default: ./selitys-output)
--json Also generate selitys-analysis.json
--watch Re-run on file changes
--include Glob patterns to include
--exclude Glob patterns to exclude
--max-file-size Skip files larger than this (default: 2MB)

selitys ask

selitys ask /path/to/repo "how does auth work?" --llm
Flag Env var Description
--llm Use LLM instead of keyword matching
--api-key SELITYS_API_KEY API key for the LLM provider
--base-url SELITYS_BASE_URL OpenAI-compatible API base URL
--model SELITYS_MODEL Model name (e.g. llama-3.3-70b-versatile)

Supported Languages

Language Frameworks
Python FastAPI, Flask, Django, SQLAlchemy, Alembic, Pydantic, Celery, pytest
TypeScript / JavaScript Express, Next.js, NestJS, React, Vue, Angular, Prisma, Sequelize

Python support is the most mature.


Who It's For

  • New team members joining an unfamiliar codebase
  • Solo developers returning to an old project
  • Tech leads onboarding new hires
  • Reviewers assessing system quality

Design Principles

  • Read-only — never modifies the analyzed repository
  • Repo-specific — tailored explanations, not generic advice
  • Evidence-first — claims include file references
  • Lightweight — no heavy deps; LLM is optional

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

selitys-3.2.1.tar.gz (695.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

selitys-3.2.1-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

Details for the file selitys-3.2.1.tar.gz.

File metadata

  • Download URL: selitys-3.2.1.tar.gz
  • Upload date:
  • Size: 695.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for selitys-3.2.1.tar.gz
Algorithm Hash digest
SHA256 fee1c6c862f162694f37c4795cb13e93b9a079443472c1b6d0b39817e4441693
MD5 e75df0b36fc6efa9040d4a7fddc00fca
BLAKE2b-256 ce4b493ed71a9762272000bfa88b188b7b5372fa85487b1e2f8a9ad1e1517a19

See more details on using hashes here.

File details

Details for the file selitys-3.2.1-py3-none-any.whl.

File metadata

  • Download URL: selitys-3.2.1-py3-none-any.whl
  • Upload date:
  • Size: 47.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for selitys-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6331215a3077c1d1eb3006aff00f09150740de45223517fc3b79104bc03ba3c0
MD5 785e33a008e64802f4c239713f9a2554
BLAKE2b-256 d792ec598a94f47bfadcce377268384f093bb1f61f094b2785a3afa117ed8fec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page