Migrate all docs scattered across hidden folders into docs/: - .compozy/tasks/ → docs/planning/ (PRDs, tech specs, tasks, memory) and docs/adr/ (ADRs by phase) - .specs/ → docs/specs/ (codebase, features, project specs) - .docs/ → docs/legacy/ (legacy reference implementation docs) - .discussions/ → docs/discussions/ (design discussions and open questions) Delete .compozy/, .specs/, .docs/, and .discussions/. Update AGENTS.md: add explicit docs/ location table, hard rule against hidden doc folders, and new AI-assisted development section (context lazy loading, scope control, verification). Update CLAUDE.md: fix .docs/ references to docs/legacy/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
# Ymir — Stack Atual
|
|
|
|
## Core (C++)
|
|
|
|
| Componente | Tecnologia | Versão | Notas |
|
|
|-----------|-----------|--------|-------|
|
|
| Linguagem | C++ | 17 | `-std=c++17` obrigatório |
|
|
| Build system | CMake + Ninja | CMake 3.16+ | |
|
|
| Containerização | Docker | Linux x86_64 | Image em `docker/linux-x86_64/` |
|
|
| ODE Solver | SUNDIALS CVODE | 6.0+ | **Será removido** — substituído por RK45 |
|
|
| JSON | nlohmann_json | 3.11.3 | FetchContent |
|
|
| Test framework | Catch2 | v3.5.4 | FetchContent |
|
|
| Geometry (futuro) | CGAL | system | Opcional, não usado ainda |
|
|
|
|
## Compilador
|
|
|
|
- MSVC: `/W4 /WX /permissive-`
|
|
- Clang/GCC: `-Wall -Wextra -Wpedantic -Werror -Wno-unused-parameter`
|
|
- Coverage: LLVM (`llvm-cov`) com target ≥ 80%
|
|
|
|
## Build modes
|
|
|
|
```bash
|
|
# Docker (recomendado)
|
|
make build # compila no container
|
|
make test # roda testes
|
|
make shell # shell interativo
|
|
|
|
# Nativo
|
|
cmake -B build -S . -GNinja -DCMAKE_BUILD_TYPE=Release -DYMIR_BUILD_TESTS=ON
|
|
cmake --build build --parallel
|
|
ctest --test-dir build --output-on-failure
|
|
```
|
|
|
|
## Dependências do sistema (nativo)
|
|
|
|
- SUNDIALS 6.0+ (`libsundials-dev`)
|
|
- CGAL (opcional)
|
|
- CMake 3.16+
|
|
- Ninja
|
|
|
|
## Stack Planejada (pós-migração)
|
|
|
|
| Componente | Tecnologia | Versão |
|
|
|-----------|-----------|--------|
|
|
| WASM Compiler | Emscripten | latest stable |
|
|
| WASM Bindings | Embind | (bundled com Emscripten) |
|
|
| Monorepo | pnpm + Turborepo | pnpm 9+, turbo 2+ |
|
|
| API Runtime | Node.js | 20 LTS |
|
|
| API Framework | Fastify | 4.x |
|
|
| API Schema | TypeBox | 0.33+ |
|
|
| Database | SQLite + Drizzle ORM | — |
|
|
| WebSocket | @fastify/websocket | — |
|
|
| Frontend | React + Vite | React 18, Vite 5 |
|
|
| Frontend State | Zustand | 4.x |
|
|
| Shared Types | TypeBox (packages/types) | — |
|