First off, thanks for taking the time to contribute! 🎉
FORMA is a "Zero-Fund" architecture project. We value efficiency, strict typing, and brutalist aesthetics.
- Fork the repo and clone it locally.
- Install dependencies:
pnpm install - Set up Environment: Copy
.env.exampleto.env.localand add your keys. - Create a Branch:
git checkout -b feature/amazing-feature
We operate on free tiers (Vercel, Supabase, Gemini Flash Lite).
- Do not introduce heavy dependencies without discussing them in an Issue.
- Do not remove caching layers. API calls cost tokens; DB reads are cheap.
- Framework: Next.js 16 (App Router)
- Language: TypeScript (Strict mode)
- Database: Supabase
- AI: Gemini 2.5 Flash Lite (Logic-Only pattern)
- Styling: Tailwind CSS v4 (Refined Brutalism system)
We use a specific aesthetic:
- Colors: Void (
#050505), Paper (#111111), Acid (#D4FF00). - Radii:
rounded-sm(2px). No large rounded corners. - Vibe: Industrial, technical, high-contrast.
- Target Branch: You MUST submit your Pull Request to the
devbranch. - Do NOT submit PRs to
main. Themainbranch is for production releases only. Any PR targetingmainwill be automatically closed.
- Linting: Ensure
pnpm lintpasses before pushing. - Type Safety: No
anytypes allowed. - Conventional Commits: Please use semantic commit messages:
feat: add new strength algorithmfix: resolve scrolling bug on mobiledocs: update README roadmap
- NEVER commit environment variables.
- NEVER commit real user data.
By contributing, you agree that your contributions will be licensed under its MIT License.