@@ -58,32 +58,83 @@ I'm very open to suggestions! [Create an issue](https://github.com/noobships/tes
5858
5959## ▪️ Development Workflow
6060
61- Keep it simple:
61+ ** ⚠️ Important: This project has strict quality gates that will block commits and deployments if not met. **
6262
63- | ** Step** | ** Action** |
64- | :------- | :------------------------------------------------------ |
65- | ` 1. ` | ** Fork the repo** |
66- | ` 2. ` | ** Create a branch** : ` git checkout -b fix/your-feature ` |
67- | ` 3. ` | ** Make changes** |
68- | ` 4. ` | ** Test locally** : Make sure ` pnpm dev ` still works |
69- | ` 5. ` | ** Commit** : Use clear commit messages |
70- | ` 6. ` | ** Push and create PR** |
63+ ### Quality Gates
64+
65+ Before any code can be committed or deployed, it must pass:
66+
67+ 1 . ** Prettier formatting** - Code must match project formatting standards
68+ 2 . ** ESLint checks** - Zero warnings allowed (` --max-warnings=0 ` )
69+ 3 . ** TypeScript type checking** - All types must be valid
70+ 4 . ** Build process** - Must build successfully
71+
72+ ### Development Steps
73+
74+ | ** Step** | ** Action** | ** Quality Check** |
75+ | :------- | :------------------------------------------------------ | :---------------------------------- |
76+ | ` 1. ` | ** Fork the repo** | - |
77+ | ` 2. ` | ** Create a branch** : ` git checkout -b fix/your-feature ` | - |
78+ | ` 3. ` | ** Make changes** | - |
79+ | ` 4. ` | ** Test locally** : Run quality checks | ` pnpm build ` (includes all checks) |
80+ | ` 5. ` | ** Commit** : Husky will auto-run checks | Pre-commit hook enforces quality |
81+ | `6.`` | ** Push and create PR** | GitHub Actions run full CI pipeline |
82+
83+ ### Local Quality Checks
84+
85+ ** Always run these before committing:**
86+
87+ ``` bash
88+ # Quick check - will fail if any issues found
89+ pnpm build
90+
91+ # Or run individual checks:
92+ pnpm format:check # Check formatting
93+ pnpm lint:ci # Strict linting (fails on warnings)
94+ pnpm type-check # TypeScript validation
95+ ```
96+
97+ ** If you have issues, fix them with:**
98+
99+ ``` bash
100+ pnpm format # Fix formatting
101+ pnpm lint:fix # Fix auto-fixable lint issues
102+ ```
71103
72104### Code Style
73105
74106- ** Prettier** handles formatting (configured in ` .prettierrc ` )
75- - ** ESLint** catches issues (configured in ` .eslintrc.json ` )
107+ - ** ESLint** with TypeScript support catches issues (configured in ` .eslintrc.json ` )
76108- ** TypeScript** for safety
77- - ** EditorConfig ** ensures consistent editor settings
109+ - ** Husky ** enforces quality on every commit
78110
79- ** Before submitting PRs, run :**
111+ ** The project uses strict ESLint rules :**
80112
81- ``` bash
82- pnpm lint:fix # Fix linting issues
83- pnpm format # Fix formatting issues
84- ```
113+ - Zero warnings allowed in CI
114+ - TypeScript-specific rules enabled
115+ - Unused variables must be prefixed with ` _ ` or removed
116+
117+ ## ▪️ What Happens When You Submit a PR
118+
119+ 1 . ** GitHub Actions** automatically run the full quality pipeline
120+ 2 . ** All checks must pass** before the PR can be merged
121+ 3 . ** Vercel** will only deploy if CI passes
122+ 4 . ** Code review** focuses on logic, not formatting (tools handle that)
123+
124+ ### CI Pipeline
85125
86- Don't worry too much about style - these tools will help you automatically!
126+ The GitHub Actions workflow runs:
127+
128+ ``` yaml
129+ - Checkout code
130+ - Setup Node.js & pnpm
131+ - Install dependencies
132+ - Check code formatting (Prettier)
133+ - Run ESLint (strict mode - no warnings)
134+ - Type check (TypeScript)
135+ - Build project
136+ - Verify build output
137+ ` ` `
87138
88139## ▪️ Contribution Ideas
89140
@@ -105,6 +156,29 @@ Right now I'm focusing on:
105156| `2.` | **Planning the AI automation features** - research and architecture |
106157| `3.` | **Growing the community** - getting feedback and contributors |
107158
159+ # # ▪️ Troubleshooting
160+
161+ # ## Common Issues
162+
163+ **"Husky pre-commit hook failed"**
164+
165+ - Run `pnpm build` to see what's failing
166+ - Fix formatting : ` pnpm format`
167+ - Fix lint issues : ` pnpm lint:fix`
168+ - Fix type issues : Check TypeScript errors
169+
170+ **"GitHub Actions failed"**
171+
172+ - Check the Actions tab for specific failure reasons
173+ - Usually formatting, lint warnings, or type errors
174+ - Fix locally and push again
175+
176+ **"Build fails locally"**
177+
178+ - Ensure you're using Node.js 20+ and pnpm 10.15.0+
179+ - Try `pnpm install --force` to refresh dependencies
180+ - Check for TypeScript errors in your editor
181+
108182# # ▪️ Questions?
109183
110184I'm pretty responsive! You can :
@@ -121,3 +195,5 @@ By contributing, you agree your contributions will be under the same MIT License
121195---
122196
123197**Thanks for considering contributing! Even small improvements make a huge difference for a solo project like this.**
198+
199+ **Remember: The quality gates are there to help, not hinder. They ensure everyone's code meets the same high standards!**
0 commit comments