Skip to content

Commit d80ed37

Browse files
authored
add knip and improve cursor rules (#23)
* improve Cursor rules * add: knip * add knip to validate workflow * fix: oops wrong workflow
1 parent a8911c5 commit d80ed37

File tree

12 files changed

+519
-86
lines changed

12 files changed

+519
-86
lines changed

.github/workflows/validate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,4 @@ jobs:
9898
run: pnpm install
9999

100100
- name: Run linter
101-
run: pnpm lint
101+
run: pnpm lint

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"devDependencies": {
3434
"@caido/eslint-config": "0.5.0",
3535
"@inquirer/prompts": "7.0.0",
36+
"knip": "5.70.2",
3637
"typescript": "5.6.3",
3738
"unbuild": "2.0.0"
3839
}

pnpm-lock.yaml

Lines changed: 379 additions & 64 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

templates/frontend-vue/.github/workflows/validate.yml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,28 @@ jobs:
6262
run: pnpm install
6363

6464
- name: Run linter
65-
run: pnpm lint
65+
run: pnpm lint
66+
67+
knip:
68+
name: 'Knip'
69+
runs-on: ubuntu-latest
70+
timeout-minutes: 10
71+
steps:
72+
- name: Checkout repository
73+
uses: actions/checkout@v4
74+
75+
- name: Setup Node.js
76+
uses: actions/setup-node@v4
77+
with:
78+
node-version: ${{ env.CAIDO_NODE_VERSION }}
79+
80+
- name: Setup pnpm
81+
uses: pnpm/[email protected]
82+
with:
83+
version: ${{ env.CAIDO_PNPM_VERSION }}
84+
85+
- name: Install dependencies
86+
run: pnpm install
87+
88+
- name: Run knip
89+
run: pnpm knip

templates/frontend-vue/knip.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import type { RawConfigurationOrFn } from "knip/dist/types/config.js";
2+
3+
const config: RawConfigurationOrFn = {
4+
workspaces: {
5+
".": {
6+
entry: ["caido.config.ts", "eslint.config.mjs"],
7+
},
8+
"packages/backend": {
9+
entry: ["src/index.ts"],
10+
project: ["src/**/*.ts"],
11+
ignoreDependencies: ["caido"],
12+
},
13+
"packages/frontend": {
14+
entry: ["src/index.ts"],
15+
project: ["src/**/*.{ts,tsx,vue}"],
16+
},
17+
},
18+
};
19+
20+
export default config;

templates/frontend-vue/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"scripts": {
66
"typecheck": "pnpm -r typecheck",
77
"lint": "eslint ./packages/**/src --fix",
8+
"knip": "knip",
89
"build": "caido-dev build",
910
"watch": "caido-dev watch"
1011
},
@@ -13,9 +14,11 @@
1314
"@caido/eslint-config": "^0.5.0",
1415
"@caido/tailwindcss": "0.0.1",
1516
"@vitejs/plugin-vue": "5.2.1",
17+
"eslint": "9.29.0",
1618
"postcss-prefixwrap": "1.51.0",
1719
"tailwindcss": "3.4.13",
1820
"tailwindcss-primeui": "0.3.4",
19-
"typescript": "5.5.4"
21+
"typescript": "5.5.4",
22+
"knip": "5.70.2"
2023
}
2124
}

templates/no-frontend/.github/workflows/validate.yml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,28 @@ jobs:
6262
run: pnpm install
6363

6464
- name: Run linter
65-
run: pnpm lint
65+
run: pnpm lint
66+
67+
knip:
68+
name: 'Knip'
69+
runs-on: ubuntu-latest
70+
timeout-minutes: 10
71+
steps:
72+
- name: Checkout repository
73+
uses: actions/checkout@v4
74+
75+
- name: Setup Node.js
76+
uses: actions/setup-node@v4
77+
with:
78+
node-version: ${{ env.CAIDO_NODE_VERSION }}
79+
80+
- name: Setup pnpm
81+
uses: pnpm/[email protected]
82+
with:
83+
version: ${{ env.CAIDO_PNPM_VERSION }}
84+
85+
- name: Install dependencies
86+
run: pnpm install
87+
88+
- name: Run knip
89+
run: pnpm knip

templates/no-frontend/knip.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import type { RawConfigurationOrFn } from "knip/dist/types/config.js";
2+
3+
const config: RawConfigurationOrFn = {
4+
workspaces: {
5+
".": {
6+
entry: ["caido.config.ts", "eslint.config.mjs"],
7+
},
8+
"packages/backend": {
9+
entry: ["src/index.ts"],
10+
project: ["src/**/*.ts"],
11+
ignoreDependencies: ["caido"],
12+
},
13+
},
14+
};
15+
16+
export default config;

templates/no-frontend/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@
55
"scripts": {
66
"typecheck": "pnpm -r typecheck",
77
"lint": "eslint ./packages/**/src --fix",
8+
"knip": "knip",
89
"build": "caido-dev build",
910
"watch": "caido-dev watch"
1011
},
1112
"devDependencies": {
1213
"@caido-community/dev": "^0.1.3",
1314
"@caido/eslint-config": "^0.5.0",
14-
"typescript": "5.5.4"
15+
"eslint": "9.29.0",
16+
"typescript": "5.5.4",
17+
"knip": "5.70.2"
1518
}
1619
}

templates/no-frontend/packages/backend/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"build": "vite build"
99
},
1010
"devDependencies": {
11-
"@caido/sdk-backend": "^0.46.0"
11+
"@caido/sdk-backend": "^0.46.0",
12+
"vite": "6.0.11"
1213
}
1314
}

0 commit comments

Comments
 (0)