Skip to content

Commit 17fdd52

Browse files
tuanductranCopilot
andcommitted
feat: migrate to pnpm workspace, turborepo, biome, and tsup
- Add pnpm-workspace.yaml for monorepo package linking - Add turbo.json with build/dev pipeline and precise cache inputs - Add biome.json replacing ESLint + Prettier - Remove eslint.config.mjs, .prettierrc, .prettierignore, patches/ - Build packages with tsup (nextdns-skills-build, nextdns-scripts) - Use workspace bin names in root scripts instead of node paths - Fix all biome lint errors: node: protocol, import type, unused imports, noImplicitAnyLet, useIterableCallbackReturn, useTemplate - Add dev scripts (tsup --watch) to both packages - Add root dev/build scripts via turbo - Remove _sections.md feature; derive section titles from config keys - Update GitHub Actions workflows to use pnpm build - Update .gitignore: add .turbo/, packages/*/pnpm-lock.yaml - Sync skills content with Atlassian content guidelines - Remove legacy scripts/ .mjs files replaced by package bins - Update AGENTS.md with Atlassian content guidelines reference Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 76ce023 commit 17fdd52

143 files changed

Lines changed: 3743 additions & 2352 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55

66
version: 2
77
updates:
8-
- package-ecosystem: "npm" # See documentation for possible values
9-
directory: "/" # Location of package manifests
8+
- package-ecosystem: "npm"
9+
directory: "/"
10+
schedule:
11+
interval: "weekly"
12+
13+
- package-ecosystem: "github-actions"
14+
directory: "/"
1015
schedule:
1116
interval: "weekly"

.github/workflows/autofix.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
- develop
99

1010
permissions:
11-
contents: read
11+
contents: write
1212

1313
jobs:
1414
autofix:
@@ -28,7 +28,10 @@ jobs:
2828
version: 10.30.3
2929

3030
- name: Install dependencies
31-
run: pnpm install
31+
run: pnpm install --frozen-lockfile
32+
33+
- name: Build packages
34+
run: pnpm build
3235

3336
- name: Run autofix
3437
run: pnpm lint:fix

.github/workflows/update-counts.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches: [main, develop]
66
paths:
7-
- 'skills/**/rules/*.md'
7+
- 'skills/**/rules/**/*.md'
88
workflow_dispatch:
99

1010
jobs:
@@ -16,8 +16,6 @@ jobs:
1616
steps:
1717
- name: Checkout code
1818
uses: actions/checkout@v6
19-
with:
20-
fetch-depth: 0
2119

2220
- name: Setup Node.js
2321
uses: actions/setup-node@v6
@@ -30,7 +28,10 @@ jobs:
3028
version: 10.30.3
3129

3230
- name: Install dependencies
33-
run: pnpm install
31+
run: pnpm install --frozen-lockfile
32+
33+
- name: Build packages
34+
run: pnpm build
3435

3536
- name: Update counts
3637
run: pnpm run update-counts

.github/workflows/validate-rules.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ name: Validate Rules
33
on:
44
push:
55
branches: [main, develop]
6+
paths:
7+
- 'skills/**/rules/**/*.md'
8+
- 'packages/nextdns-scripts/src/**'
69
pull_request:
710
branches: [main, develop]
811

@@ -29,7 +32,10 @@ jobs:
2932
version: 10.30.3
3033

3134
- name: Install dependencies
32-
run: pnpm install
35+
run: pnpm install --frozen-lockfile
36+
37+
- name: Build packages
38+
run: pnpm build
3339

3440
- name: Check frontmatter in new skill files
3541
if: github.event_name == 'pull_request'

.gitignore

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,38 @@
1-
# 📦 Dependencies & Package Managers
1+
# 📦 Dependencies
22
node_modules/
33
.pnpm-debug.log*
44

5-
# 🐍 Python
6-
__pycache__/
7-
*.py[cod]
8-
*$py.class
9-
.pytest_cache/
10-
.python-version
11-
.venv
12-
venv/
13-
env/
5+
# 🔨 Build outputs
6+
dist/
7+
build/
8+
packages/*/dist/
149

15-
# 🛠️ Linters & Tools
16-
.eslintcache
10+
# 🛠️ Linter & tool caches
1711
.markdownlintcache
18-
.prettiercache
19-
.ruff_cache/
20-
.mypy_cache/
12+
.biome/
13+
.turbo/
2114

22-
# 📂 Build & IDE
23-
dist/
24-
build/
25-
.cache/
15+
# 💻 Editor & IDE
2616
.vscode/
2717
!.vscode/extensions.json
2818
!.vscode/settings.json
2919
.idea/
3020
*.swp
3121
*.swo
22+
23+
# 🖥️ OS
3224
.DS_Store
3325
Thumbs.db
3426

35-
# 🔐 Security & Environment
27+
# 🔐 Environment
3628
.env*
3729
!.env.example
38-
*.pem
39-
*.key
40-
credentials.json
4130

42-
# 📝 Project Specific
31+
# 🤖 AI agent workspaces
4332
.agent/
4433
.gemini/
4534
.gemini-agent/
46-
manual_backups/
47-
temp_*/
35+
36+
# 📝 Generated outputs
37+
skills/*/AGENTS.md
38+
test-cases.json

.markdownlint.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Default state for all rules
22
default: true
33

4-
# MD013/line-length: Disable max line length (handled by Prettier proseWrap)
4+
# MD013/line-length: Disable max line length (handled by Biome formatter)
55
MD013: false
66

77
# MD024/no-duplicate-heading: Allow duplicated headings if they are in different sections
@@ -22,7 +22,7 @@ MD032: true
2222
MD046:
2323
style: fenced
2424

25-
# MD007/ul-indent: Disable to allow Prettier's default indentation (2 spaces)
25+
# MD007/ul-indent: Disable to allow consistent 2-space indentation
2626
MD007: false
2727

2828
# MD041/first-line-h1: Disable because files start with YAML frontmatter
@@ -38,14 +38,14 @@ MD012: false
3838
# MD026/no-trailing-punctuation: Disable to allow punctuation in headings (questions etc.)
3939
MD026: false
4040

41-
# MD031/blanks-around-fences: Disable because Prettier handles this
41+
# MD031/blanks-around-fences: Disable because Biome handles formatting
4242
MD031: false
4343

4444
# MD004/ul-style: Consistent dash style for lists
4545
MD004:
4646
style: dash
4747

48-
# MD060/table-column-style: Allow unaligned column pipes (handled by Prettier)
48+
# MD060/table-column-style: Allow unaligned column pipes (handled by Biome)
4949
MD060: false
5050

5151
# MD034/no-bare-urls: Allow bare URLs/Emails (common in technical docs)

.markdownlintignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Build outputs
5+
dist/
6+
build/
7+
packages/*/dist/
8+
9+
# Generated files — excluded to avoid MD036 false positives on **Impact: HIGH** bold text
10+
skills/*/AGENTS.md

.prettierignore

Lines changed: 0 additions & 9 deletions
This file was deleted.

.prettierrc

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)