Skip to content

Commit 1273aeb

Browse files
authored
Merge pull request #3 from vkondi/feat/feature_enhancement
feat: Code quality tools + GitHub Templates
2 parents e6fdba5 + 7b3e9cb commit 1273aeb

37 files changed

Lines changed: 1952 additions & 821 deletions

.eslintignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules
2+
.next
3+
out
4+
build
5+
dist
6+
.husky
7+
coverage
8+
*.config.js
9+
*.config.mjs

.eslintrc.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es2021": true,
5+
"node": true
6+
},
7+
"extends": [
8+
"next/core-web-vitals",
9+
"plugin:@typescript-eslint/recommended",
10+
"plugin:react/recommended",
11+
"prettier"
12+
],
13+
"parser": "@typescript-eslint/parser",
14+
"parserOptions": {
15+
"ecmaFeatures": {
16+
"jsx": true
17+
},
18+
"ecmaVersion": "latest",
19+
"sourceType": "module"
20+
},
21+
"plugins": ["react", "@typescript-eslint", "prettier"],
22+
"rules": {
23+
"react/react-in-jsx-scope": "off",
24+
"react/prop-types": "off",
25+
"@typescript-eslint/no-unused-vars": [
26+
"error",
27+
{
28+
"argsIgnorePattern": "^_",
29+
"varsIgnorePattern": "^_"
30+
}
31+
],
32+
"@typescript-eslint/no-explicit-any": "warn",
33+
"@typescript-eslint/explicit-function-return-types": "off",
34+
"@typescript-eslint/explicit-module-boundary-types": "off",
35+
"prettier/prettier": "error",
36+
"react-hooks/rules-of-hooks": "error",
37+
"react-hooks/exhaustive-deps": "warn"
38+
},
39+
"settings": {
40+
"react": {
41+
"version": "detect"
42+
}
43+
}
44+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
28+
- OS: [e.g. iOS]
29+
- Browser [e.g. chrome, safari]
30+
- Version [e.g. 22]
31+
32+
**Smartphone (please complete the following information):**
33+
34+
- Device: [e.g. iPhone6]
35+
- OS: [e.g. iOS8.1]
36+
- Browser [e.g. stock browser, safari]
37+
- Version [e.g. 22]
38+
39+
**Additional context**
40+
Add any other context about the problem here.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
---
8+
9+
**Is your feature request related to a problem? Please describe.**
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**Additional context**
19+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Pull Request
2+
3+
## Summary
4+
5+
<!-- What & why in 1–2 lines -->
6+
7+
[Short description]
8+
9+
## Type
10+
11+
<!-- Pick one -->
12+
13+
- [ ] Bug
14+
- [ ] Feature
15+
- [ ] Breaking
16+
- [ ] Docs
17+
- [ ] Refactor / Perf
18+
- [ ] Dependency
19+
- [ ] Other: \_\_\_
20+
21+
## Changes
22+
23+
<!-- Bullet points, not a story -->
24+
25+
-
26+
-
27+
-
28+
29+
## Verification
30+
31+
<!-- How was this tested? -->
32+
33+
- [ ] Unit tests
34+
- [ ] Manual testing
35+
- [ ] N/A
36+
37+
## Screenshots (UI only)
38+
39+
<!-- Attach if applicable -->
40+
41+
## Checklist
42+
43+
- [ ] Self-review done
44+
- [ ] Tests passing
45+
- [ ] Docs updated (if needed)

.husky/pre-commit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
npx lint-staged && npm run type-check

.prettierignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules
2+
.next
3+
out
4+
build
5+
dist
6+
.git
7+
.husky
8+
coverage
9+
*.min.js

.prettierrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"semi": true,
3+
"trailingComma": "es5",
4+
"singleQuote": true,
5+
"printWidth": 100,
6+
"tabWidth": 2,
7+
"useTabs": false,
8+
"arrowParens": "always"
9+
}

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ A comprehensive GitHub toolkit built with Next.js frontend and Flask API. Analyz
66

77
- **[Getting Started](./docs/GETTING_STARTED.md)** - Installation, setup, and troubleshooting guide
88
- **[Features](./docs/FEATURES.md)** - Detailed feature descriptions and capabilities
9+
- **[Code Quality](./docs/CODE_QUALITY.md)** - Code quality tools, linting, formatting, and type safety
910
- **[Technical Details](./docs/TECHNICAL_DETAILS.md)** - Tech stack, architecture, and deployment
1011
- **[GitHub API Integration](./docs/GITHUB_API_INTEGRATION.md)** - API endpoints and integration details
1112

1213
## 🚀 Quick Start
1314

1415
### Prerequisites
16+
1517
- Node.js 18+ and yarn
1618
- Python 3.8+
1719
- Git
@@ -20,12 +22,14 @@ A comprehensive GitHub toolkit built with Next.js frontend and Flask API. Analyz
2022
### Setup
2123

2224
**1. Clone the repository:**
25+
2326
```bash
2427
git clone <repository-url>
2528
cd github-toolkit
2629
```
2730

2831
**2. Backend setup:**
32+
2933
```bash
3034
pip install -r requirements.txt
3135
cp .env.example .env
@@ -35,12 +39,14 @@ python -m flask --app api/index run -p 5328
3539
```
3640

3741
**3. Frontend setup (new terminal):**
42+
3843
```bash
3944
yarn
4045
yarn next-dev
4146
```
4247

4348
**4. Access the application:**
49+
4450
- Frontend: http://localhost:3000
4551
- Backend API: http://localhost:5328
4652

@@ -52,11 +58,13 @@ yarn next-dev
5258
## 💻 Development
5359

5460
**Run both frontend and backend concurrently:**
61+
5562
```bash
5663
yarn dev
5764
```
5865

5966
Or run them separately:
67+
6068
```bash
6169
# Terminal 1
6270
python -m flask --app api/index run -p 5328
@@ -66,6 +74,7 @@ yarn next-dev
6674
```
6775

6876
**Build for production:**
77+
6978
```bash
7079
yarn build
7180
yarn start
@@ -75,6 +84,7 @@ yarn start
7584

7685
- For detailed setup and troubleshooting, see [Getting Started](./docs/GETTING_STARTED.md)
7786
- For feature descriptions, see [Features](./docs/FEATURES.md)
87+
- For code quality standards, see [Code Quality](./docs/CODE_QUALITY.md)
7888
- For technical architecture, see [Technical Details](./docs/TECHNICAL_DETAILS.md)
7989
- For API integration details, see [GitHub API Integration](./docs/GITHUB_API_INTEGRATION.md)
8090

@@ -89,6 +99,7 @@ We welcome contributions! Please follow these steps:
8999
5. Open a Pull Request
90100

91101
### Code Standards
102+
92103
- Use TypeScript for frontend code
93104
- Maintain clean, readable code with proper comments
94105
- Test your changes thoroughly before submitting

app/compare-profiles/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
"use client";
1+
'use client';
22

3-
import CompareProfiles from "@/components/CompareProfiles";
3+
import CompareProfiles from '@/components/CompareProfiles';
44

55
export default function CompareProfilesPage() {
66
return (

0 commit comments

Comments
 (0)