Forge is a personal engineering catalog of reusable technologies, configurations, infrastructure, and project building blocks.
Instead of solving the same setup problems repeatedly, Forge lets you capture proven solutions and reuse them across projects.
Demo repository: https://github.com/giallon/test_forge
When a technology becomes stable and reusable:
- Document it
- Extract it into a module
- Store it in Forge
- Reuse it in future projects
Examples:
- PostGIS
- Redis
- PowerSync
- Rails
- Flutter
- DevContainers
catalog/
└── <category>/
└── <module>/
├── service.yml
├── env.example
├── files/
│ ├── config/
│ └── scripts/
└── README.md
Each module contains the files, configuration, and documentation required to reuse it.
Add a module to the current project:
forge add postgisRemove a module from the current project:
forge remove postgisList available modules:
forge listThis copies the module files into the project's ops/ directory.
Example:
forge add powersyncResult:
ops/
├── config/
├── env/
│ └── powersync.env.example
├── scripts/
└── services/
└── powersync.yml
Generate a root Docker Compose file from the copied module manifests:
forge composeThis writes docker-compose.yml in the current project root.
Generate a root .env.example by combining module environment templates:
forge envThis reads ops/env/*.env.example and writes a project-level .env.example.
Optional shortcut:
forge bootstrapThis runs forge compose and forge env.
Add reusable services from Forge:
forge add web
forge add postgres
forge add redis
forge add powersync
forge add pgadminProject structure after forge compose:
my-app/
├── docker-compose.yml
└── ops/
├── config/
├── env/
│ ├── pgadmin.env.example
│ ├── postgres.env.example
│ └── redis.env.example
├── scripts/
└── services/
├── pgadmin.yml
├── postgres.yml
├── powersync.yml
└── redis.yml
Generated docker-compose.yml:
services:
postgres:
extends:
file: ops/services/postgres.yml
service: postgres
redis:
extends:
file: ops/services/redis.yml
service: redis
powersync:
extends:
file: ops/services/powersync.yml
service: powersyncStart the stack:
docker compose up -dForge provides reusable service definitions while the application remains responsible for orchestration and customization.
- Build a reusable engineering catalog
- Standardize project setup
- Capture lessons learned
- Accelerate project creation
- Reduce duplicated work
Forge is currently experimental and focused on cataloging reusable infrastructure and application modules.