Skip to content

Commit 0ea3ce0

Browse files
Merge pull request #13 from superbasicstudio/chore/add-infrastructure-tooling
feat: add code quality tooling and CI (2.1.0)
2 parents d3d7853 + 5ecd648 commit 0ea3ce0

16 files changed

Lines changed: 4468 additions & 604 deletions

File tree

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_style = space
7+
indent_size = 2
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false

.github/ISSUE_TEMPLATE/config.yml

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ contact_links:
88
about: Want to contribute? Start here!
99
- name: Community Discussions
1010
url: https://github.com/superbasicstudio/claude-conductor/discussions
11-
about: Ask questions and discuss ideas with the community
11+
about: Ask questions and discuss ideas with the community

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: npm
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
- package-ecosystem: github-actions
8+
directory: /
9+
schedule:
10+
interval: weekly

.github/workflows/ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
node-version: [18, 20, 22]
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Install pnpm
20+
uses: pnpm/action-setup@v4
21+
with:
22+
version: 10
23+
24+
- name: Use Node.js ${{ matrix.node-version }}
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: ${{ matrix.node-version }}
28+
cache: pnpm
29+
30+
- name: Install dependencies
31+
run: pnpm install --frozen-lockfile
32+
33+
- name: Lint
34+
run: pnpm run lint
35+
36+
- name: Check formatting
37+
run: pnpm run format:check
38+
39+
- name: Run tests
40+
run: pnpm test

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx lint-staged

.npmignore

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,15 @@ yarn-error.log*
2525
# Backup & temp
2626
conductor-backup/
2727
tmp/
28-
temp/
28+
temp/
29+
30+
# Config files (not needed in published package)
31+
.editorconfig
32+
.eslintrc*
33+
eslint.config.*
34+
.prettierrc
35+
.prettierignore
36+
jest.config.*
37+
.npmrc
38+
.husky/
39+
.github/

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
engine-strict=true

.prettierignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
node_modules/
2+
coverage/
3+
templates/
4+
test-project/
5+
temp-test*/
6+
test-temp*/
7+
docs/
8+
*.md
9+
*.jpg
10+
*.png
11+
*.ico
12+
pnpm-lock.yaml
13+
package-lock.json

.prettierrc

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

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.1.0] - 2026-02-28
9+
10+
### Added
11+
- ESLint 10 with flat config for code linting
12+
- Prettier 3 for consistent code formatting
13+
- Husky 9 pre-commit hooks with lint-staged
14+
- GitHub Actions CI pipeline (Node 18, 20, 22 test matrix)
15+
- Dependabot configuration for automated dependency updates
16+
- Jest coverage thresholds (80% branches/functions/lines/statements)
17+
- `.editorconfig` for cross-editor consistency
18+
- New scripts: `lint`, `lint:fix`, `format`, `format:check`, `test:coverage`
19+
820
## [2.0.1] - 2026-02-28
921

1022
### Changed
@@ -151,6 +163,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
151163
- Critical error ledger
152164
- Support for multiple package managers (npm, npx, yarn, pnpm, bun)
153165

166+
[2.1.0]: https://github.com/superbasicstudio/claude-conductor/compare/v2.0.1...v2.1.0
154167
[2.0.1]: https://github.com/superbasicstudio/claude-conductor/compare/v2.0.0...v2.0.1
155168
[2.0.0]: https://github.com/superbasicstudio/claude-conductor/compare/v1.3.0...v2.0.0
156169
[1.3.0]: https://github.com/superbasicstudio/claude-conductor/compare/v1.3.0-beta.1...v1.3.0

0 commit comments

Comments
 (0)