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.1.0.tar.gz (268.3 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.1.0-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for selitys-3.1.0.tar.gz
Algorithm Hash digest
SHA256 c71e0a2870496ff1879bc082a2398cc8c0c7f57a27d897ed65887cf138f07942
MD5 5182150e80da200acec54c7081f70e31
BLAKE2b-256 6ea3e21af4c72230adbf97635744ad69e6f01a15e7f4c3a0e21a577b2459b415

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for selitys-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19ca36e1ab533da8e654efd4340b8b9c1448c1128a102a60bede4b0f97872982
MD5 16c39230ecf1c63ff0f4ad9060f954d5
BLAKE2b-256 482f392de04e6882820d7783f8d3938df59f56b27bf90d8444e509bef8fa9c78

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