Skip to content

Commit bd6e997

Browse files
committed
docs: update README, CONTRIBUTING, and DEVELOPMENT for new quality gates and CI/CD workflow
1 parent 22e5835 commit bd6e997

File tree

4 files changed

+296
-79
lines changed

4 files changed

+296
-79
lines changed

CONTRIBUTING.md

Lines changed: 93 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

110184
I'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

Comments
 (0)