Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Changes

- [ ] Explain the changes you've made...

## Testing Criteria

- [ ] Explain how you did testing for this PR mentioning all the cases you tested for. Include a [Loom](video link going through the test criteria)
- [ ] Optionally add a testing guide if necessary for QA

## Notes

- Dependencies on other PRs, any required changes in config/setup to test behaviour, or links to external documents, threads, etc -- if any of them are required

## Impact & Surface Area of Change

- An optional overview of components behaviour to be looked at for unintended side-effects after the changes. This will make testing for regressions easier and efficient + help the reviewer put your changes in context
78 changes: 78 additions & 0 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Code Quality Checks
on: push
permissions:
contents: read

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
CI: true

jobs:
run-linter:
name: Run linter
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.15
run_install: false

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: pnpm
cache-dependency-path: |
pnpm-lock.yaml
**/pnpm-lock.yaml

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run linter
run: pnpm lint

type-check:
name: TypeScript type-check
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.15
run_install: false

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: pnpm
cache-dependency-path: |
pnpm-lock.yaml
**/pnpm-lock.yaml

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Cache TypeScript build info
uses: actions/cache@v4
with:
path: |
.tsbuildinfo
**/*.tsbuildinfo
key: ${{ runner.os }}-tsc-${{ hashFiles('**/tsconfig*.json') }}-${{ hashFiles('**/pnpm-lock.yaml') }}

- name: Type check
run: pnpm typecheck
5 changes: 4 additions & 1 deletion biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@
},
"css": {
"formatter": { "enabled": true },
"linter": { "enabled": false }
"linter": { "enabled": false },
"parser": {
"tailwindDirectives": true
}
}
}
28 changes: 15 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,42 @@
"ex": "tsx --tsconfig tsx.tsconfig.json --require dotenv/config --require tsconfig-paths/register"
},
"dependencies": {
"@sentry/nextjs": "^10.31.0",
"@sentry/nextjs": "^10.32.1",
"bottleneck": "^2.19.5",
"copilot-design-system": "^2.3.2",
"clsx": "^2.1.1",
"copilot-design-system": "^2.3.3",
"copilot-node-sdk": "^3.16.0",
"dotenv": "^17.2.3",
"drizzle-orm": "^0.45.1",
"drizzle-zod": "^0.8.3",
"http-status": "^2.1.0",
"import-in-the-middle": "^2.0.0",
"next": "16.0.10",
"import-in-the-middle": "^2.0.1",
"next": "16.1.1",
"p-retry": "^7.1.1",
"postgres": "^3.4.7",
"react": "19.2.1",
"react-dom": "19.2.1",
"react": "19.2.3",
"react-dom": "19.2.3",
"require-in-the-middle": "^8.0.1",
"tailwind-merge": "^3.4.0",
"uuid": "^13.0.0",
"zod": "^4.2.1"
},
"devDependencies": {
"@biomejs/biome": "2.2.0",
"@biomejs/biome": "2.3.10",
"@commitlint/cli": "^20.2.0",
"@commitlint/config-conventional": "^20.2.0",
"@commitlint/types": "^20.2.0",
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@tailwindcss/postcss": "^4.1.18",
"@types/node": "^25.0.3",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"drizzle-kit": "^0.31.8",
"husky": "^9.1.7",
"lint-staged": "^16.2.7",
"tailwindcss": "^4",
"tailwindcss": "^4.1.18",
"tsconfig-paths": "^4.2.0",
"tsx": "^4.21.0",
"typescript": "^5"
"typescript": "^5.9.3"
},
"lint-staged": {
"*.{js,jsx,ts,tsx,json,css}": [
Expand Down
Loading