Skip to content

acuminata/zeko

Repository files navigation

Zeko Monorepo

This is a blueprint for monorepos.

Monorepo Structure

  • apps/
    All applications live here.

  • packages/
    Shared code and libraries (if any) go here.

  • docs/
    Any documentation that future developers should be aware of goes here.

  • infra/
    Any infrastructure orchestration and deployment code.

Monorepo Management with Turbo

  • This monorepo uses Turbo (turbo.json at the root) for advanced monorepo management.
  • Turbo enables fast, incremental builds and task orchestration across all apps and packages.
  • You can use Turbo to manage tasks, caching, and pipelines for both JavaScript/TypeScript and non-JavaScript projects (e.g., Python, Go, Rust, etc.).
  • This means you can add and manage non-JS projects in this monorepo, and define their build/test/lint pipelines in turbo.json.
  • See the Turbo documentation for more details on configuring and using Turbo in a polyglot monorepo.

Dependency Management for JS/TS apps

  • Always use pnpm for installing or creating dependencies.
  • The workspace is managed via pnpm-workspace.yaml.
  • To install all dependencies for every app and package, run:
    pnpm install
  • To add a dependency to a specific app or package, run:
    pnpm add <package-name> --filter <app-or-package-name>

Additional Notes

  • All secrets and keys should be managed via environment variables.

About

Blueprint for monorepos.

Resources

Stars

Watchers

Forks

Contributors