Files
household-bot/docs/specs/HOUSEBOT-001-monorepo-bootstrap.md
Stas 4a26ac81d6 Codex/whe 15 bootstrap workspace (#1)
* feat(WHE-15): bootstrap bun workspace with app and package scaffolds

* chore(WHE-17): switch workspace typecheck to tsgo

* chore(WHE-16): configure oxlint and oxfmt no-semicolon style

* chore: address CodeRabbit review feedback

* chore: apply coderabbit fixes and add review script

* docs: add ADR decision metadata
2026-03-05 00:56:24 +03:00

2.2 KiB

HOUSEBOT-001: Monorepo Bootstrap and Quality Gates

Summary

Initialize the repository as a Bun workspace monorepo with strict TypeScript, Oxlint, CI quality gates, and architecture-oriented package layout.

Goals

  • Establish baseline folder structure for hexagonal architecture.
  • Add root scripts for lint, typecheck, test, and build.
  • Enforce no-semicolon formatting style and strict linting.
  • Ensure CI runs on every push/PR.

Non-goals

  • Implement business logic.
  • Implement Telegram handlers.
  • Create production cloud resources.

Scope

  • In: repo skeleton, workspace config, root tooling config, CI workflow.
  • Out: feature code, database schema, external service integration.

Interfaces and Contracts

  • Root scripts exposed via package.json:
    • lint
    • typecheck
    • test
    • build
  • Workspace packages must compile under shared TS config.

Architecture Constraints

  • Workspace must include:
    • apps/bot
    • apps/miniapp
    • packages/domain
    • packages/application
    • packages/ports
    • packages/contracts
    • packages/observability
  • No cross-import from domain to adapters/apps.

File Plan

  • Root:
    • package.json
    • bunfig.toml
    • tsconfig.base.json
    • oxlint.json
    • .editorconfig
    • .gitignore
  • CI:
    • .github/workflows/ci.yml
  • Workspace placeholders:
    • apps/bot/src/index.ts
    • apps/miniapp/src/main.tsx
    • packages/*/src/index.ts

Security and Safety

  • No secrets in repo.
  • Add .env.example templates only.
  • CI must fail on type/lint/test failure.

Test Plan

  • Unit: not applicable in this ticket.
  • Integration: not applicable.
  • Validation checks:
    • Workspace install succeeds.
    • All root scripts run locally.
    • CI workflow executes all checks.

Acceptance Criteria

  • Bun workspace initialized with declared workspaces.
  • Oxlint config present and root lint script works.
  • TypeScript strict base config is shared across workspaces.
  • CI workflow runs lint, typecheck, test, build.
  • Placeholder apps/packages compile.
  • Docs updated with local bootstrap commands.

Rollout Plan

  • Merge to default branch.
  • Use as mandatory baseline for all subsequent tickets.