Thanks for joining the Quickfra community! We appreciate your time and expertise. Below is a streamlined guide to get you started.
quickfra/
├─ apps/
│ ├─ ui/ # Next.js 15 + Tailwind + shadcn/ui
│ ├─ api/ # NestJS + GraphQL
│ └─ dashboard/ # Admin console (Crossplane, Grafana…)
│
├─ packages/
│ ├─ cli/ # “quickfra” command-line tool
│ ├─ sdk/ # TypeScript/JS client for the API
│ ├─ infra-utils/ # Terraform helpers & OCI wrappers
│ └─ ui-components/ # Shared React components
│
├─ infra/
│ ├─ modules/ # Terraform modules (oci-vm, aws-vpc, common)
│ ├─ compositions/ # Crossplane CustomResources
│ └─ environments/ # Dev / Staging / Prod settings
│
├─ charts/ # Helm charts & Kustomize
├─ scripts/ # Utility scripts (bootstrap, deploy-all)
├─ .github/ # CI workflows & issue/PR templates
├─ docs/ # ADRs, runbooks, whitepapers
├─ LICENSE # Apache 2.0
└─ README.md-
Clone & install
git clone [email protected]:YOUR_ORG/quickfra.git cd quickfra pnpm install
-
Environment Copy and fill in credentials:
cp infra/environments/dev/terraform.tfvars.example infra/environments/dev/terraform.tfvars
-
Start local services
-
UI:
pnpm --filter=ui dev -
API:
pnpm --filter=api dev -
CLI:
pnpm --filter=cli dev -
Terraform (dev):
cd infra/environments/dev terraform init && terraform apply
-
- main always deployable, passing CI.
- feature/name work on new functionality.
- release/x.y.z pre-release stabilization.
- hotfix/issue urgent fixes against main.
Open a Pull Request from your feature branch into main once your changes are tested and documented.
-
Scope
- One feature or fix per PR.
-
Title & Description
- Prefix:
feat:,fix:,chore:. - Include “what” and “why”.
- Prefix:
-
Tests
- Add or update unit tests.
- Ensure existing tests pass.
-
Documentation
- Update
README.mdor add new docs underdocs/.
- Update
-
CI
- PR must pass lint, formatting, build, and tests.
-
Unit tests:
pnpm testorpnpm --filter=<pkg> test -
Coverage: run with
COVERAGE=true pnpm test -
E2E:
- UI:
pnpm --filter=ui test:e2e - API:
pnpm --filter=api test:e2e
- UI:
- Bump version:
pnpm version patch|minor|major - Update
CHANGELOG.md. - Open
release/vX.Y.Zbranch and PR. - On merge, GitHub Actions publishes packages and tags the release.
Please read and follow our Code of Conduct. Respect, clarity, and kindness are expected in all interactions.
All contributors must sign the CLA before a PR can be merged. A bot will guide you through this when you open your first PR.
Thanks again for your interest in Quickfra, your contributions move the project forward! If you have questions, drop us a line on the issue tracker or join the discussion in Slack.