Files
Ymir/docs/specs/codebase/STACK.md
T
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

1.7 KiB

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

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