Thank you for your interest in contributing to Peramanathan Sathyamoorthy's portfolio project! This document provides guidelines for contributing to this project.
- Fork the repository
- Create a feature branch from
devbranch (git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
We follow a structured Git branching strategy to maintain code quality and enable smooth development workflows:
main: Production-ready code, deployed to productiondev: Integration branch, synced withmainafter every release or hotfixcanary: Experimental branch for early production testing with limited usersfeature/*: Short-lived branches for developing new features (created fromdev)release/*: Prepares a specific version for production (branched fromdev)hotfix/*: Urgent fixes for production issues (branched frommain, synced todev)
- Always create
feature/*,release/*, andcanarybranches from the latestdev - Use descriptive branch names (e.g.,
feature/ai-chat-enhancement,hotfix/pdf-generation-bug) - Keep branches short-lived and focused on single features or fixes
- Delete branches after successful merge
After main updates, sync your branches:
git checkout main
git pull --rebase
git checkout dev
git rebase main
git push origin dev- Follow TypeScript strict mode practices
- Use kebab-case for component and file naming
- Ensure proper error boundaries and error handling
- Write clear, descriptive commit messages
- Add appropriate TypeScript types and interfaces
- Interactive UI: client components and hooks per
.agents/skills/react-client-expert/SKILL.md(minimal state, deliberate effects, no RSC for UI logic). - Do not “fix”
useEffectdeps to satisfy the linter —useExhaustiveDependenciesis disabled in Biome; fix the data flow instead. - Lint:
pnpm lint/lint:fixuse Biome linter only (code quality, correctness, best practices). Pure formatting lives inpnpm format. SeeAGENTS.mdandbiome.json.
- Write E2E tests for new features using Playwright
- Ensure all tests pass before submitting PR (
pnpm test:e2euses Brave Beta — see tests/e2e/README.md) - Desktop + mobile viewport projects run against Brave Beta; do not rely on
playwright install chromium
- Clone and setup (see README.md)
- Create feature branch from
dev - Make changes following the guidelines above
- Test thoroughly - build, lint, and run tests
- Submit PR with clear description of changes
For questions or issues:
- Review existing code and documentation (README.md, ARCHITECTURE.md, AGENTS.md)
- Contact Peramanathan Sathyamoorthy directly
This project is private and proprietary.