Skip to content

Commit 51e0b5f

Browse files
committed
refactor: modernize repository toolchain and workspace
1 parent 994d467 commit 51e0b5f

51 files changed

Lines changed: 2347 additions & 2084 deletions

Some content is hidden

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

.github/workflows/build-agents.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949

5050
- name: Build AGENTS.md (single skill)
5151
if: ${{ github.event.inputs.skill != '' }}
52-
run: pnpm -F nextdns-skills-build build-agents --skill=${{ github.event.inputs.skill }}
52+
run: pnpm nextdns-skills-build build --skill=${{ github.event.inputs.skill }}
5353

5454
- name: Commit and push AGENTS.md changes
5555
run: |

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ coverage/
1414
.turbo/
1515

1616
# 💻 Editor & IDE
17-
.vscode/
18-
!.vscode/extensions.json
19-
!.vscode/settings.json
2017
.idea/
2118
*.swp
2219
*.swo

.markdownlintignore

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

.vscode/extensions.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"recommendations": [
3+
"yzhang.markdown-all-in-one",
4+
"davidanson.vscode-markdownlint",
5+
"antfu.pnpm-catalog-lens",
6+
"vercel.turbo-vsc",
7+
"yoavbls.pretty-ts-errors",
8+
"oxc.oxc-vscode"
9+
]
10+
}

.vscode/settings.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"editor.defaultFormatter": "oxc.oxc-vscode",
3+
"editor.formatOnPaste": true,
4+
"editor.formatOnSave": true,
5+
"editor.codeActionsOnSave": {
6+
"source.fixAll.oxc": "explicit",
7+
"source.organizeImports": "explicit"
8+
}
9+
}

AGENTS.md

Lines changed: 229 additions & 339 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 45 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@
55
Comprehensive collection of AI agent skills for NextDNS API integration, CLI operations, and DNS
66
management.
77

