takaro-engineer
Takaro repository knowledge - monorepo structure, tests, Docker setup, debugging, database migrations, brittle test investigation. Use when working on this codebase, running tests, debugging issues, investigating flaky tests, or understanding the project structure. (project)
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Takaro Engineer
Essential knowledge for the Takaro repository - a web-based multi-gameserver manager.
Quick Reference
| Task | Command |
|---|---|
| Run specific test | docker compose exec takaro npm run test:file <path> |
| Run unit tests | docker compose exec takaro npm run test:unit |
| Run integration tests | docker compose exec takaro npm run test:integration |
| Shell into container | docker compose exec takaro bash |
| View logs | docker compose logs --tail=50 takaro |
| Database CLI | docker compose exec postgresql psql -U takaro -d takaro |
| Run migrations | docker compose exec takaro npm -w packages/app-api run db:migrate |
| Create dev data | docker compose exec takaro node scripts/dev-data.mjs |
| Reset dev data | docker compose exec takaro node scripts/dev-remove-domains.mjs |
Stack
- Runtime: Node.js 24.11.0, TypeScript 5.5.4
- Backend: Express, routing-controllers, Objection.js/Knex
- Frontend: React 18, TanStack Router, styled-components
- Database: PostgreSQL 15, Redis 7.2
- Auth: Ory Kratos
- Testing: Node.js test runner (backend), Vitest (frontend)
Ports
| Port | Service |
|---|---|
| 13000 | API |
| 13001 | web-main (frontend) |
| 13002 | Storybook |
| 13005 | Documentation |
| 13100 | PostgreSQL |
| 6379 | Redis |
| 4433 | Kratos (auth) |
Monorepo Structure
packages/
├── app-api # Main API server
├── app-connector # Game server connector
├── app-mock-gameserver # Mock gameserver for testing
├── lib-* # Shared libraries
├── web-main # Frontend (React)
├── web-docs # Documentation (Docusaurus)
└── lib-components # UI component library
Detailed Guides
- DEV-ENVIRONMENT.md - Dev data setup, credentials, Playwright testing
- TESTING.md - Test framework, commands, debugging failures
- DEBUGGING.md - CI failures, log analysis, domain ID tracing
- BRITTLE-TESTS.md - Investigating and fixing flaky tests
- DATABASE.md - Multi-tenancy, migrations, useful queries
- DOCKER.md - Services, exec commands, compose files
- API.md - Controller patterns, adding endpoints, permissions
- FRONTEND.md - lib-components, web-main, storybook
- MODULES.md - Module system, commands, hooks, testing
Helper Scripts
# Find test files
./scripts/find-test.sh <pattern>
# Database debugging queries
./scripts/psql-debug.sh <query-name>
# CI failure logs
./scripts/ci-logs.sh <PR_NUMBER> [search_pattern]
Key Gotchas
-
Internal packages as peerDependencies: Add
@takaro/*packages topeerDependencieswith*version - Tests log domain ID: Failed tests print domain ID - grep logs with it
- TypeScript check before tests: Every test run validates types first (~2s overhead)
-
Dangling domains cleanup: Test framework auto-removes
integration-*prefixed domains - Frontend components: Always use lib-components, never inline components
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!