First off, thank you for considering contributing to CodeLens. By participating in this project, you are helping build an unapologetically honest engineering tool.
We adhere to strict branch naming conventions:
feat/feature-name(for new UI modules, backend routes, algorithms)fix/bug-description(for hotfixes and CSS corrections)chore/task-name(for documentation, dependency updates, and tooling)
- Strict Brutalism: No rounded corners (
rounded-noneimplicitly or explicitly). Colors are restricted to pureblackandwhite, plus grayscale for disabled elements. - Generous Whitespace: Utilize extremely large padding (
py-20,py-32) to allow typography to breathe. - Massive Typography: Headers should scale dramatically (
text-5xltotext-9xl). Usefont-blackanduppercase tracking-widestheavily.
- ES Modules Only:
require()is strictly forbidden. Useimportandexporteverywhere. Ensure all local imports contain the.jsextension (e.g.,import db from './config/db.js'). - Modular Architecture: Do not dump logic into monolithic files. Controllers parse the request, Services execute business/AI logic, and the Database layer handles queries.
- AI Determinism: When modifying the Gemini API interfaces, strictly enforce prompt engineering that demands deterministic JSON structures (no markdown wrappers).
- Ensure your code satisfies
npm run lintif applicable. - If modifying UI, test on both desktop
lgviews and mobile viewports (flex-colscaling). - Draft a thorough PR description mapping your solution to the original GitHub issue.
- Request review from a core maintainer.
If you locate a bug, please check the existing issue tracker before creating a duplicate. For new features, open a discussion thread outlining the architectural approach before submitting large PRs.