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".


Install

Option 1: pip (CLI only)

pip install selitys

Option 2: Docker (web UI + API)

git clone https://github.com/haxhimitsu/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/haxhimitsu/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.0.0.tar.gz (262.4 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.0.0-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for selitys-3.0.0.tar.gz
Algorithm Hash digest
SHA256 3a9e1d65eea9e8e27eb5576948f8a51c7483690a0edd2b0899158b6ca1b634d8
MD5 45ca30b21149e4f315c35c11d4fd1fd1
BLAKE2b-256 ec7ad29c9619419df17252f33e9bc52e1a6388faa1e12c600c5394fc386adca1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for selitys-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 188c59e5ed54791b1b545a10745f2e6a44fa2937314dfc0667710dc314855738
MD5 a97f77bc03d27f9b36cc832cc4750a69
BLAKE2b-256 e21488594abb1304413b87cc22162fcbd1bda0d1b43bb499c8789e9d977fe3e5

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