37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
# Emalak Labs — AI Coding Guide
|
|
|
|
This file is context for AI coding assistants working in this repo.
|
|
|
|
## Repo structure
|
|
|
|
Mono-repo with two top-level packages:
|
|
- `ruslab/` — shared framework (pipeline, registry, web service, AI agent, DB)
|
|
- `projects/bablosoft/` — neural-net trading bot (first project)
|
|
|
|
Each has an OVERVIEW.md with full architecture details. Read those first.
|
|
|
|
## Stack
|
|
|
|
Python 3.14 | PyTorch 2.10 | Polars 1.38 | FastAPI | React + Vite (CSS Modules, no Tailwind) | SQLite | TOML configs | Anthropic API (Claude Opus 4.6)
|
|
|
|
## Code standards
|
|
|
|
- No backward compatibility constraints. Any change can do a full refactor.
|
|
- No comments on self-explanatory code. Comments only for non-obvious details and architectural notes.
|
|
- Invest in clear names over comments.
|
|
- Code must be simple, performant, and correct. Reserve complexity for where it matters (algorithms, not boilerplate).
|
|
- Use type hints everywhere.
|
|
- Use `src/` layout for packages.
|
|
|
|
## Pipeline convention
|
|
|
|
Fetchers, aggregators, and splitters live flat in their directories. Python ones are `.py` files. Native (C++/Rust) ones are directories containing their build files and source, named by aggregator/fetcher name.
|
|
|
|
## Testing philosophy
|
|
|
|
Tests only where they protect against real bugs: backtest engine, data pipeline components, and a minimal end-to-end smoke test. No tests for trivial wiring.
|
|
|
|
## Secrets
|
|
|
|
`.env` file (gitignored). See `.env.example` for required keys.
|