Skip to content

1.1 Scaffold the monorepo #2

Description

@goofmint

Part of Phase 1 — Core skeleton (tasks.md Task 1.1).

Summary

Set up the Bun workspaces monorepo that every later task builds on: four packages, shared strict TypeScript config, ESLint, bun test wiring, and a minimal CLI entry point.

Details

  • Initialize a Bun workspace with packages/api, packages/core, packages/builtin, packages/cli (names @tecode/api, @tecode/core, @tecode/builtin, @tecode/cli).
  • Shared tsconfig with strict: true, consistent module/target settings for Bun.
  • ESLint configured workspace-wide (the layering rule itself lands in Task 1.2).
  • bun test runs across all packages from the repo root.
  • packages/cli entry (src/main.ts) parses --version and prints the version, exits 0.

Completion requirements

  • bun install at the root resolves all four workspace packages
  • bun run packages/cli/src/main.ts --version prints a version and exits 0
  • bun test at the root runs (with at least one placeholder test per package) and passes
  • bun lint (or equivalent script) passes workspace-wide
  • Directory layout matches design.md §2

References

  • requirements.md: Req 1.2
  • design.md: §2 (Repository and Package Layout)

Dependencies

None (first task).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions