Files
vinihcrosaandClaude Sonnet 4.6 d495d7b58d docs: consolidate all documentation under docs/ and enforce single-source rule
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>
2026-06-28 01:09:54 -03:00

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) | — |