8+
[![skills.sh](https://skills.sh/b/tuanductran/nextdns-skills)](https://skills.sh/tuanductran/nextdns-skills)
9+
810
---
911

10-
## 🚀 Installation and usage
12+
## Installation and usage
1113

12-
### ⚙️ Installation
14+
### Installation
1315

1416
```bash
1517
pnpm dlx skills add tuanductran/nextdns-skills
1618
```
1719

18-
### 💡 Usage
20+
### Usage
1921

2022
For the most reliable results, prefix your prompts with:
2123

@@ -25,74 +27,70 @@ use nextdns skill, <your request here>
2527

2628
---
2729

28-
## 🧠 Available skills
30+
## Available skills
2931

30-
| Category | Rules | Focus |
32+
| Category | Rules | Focus |
3133
| :------------------------------------------------------- | :----: | :------------------------------------------------------------------------------- |
32-
| [**NextDNS API**](skills/nextdns-api/SKILL.md) | **23** | Authentication, Profile management, Analytics, and Logs. |
33-
| [**NextDNS CLI**](skills/nextdns-cli/SKILL.md) | **24** | Installation, system-wide configuration, and client monitoring. |
34-
| [**NextDNS Web UI**](skills/nextdns-ui/SKILL.md) | **16** | Strategic configuration, content filtering, and security modeling. |
35-
| [**Integrations**](skills/integrations/SKILL.md) | **20** | Third-party platform connectivity (OpenWrt, pfSense, Tailscale, and more). |
36-
| [**NextDNS Frontend**](skills/nextdns-frontend/SKILL.md) | **35** | Nuxt, Next.js, Astro, SvelteKit, and React Router: BFF proxy, profile UI, SSE logs, analytics. |
34+
| [**NextDNS API**](skills/nextdns-api/SKILL.md) | **23** | Authentication, profile management, analytics, and logs. |
35+
| [**NextDNS CLI**](skills/nextdns-cli/SKILL.md) | **24** | Installation, system-wide configuration, and client monitoring. |
36+
| [**NextDNS Web UI**](skills/nextdns-ui/SKILL.md) | **16** | Strategic configuration, content filtering, and security modeling. |
37+
| [**Integrations**](skills/integrations/SKILL.md) | **20** | Third-party platform connectivity (OpenWrt, pfSense, Tailscale, and more). |
38+
| [**NextDNS Frontend**](skills/nextdns-frontend/SKILL.md) | **35** | Nuxt 4, Next.js 15, Astro, SvelteKit, and React Router v7: BFF proxy, profile UI, SSE logs, analytics. |
3739

3840
---
3941

40-
## 📜 System architecture
42+
## System architecture
4143

4244
Rules are categorized into two types to guide AI precision:
4345

44-
- **Capability Rules**: Essential domain knowledge (API protocols, mandatory headers, specific
45-
command syntax).
46-
- **Efficiency Rules**: Best practices and optimizations to ensure high-quality, consistent
46+
- **Capability rules**: Essential domain knowledge API protocols, mandatory headers, specific
47+
command syntax.
48+
- **Efficiency rules**: Best practices and optimizations to ensure high-quality, consistent
4749
solutions.
4850

4951
---
5052

51-
## 🛠️ Development
52-
53-
This repository is governed by the **10-Point Protocol System** to ensure high-fidelity skills for
54-
AI agents.
53+
## Development
5554

5655
### Quick commands
5756

58-
| Task | Command |
59-
| :---------------------------- | :------------------------------- |
60-
| **Setup** | `pnpm install` |
61-
| **Auto-Format Code** | `pnpm run format` |
62-
| **TypeScript Type Check** | `pnpm types:check` |
63-
| **Full Quality Check** | `pnpm lint` |
64-
| **Fix Issues (incl. TS)** | `pnpm lint:fix` |
65-
| **Check Rule Logic** | `pnpm lint:rules` |
66-
| **Check Syntax** | `pnpm lint:syntax` |
67-
| **Check Broken Links** | `pnpm lint:links` |
68-
| **Check Duplicate Titles** | `pnpm check-duplicates` |
69-
| **Check Tag Hygiene** | `pnpm check-tags` |
70-
| **Quality Checks (all)** | `pnpm lint:quality` |
71-
| **Build All Skills** | `pnpm build:skills` |
72-
| **Sync Rule Counts** | `pnpm update-counts` |
73-
| **Statistics Report** | `pnpm stats` |
74-
| **Search Rules** | `pnpm rule-search -- --query=<text>` |
75-
| **Export Rules (JSON/CSV)** | `pnpm rule-export -- --format=csv` |
76-
| **Run Tests** | `pnpm test` |
77-
| **Run Tests (coverage)** | `pnpm test:coverage` |
57+
| Task | Command |
58+
| :---------------------------- | :--------------------------------------- |
59+
| **Setup** | `pnpm install` |
60+
| **Format code** | `pnpm run format` |
61+
| **Type check** | `pnpm run types:check` |
62+
| **Full lint** | `pnpm run lint` |
63+
| **Fix all** | `pnpm run lint:fix` |
64+
| **Check rule logic** | `pnpm run lint:rules` |
65+
| **Check syntax** | `pnpm run lint:syntax` |
66+
| **Check broken links** | `pnpm run lint:links` |
67+
| **Check duplicate titles** | `pnpm check-duplicates` |
68+
| **Check tag hygiene** | `pnpm check-tags` |
69+
| **Build all skills** | `pnpm build:skills` |
70+
| **Sync rule counts** | `pnpm update-counts` |
71+
| **Statistics report** | `pnpm stats` |
72+
| **Search rules** | `pnpm rule-search -- --query=<text>` |
73+
| **Export rules (JSON/CSV)** | `pnpm rule-export -- --format=csv` |
74+
| **Run tests** | `pnpm test` |
75+
| **Run tests with coverage** | `pnpm test:coverage` |
7876

7977
### Adding new rules
8078

81-
1. Use the [Rule Template](templates/rule-template.md).
82-
2. Register the rule in the parent `SKILL.md`.
83-
3. Follow the strict requirements in **[AGENTS.md](AGENTS.md)**.
79+
1. Use the [rule template](templates/rule-template.md).
80+
2. Register the rule in the parent `SKILL.md` in the same commit.
81+
3. Follow the requirements in [AGENTS.md](AGENTS.md).
8482

8583
---
8684

87-
## 🔗 Resources
85+
## Resources
8886

89-
- [**NextDNS API Documentation**](https://nextdns.github.io/api/)
90-
- [**NextDNS CLI Wiki**](https://github.com/nextdns/nextdns/wiki)
91-
- [**NextDNS Help Center**](https://help.nextdns.io)
92-
- [**NextDNS-Config Guidelines**](https://github.com/yokoffing/NextDNS-Config)
87+
- [NextDNS API documentation](https://nextdns.github.io/api/)
88+
- [NextDNS CLI wiki](https://github.com/nextdns/nextdns/wiki)
89+
- [NextDNS Help Center](https://help.nextdns.io)
90+
- [NextDNS-Config guidelines](https://github.com/yokoffing/NextDNS-Config)
9391

9492
---
9593

9694
## License
9795

98-
MIT
96+
MIT License © 2026–Present Tuan Duc Tran

biome.json

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

config.json

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

lefthook.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
$schema: ./node_modules/lefthook/schema.json
2+
3+
pre-commit:
4+
parallel: true
5+
6+
jobs:
7+
- name: vite-plus-staged
8+
run: vp staged
9+
stage_fixed: true
10+
11+
- name: lint:md
12+
glob: "**/*.md"
13+
run: pnpm run lint:md:fix
14+
stage_fixed: true
15+
16+
- name: lint:syntax
17+
glob: "skills/**/rules/**/*.md"
18+
run: pnpm run lint:syntax:fix
19+
stage_fixed: true
20+
21+
pre-push:
22+
parallel: true
23+
24+
jobs:
25+
- name: types:check
26+
run: pnpm run types:check
27+
28+
- name: lint:links
29+
run: pnpm run lint:links
30+
31+
post-merge:
32+
jobs:
33+
- name: install
34+
glob:
35+
- package.json
36+
- pnpm-lock.yaml
37+
- pnpm-workspace.yaml
38+
- packages/*/package.json
39+
run: pnpm install

0 commit comments

Comments
 (0)