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.2.0.tar.gz (272.7 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.0-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for selitys-3.2.0.tar.gz
Algorithm Hash digest
SHA256 428308ef776fcd731cb29bcb318732715f46a123c1099498a77182cd22e5c3b7
MD5 8b4d205657a628bde6e73206b6adb7b4
BLAKE2b-256 4874d7d8062a84e19e4e24f6f114cd634608922fa2ad6c502dce36f2ff75ae23

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for selitys-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca28f6d689adeda6faa903f6fbec7869e815fbb1ad5d781a4ab9cd02ee6e63f3
MD5 36935af1669caffcad81a18d2f42464e
BLAKE2b-256 1e14f625deacf16da0522132c7cecca847530fb908e65c1d8cb94c5684c3dc04

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