mirror of
https://github.com/supabase/agent-skills.git
synced 2026-03-27 10:09:26 +08:00
Revert "fix: remove CLAUDE.md symlink generation from build"
This reverts commit c07c234601.
This commit is contained in:
12
.github/workflows/ci.yml
vendored
12
.github/workflows/ci.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: "20"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: "20"
|
||||
|
||||
- name: Install dependencies
|
||||
working-directory: packages/skills-build
|
||||
@@ -53,18 +53,18 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sanity-test:
|
||||
name: Sanity Test (skills add)
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '20'
|
||||
node-version: "20"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Run sanity tests
|
||||
run: npm run test
|
||||
run: npm run test:sanity
|
||||
|
||||
@@ -11,6 +11,7 @@ skills/
|
||||
{skill-name}/
|
||||
SKILL.md # Required: skill manifest (Agent Skills spec)
|
||||
AGENTS.md # Generated: navigation guide for agents
|
||||
CLAUDE.md # Generated: symlink to AGENTS.md
|
||||
references/
|
||||
_sections.md # Required: section definitions
|
||||
{prefix}-{name}.md # Reference files
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
import {
|
||||
existsSync,
|
||||
lstatSync,
|
||||
readdirSync,
|
||||
readFileSync,
|
||||
statSync,
|
||||
symlinkSync,
|
||||
unlinkSync,
|
||||
writeFileSync,
|
||||
} from "node:fs";
|
||||
import { basename, join } from "node:path";
|
||||
@@ -225,6 +228,25 @@ function skillNameToTitle(skillName: string): string {
|
||||
.join(" ");
|
||||
}
|
||||
|
||||
/**
|
||||
* Create CLAUDE.md symlink pointing to AGENTS.md
|
||||
*/
|
||||
function createClaudeSymlink(paths: SkillPaths): void {
|
||||
const symlinkPath = paths.claudeSymlink;
|
||||
|
||||
// Remove existing symlink or file if it exists
|
||||
if (existsSync(symlinkPath)) {
|
||||
const stat = lstatSync(symlinkPath);
|
||||
if (stat.isSymbolicLink() || stat.isFile()) {
|
||||
unlinkSync(symlinkPath);
|
||||
}
|
||||
}
|
||||
|
||||
// Create symlink (relative path so it works across environments)
|
||||
symlinkSync("AGENTS.md", symlinkPath);
|
||||
console.log(` Created symlink: CLAUDE.md -> AGENTS.md`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Build AGENTS.md for a specific skill
|
||||
*
|
||||
@@ -253,6 +275,7 @@ function buildSkill(paths: SkillPaths): void {
|
||||
|
||||
// Header
|
||||
output.push(`# ${paths.name}\n`);
|
||||
output.push(`> **Note:** \`CLAUDE.md\` is a symlink to this file.\n`);
|
||||
|
||||
// Brief description
|
||||
output.push(`## Overview\n`);
|
||||
@@ -264,6 +287,7 @@ function buildSkill(paths: SkillPaths): void {
|
||||
output.push(`${paths.name}/`);
|
||||
output.push(` SKILL.md # Main skill file - read this first`);
|
||||
output.push(` AGENTS.md # This navigation guide`);
|
||||
output.push(` CLAUDE.md # Symlink to AGENTS.md`);
|
||||
if (existsSync(paths.referencesDir)) {
|
||||
output.push(` references/ # Detailed reference files`);
|
||||
}
|
||||
@@ -329,6 +353,9 @@ function buildSkill(paths: SkillPaths): void {
|
||||
writeFileSync(paths.agentsOutput, output.join("\n"));
|
||||
console.log(` Generated: ${paths.agentsOutput}`);
|
||||
console.log(` Total references: ${referenceFiles.length}`);
|
||||
|
||||
// Create CLAUDE.md symlink
|
||||
createClaudeSymlink(paths);
|
||||
}
|
||||
|
||||
// Run build when executed directly
|
||||
|
||||
@@ -17,6 +17,7 @@ export interface SkillPaths {
|
||||
skillDir: string;
|
||||
referencesDir: string;
|
||||
agentsOutput: string;
|
||||
claudeSymlink: string;
|
||||
skillFile: string;
|
||||
}
|
||||
|
||||
@@ -38,6 +39,7 @@ export function getSkillPaths(skillName: string): SkillPaths {
|
||||
skillDir,
|
||||
referencesDir: join(skillDir, "references"),
|
||||
agentsOutput: join(skillDir, "AGENTS.md"),
|
||||
claudeSymlink: join(skillDir, "CLAUDE.md"),
|
||||
skillFile: join(skillDir, "SKILL.md"),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# supabase-postgres-best-practices
|
||||
|
||||
> **Note:** `CLAUDE.md` is a symlink to this file.
|
||||
|
||||
## Overview
|
||||
|
||||
Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations.
|
||||
@@ -10,6 +12,7 @@ Postgres performance optimization and best practices from Supabase. Use this ski
|
||||
supabase-postgres-best-practices/
|
||||
SKILL.md # Main skill file - read this first
|
||||
AGENTS.md # This navigation guide
|
||||
CLAUDE.md # Symlink to AGENTS.md
|
||||
references/ # Detailed reference files
|
||||
```
|
||||
|
||||
|
||||
1
skills/supabase-postgres-best-practices/CLAUDE.md
Symbolic link
1
skills/supabase-postgres-best-practices/CLAUDE.md
Symbolic link
@@ -0,0 +1 @@
|
||||
AGENTS.md
|
||||
Reference in New Issue
Block a user