// AUTO-GENERATED by packages/cli/scripts/generate-template-manifest.ts.
// DO NOT EDIT MANUALLY. Re-run the script whenever
// packages/skills/skills/<id>/SKILL.md or
// packages/skills/templates/.claude/settings.json change:
//   bun run packages/cli/scripts/generate-template-manifest.ts
//
// Phase 11.A — Fixes Phase 9 audit I-03: inside a compiled binary
// (`mandu.exe init`) the Claude-Code-skills step called
// `setupClaudeSkills` in `@mandujs/skills/init-integration`, which
// used `copyFile`/`readFile` against paths that resolved to
// `$bunfs/...`. That filesystem is read-only and `@mandujs/skills`
// lives on disk, not in the binary, so every skill copy silently errored
// out — users saw 9 warnings during init.
//
// This manifest embeds the 9 SKILL.md payloads + the shared Claude
// `settings.json` as **inline strings** via `with { type: "text" }`.
// Lookups are synchronous and identical in dev and compiled modes.
//
// Consumers:
//   src/util/templates.ts  (loadSkillFiles, resolveSkillPayload)
//   @mandujs/skills/init-integration (runtime manifest hand-off)

import skill_mandu_create_feature from "../../skills/skills/mandu-create-feature/SKILL.md" with { type: "text" };
import skill_mandu_create_api from "../../skills/skills/mandu-create-api/SKILL.md" with { type: "text" };
import skill_mandu_debug from "../../skills/skills/mandu-debug/SKILL.md" with { type: "text" };
import skill_mandu_explain from "../../skills/skills/mandu-explain/SKILL.md" with { type: "text" };
import skill_mandu_guard_guide from "../../skills/skills/mandu-guard-guide/SKILL.md" with { type: "text" };
import skill_mandu_lint from "../../skills/skills/mandu-lint/SKILL.md" with { type: "text" };
import skill_mandu_deploy from "../../skills/skills/mandu-deploy/SKILL.md" with { type: "text" };
import skill_mandu_slot from "../../skills/skills/mandu-slot/SKILL.md" with { type: "text" };
import skill_mandu_fs_routes from "../../skills/skills/mandu-fs-routes/SKILL.md" with { type: "text" };
import skill_mandu_hydration from "../../skills/skills/mandu-hydration/SKILL.md" with { type: "text" };
import skill_mandu_mcp_index from "../../skills/skills/mandu-mcp-index/SKILL.md" with { type: "text" };
import skill_mandu_mcp_orient from "../../skills/skills/mandu-mcp-orient/SKILL.md" with { type: "text" };
import skill_mandu_mcp_create_flow from "../../skills/skills/mandu-mcp-create-flow/SKILL.md" with { type: "text" };
import skill_mandu_mcp_verify from "../../skills/skills/mandu-mcp-verify/SKILL.md" with { type: "text" };
import skill_mandu_mcp_safe_change from "../../skills/skills/mandu-mcp-safe-change/SKILL.md" with { type: "text" };
import skill_mandu_mcp_deploy from "../../skills/skills/mandu-mcp-deploy/SKILL.md" with { type: "text" };
import skill_settings_claude_settings_json from "../../skills/templates/.claude/settings.json" with { type: "text" };

/**
 * Map from skill key to its raw UTF-8 text payload. Keys:
 *   - SKILL ids (e.g. "mandu-create-feature") → contents of
 *     `packages/skills/skills/<id>/SKILL.md`.
 *   - `"settings/<rel>"` → auxiliary Claude configuration files from
 *     `packages/skills/templates/<rel>` (currently only
 *     `".claude/settings.json"`).
 *
 * Consumers should treat the returned string as opaque bytes — do not
 * attempt to reconstruct file paths from the key shape.
 */
export const SKILLS_MANIFEST = new Map([
  ["mandu-create-feature", skill_mandu_create_feature],
  ["mandu-create-api", skill_mandu_create_api],
  ["mandu-debug", skill_mandu_debug],
  ["mandu-explain", skill_mandu_explain],
  ["mandu-guard-guide", skill_mandu_guard_guide],
  ["mandu-lint", skill_mandu_lint],
  ["mandu-deploy", skill_mandu_deploy],
  ["mandu-slot", skill_mandu_slot],
  ["mandu-fs-routes", skill_mandu_fs_routes],
  ["mandu-hydration", skill_mandu_hydration],
  ["mandu-mcp-index", skill_mandu_mcp_index],
  ["mandu-mcp-orient", skill_mandu_mcp_orient],
  ["mandu-mcp-create-flow", skill_mandu_mcp_create_flow],
  ["mandu-mcp-verify", skill_mandu_mcp_verify],
  ["mandu-mcp-safe-change", skill_mandu_mcp_safe_change],
  ["mandu-mcp-deploy", skill_mandu_mcp_deploy],
  ["settings/.claude/settings.json", skill_settings_claude_settings_json],
]);

/**
 * Ordered list of skill IDs embedded in the manifest. Mirrors the runtime
 * `SKILL_IDS` export in `@mandujs/skills` — if the two drift, the
 * unit test in `tests/util/__tests__/skills-manifest.test.ts` fails.
 */
export const EMBEDDED_SKILL_IDS = [
  "mandu-create-feature",
  "mandu-create-api",
  "mandu-debug",
  "mandu-explain",
  "mandu-guard-guide",
  "mandu-lint",
  "mandu-deploy",
  "mandu-slot",
  "mandu-fs-routes",
  "mandu-hydration",
  "mandu-mcp-index",
  "mandu-mcp-orient",
  "mandu-mcp-create-flow",
  "mandu-mcp-verify",
  "mandu-mcp-safe-change",
  "mandu-mcp-deploy",
];

/** Sanity check: expected total count (9 SKILL.md + 1 settings.json). */
export const SKILLS_PAYLOAD_COUNT = 17;
