- π Documentation
- π Local Development
- π§± Architecture
- π¦ Packages
- π€ Community
- βοΈ License
We highly recommend you take a look at the documentation to level up.
|
|
Infrastructure as Code in any programming language. |
|
|
Infrastructure, Instantly. |
|
|
ICANN-accredited domain name registrar providing domain name registration and web hosting. |
| Name | Link |
|---|---|
| Better Comments | https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments |
| UnoCSS | https://marketplace.visualstudio.com/items?itemName=antfu.unocss |
| ESLint | https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint |
| GitLens β Git supercharged | https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens |
| GitHub Actions | https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-github-actions |
| Azure Functions | https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions |
| Powershell | https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell |
| Oxfmt - Code formatter | https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode |
| Material Icon Theme | https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme |
| Vue - Official (Volar) | https://marketplace.visualstudio.com/items?itemName=Vue.volar |
The projects make use of symlinks in the git project. On Windows, this may not work as expected without extra configuration. To configure git to create symlinks on windows, you need to enable the Windows "Developer Mode" setting, and also set the core.symlinks git feature using either of the following commands:
# Global setting
git config --global core.symlinks true
# Local setting
git config core.symlinks trueAfter applying this setting, you may need to reset your local branch to ensure the files get rewritten as symlinks. Note that this step is destructive and you will want to push any changes you have made prior to resetting your branch.
git reset --hard- Install Node Modules:
pnpm i-
Install PostgreSQL + PgAdmin.
-
Add
.envfile according to.env.exampleinapps/webdirectory.
Checkout the deployment documentation for more information.
- Build the packages to be used by the application:
pnpm build:packages- Change to the app directory:
cd apps/web- Start the development server on http://localhost:3000
pnpm devBuild the application for production:
pnpm buildLocally preview production build:
pnpm previewEsposter is a pnpm workspaces monorepo. See monorepo tooling for workspace script orchestration and publishing boundaries.
Packages are used directly by the nuxt application via workspace:*.
Each node's hue and tint are the role its edges give it, darkest at what the repo ships and lightest at what the rest of it stands on; the key is drawn into the image. Regenerate it from the repo root with:
pnpm graph:genThree branches, each written by exactly one actor, turn a stream of AI-authored commits into reviewed releases
without anyone waiting on anyone. Sessions push to ai/queue as fast as they commit. The review collector β a
GitHub Actions workflow fired by every ai/queue push and every CodeRabbit review β drains the open findings,
ports the largest green window under CodeRabbit's file cap onto develop, and replies on each thread with the
pushed sha. develop merges to main once a window comes back clean, and the push to main runs the same
collector, which fast-forwards develop back onto it. A window is budgeted in files and spent on
findings, so the collector proves which commits have nothing in them to comment on β every file a 100%
rename or an import specifier following one β and sends those straight to main rather than letting a folder
sweep occupy a window it will return nothing from. The design and its fine print live in
the review collector docs.
flowchart LR
S[AI sessions<br/>commit continuously] -->|git push| Q[(ai/queue)]
Q -->|push event| C{{Review collector<br/>gates, drains, ports}}
C -->|largest green window<br/>under the cap| D[(develop)]
C -->|express: provably<br/>nothing to review| M
D -->|pull request synchronized| R[CodeRabbit review<br/>one slot per hour]
R -->|review submitted| C
C -->|fixes parked| F[(ai/review-fixes)]
F -->|lead the next window| D
D -->|zero findings| M[(main)]
M -->|push event| C
C -->|fast-forward after the merge<br/>fold a bump into the next window| D
| Package | Description | Published |
|---|---|---|
apps/functions |
Serverless Azure Functions backend β push notifications, webhooks, EventGrid | β |
apps/infra |
Pulumi infrastructure code and migration tools for Azure resources | β |
apps/web |
Main Nuxt 4 web application β frontend, server routes, tRPC API | β |
packages/azure |
Azure wire conventions β OData filter clauses, entity key casing, service limits | β |
packages/azure-mock |
Mock Azure service classes for local dev and testing | β |
packages/configuration |
Shared ESLint, TSConfig, and tsdown build configurations | β |
packages/db |
Database connection utilities for Drizzle ORM, Azure Table, Blob, and WebPubSub | β |
packages/db-mock |
In-memory PGlite database factory for unit and integration tests | β |
packages/db-schema |
Drizzle ORM schemas and migrations (PostgreSQL source of truth) | β |
packages/keyframe-store |
Content-addressed version store β zstd keyframes and deltas over any backend | β |
packages/parse-tmx |
Parser for Tiled Map Editor .tmx files |
β |
packages/shared |
Shared TypeScript types, utilities, and error classes | β |
packages/shared-node |
Node-only shared tooling β benchmark reporting for vitest bench runs | β |
packages/virrun |
Ephemeral, in-memory virtual runner β runs a repo's real toolchain isolated | β |
packages/vue-phaserjs |
Phaser 4 game engine integration for Vue 3 | β |
packages/xml2js |
TypeScript rewrite of xml2js β XML β JSON conversion | β |
scripts |
The repository's own tooling β workspace graph, dependency report, sweep scans | β |
We welcome contributions from everyone and are committed to maintaining a friendly, safe, and welcoming community. Please see our Code of Conduct and Security Policy for more information.
This project is licensed under the Apache-2.0 license.
