Open the app
Operations

Repository structure

A single monorepo where TypeScript and Python coexist, with shared contracts from language-neutral schemas.

Clawlas lives in a single monorepo where TypeScript and Python coexist. Shared contracts are generated from language-neutral schemas so both sides agree on shapes.

Layout

clawlas/
├── apps/
│   ├── web/            TanStack Start dashboard
│   ├── convex/         self-hosted Convex backend
│   └── api/            FastAPI gateway
├── services/
│   ├── agents/         LangGraph workflows
│   ├── quant/          feature & scoring engine
│   ├── execution/      isolated execution engine
│   ├── backtesting/    vectorbt + event-driven sim
│   └── collectors/     one per data source
├── packages/
│   ├── schemas/            language-neutral contracts
│   ├── strategy-specs/     strategy definitions
│   ├── exchange-adapters/  CCXT + direct adapters
│   ├── feature-registry/   registered features
│   └── shared-python/      shared Python utilities
├── infrastructure/    docker · caddy · monitoring · backup · scripts
├── research/          notebooks · experiments · reports
├── tests/
└── docs/
apps (web + convex + api), services (agents, quant, execution, backtesting, collectors), shared packages, infrastructure, research and tests.

apps/ hold user-facing surfaces; services/ hold the Python runtime components; packages/ hold cross-cutting contracts and adapters; and infrastructure/ holds the Docker, Caddy, monitoring and backup configuration.

One repo, two ecosystems
Keeping everything together makes the schema contracts, CI and deployment one coherent pipeline — while each service still ships as its own container.