Skip to content

Commit ca63afc

Browse files
committed
chore: full opensource cleanup and repo polish
- Add LICENSE (MIT, Nadim Tuhin 2024-2025) - Add CODE_OF_CONDUCT.md (Contributor Covenant v2.1) - Add GitHub issue templates: bug report, feature request, new tool - Add pull request template with checklist - Add CI workflow (lint + test + build on push/PR to main) - Rewrite README: centered hero, 5 badges, tools table, screenshots, clean structure - Remove security scanning docs from README (too internal-facing)
1 parent ec792d6 commit ca63afc

8 files changed

Lines changed: 301 additions & 395 deletions

File tree

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,35 @@
11
---
2-
name: Bug report
3-
about: Create a report to help us improve
4-
title: '[BUG] '
5-
labels: bug
2+
name: Bug Report
3+
about: Report a bug to help us improve
4+
title: "[Bug] "
5+
labels: [bug]
66
assignees: ''
77
---
88

99
## Describe the bug
1010

1111
A clear and concise description of what the bug is.
1212

13-
## To Reproduce
13+
## Steps to reproduce
1414

15-
Steps to reproduce the behavior:
1615
1. Go to '...'
17-
2. Click on '....'
18-
3. See error
16+
2. Click on '...'
17+
3. Enter value '...'
18+
4. See error
1919

2020
## Expected behavior
2121

2222
A clear and concise description of what you expected to happen.
2323

24-
## Screenshots
24+
## Actual behavior
2525

26-
If applicable, add screenshots to help explain your problem.
26+
A clear and concise description of what actually happened.
2727

28-
## Environment
28+
## Browser / OS
2929

30-
- OS: [e.g. macOS 14, Ubuntu 22.04]
31-
- Node version: [e.g. 20.x]
32-
- Version: [e.g. 1.0.0]
30+
- Browser: [e.g. Chrome 124, Firefox 125, Safari 17]
31+
- OS: [e.g. macOS 14, Windows 11, Ubuntu 22.04]
3332

34-
## Additional context
33+
## Screenshots (optional)
3534

36-
Add any other context about the problem here.
35+
If applicable, add screenshots to help explain your problem.
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
2-
name: Feature request
3-
about: Suggest an idea for this project
4-
title: '[FEAT] '
5-
labels: enhancement
2+
name: Feature Request
3+
about: Suggest an idea or improvement
4+
title: "[Feature] "
5+
labels: [enhancement]
66
assignees: ''
77
---
88

99
## Is your feature request related to a problem?
1010

11-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
A clear and concise description of what the problem is. Example: I'm always frustrated when [...]
1212

1313
## Describe the solution you'd like
1414

@@ -20,4 +20,4 @@ A clear and concise description of any alternative solutions or features you've
2020

2121
## Additional context
2222

23-
Add any other context or screenshots about the feature request here.
23+
Add any other context, mockups, or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/new_tool.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: New Tool Request
3+
about: Suggest a new developer tool to add to devutils
4+
title: "[New Tool] "
5+
labels: [new-tool, enhancement]
6+
assignees: ''
7+
---
8+
9+
## Tool name
10+
11+
What should this tool be called?
12+
13+
## What does it do?
14+
15+
A clear and concise description of what the tool does and how it works.
16+
17+
## Why is it useful for developers?
18+
19+
Explain the use case and why developers would benefit from having this tool in devutils.
20+
21+
## Any existing online version of this tool?
22+
23+
Link to any existing online implementations of this tool (e.g. on other sites) so we can understand the expected behavior and UX.

.github/pull_request_template.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
## Description
22

3-
Please include a summary of the changes and the related issue.
4-
5-
Fixes # (issue)
3+
<!-- A clear and concise description of what this PR does. -->
64

75
## Type of change
86

9-
- [ ] Bug fix (non-breaking change which fixes an issue)
10-
- [ ] New feature (non-breaking change which adds functionality)
11-
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
7+
- [ ] Bug fix
8+
- [ ] New feature
9+
- [ ] New tool
1210
- [ ] Documentation update
11+
- [ ] Other (describe):
1312

1413
## Checklist
1514

16-
- [ ] My code follows the style guidelines of this project
17-
- [ ] I have performed a self-review of my code
18-
- [ ] I have commented my code, particularly in hard-to-understand areas
19-
- [ ] I have made corresponding changes to the documentation
20-
- [ ] My changes generate no new warnings
21-
- [ ] I have added tests that prove my fix is effective or that my feature works
15+
- [ ] All tests pass (`npm test` or equivalent)
16+
- [ ] Lint passes with no new errors (`npm run lint` or equivalent)
17+
- [ ] Screenshots included for any UI changes
18+
- [ ] No `console.log` statements left in production code
19+
- [ ] Tool (if applicable) works fully offline without external network requests

.github/workflows/ci.yml

Lines changed: 53 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,68 @@ name: CI
22

33
on:
44
push:
5-
branches: [main, master]
5+
branches: [main]
66
pull_request:
7-
branches: [main, master]
7+
branches: [main]
88

99
jobs:
10+
lint-and-test:
11+
name: Lint & Test
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Setup pnpm
19+
uses: pnpm/action-setup@v4
20+
with:
21+
version: latest
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v4
25+
with:
26+
node-version: 20
27+
cache: pnpm
28+
29+
- name: Install dependencies
30+
run: pnpm install --frozen-lockfile
31+
32+
- name: Lint
33+
run: pnpm lint
34+
35+
- name: Test
36+
run: pnpm test -- --watchAll=false --passWithNoTests
37+
1038
build:
39+
name: Build
1140
runs-on: ubuntu-latest
41+
needs: lint-and-test
1242

1343
steps:
14-
- uses: actions/checkout@v4
44+
- name: Checkout
45+
uses: actions/checkout@v4
1546

16-
- name: Set up Node.js
17-
if: ${{ hashFiles('package.json') != '' }}
47+
- name: Setup pnpm
48+
uses: pnpm/action-setup@v4
49+
with:
50+
version: latest
51+
52+
- name: Setup Node.js
1853
uses: actions/setup-node@v4
1954
with:
20-
node-version: '20'
21-
cache: 'npm'
55+
node-version: 20
56+
cache: pnpm
2257

2358
- name: Install dependencies
24-
if: ${{ hashFiles('package.json') != '' }}
25-
run: npm ci || npm install
26-
27-
- name: Run lint
28-
if: ${{ hashFiles('package.json') != '' }}
29-
run: |
30-
if npm run lint --if-present 2>/dev/null; then
31-
echo "Lint passed"
32-
else
33-
echo "No lint script or lint skipped"
34-
fi
35-
continue-on-error: true
36-
37-
- name: Run tests
38-
if: ${{ hashFiles('package.json') != '' }}
39-
run: |
40-
if npm test --if-present 2>/dev/null; then
41-
echo "Tests passed"
42-
else
43-
echo "No test script or tests skipped"
44-
fi
45-
continue-on-error: true
59+
run: pnpm install --frozen-lockfile
60+
61+
- name: Build
62+
run: pnpm build
63+
64+
- name: Upload dist artifact
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: dist
68+
path: dist/
69+
retention-days: 7

0 commit comments

Comments
 (0)