mirror of
https://github.com/vercel/vercel-plugin.git
synced 2026-09-14 15:39:47 +08:00
242d69f686
Create hooks/vercel-config.mjs that reads vercel.json and maps top-level keys (rewrites, redirects, headers, crons, functions) to skill slugs, so skills are injected when the project uses those Vercel features. Create hooks/logger.mjs with structured logging at four levels (off, summary, debug, trace) controlled by VERCEL_PLUGIN_LOG_LEVEL env var. Support legacy VERCEL_PLUGIN_DEBUG=1 mapping to debug level. Create src/cli/explain.ts that takes a tool name and input JSON, runs the match engine, and prints which skills would fire and why. Create src/cli/index.ts as the CLI entry point. Create src/commands/doctor.ts for diagnosing plugin setup issues. Create src/shared/logger.ts and src/shared/match-engine.ts as TypeScript versions of the shared utilities. Create scripts/build-manifest.ts that reads all SKILL.md files, parses frontmatter, and generates generated/skill-manifest.json. Add CLAUDE.md documenting the architecture, dedup contract, YAML parser quirks, test conventions, and log levels. Add tests: tests/cli-explain.test.ts, tests/logger.test.ts, tests/vercel-config.test.ts, tests/snapshot-runner.test.ts with snapshot files in tests/snapshots/. Add test fixtures in tests/fixtures/. Update existing tests to copy new hook modules (logger.mjs, vercel-config.mjs) into temp dirs. Update package.json with new bin entry and dependencies.
25 lines
561 B
JSON
25 lines
561 B
JSON
{
|
|
"redirects": [
|
|
{ "source": "/old", "destination": "/new" }
|
|
],
|
|
"headers": [
|
|
{
|
|
"source": "/(.*)",
|
|
"headers": [
|
|
{ "key": "X-Frame-Options", "value": "DENY" },
|
|
{ "key": "X-Content-Type-Options", "value": "nosniff" }
|
|
]
|
|
}
|
|
],
|
|
"rewrites": [
|
|
{ "source": "/api/:path*", "destination": "https://api.example.com/:path*" }
|
|
],
|
|
"functions": {
|
|
"api/**": { "memory": 1024, "maxDuration": 30 }
|
|
},
|
|
"crons": [
|
|
{ "path": "/api/cron/daily", "schedule": "0 8 * * *" }
|
|
],
|
|
"buildCommand": "next build"
|
|
}
|