#!/usr/bin/env node
import {
  typedEntries
} from "./chunk-T4EXUIBY.js";
import {
  DEFAULT_BRANDING
} from "./chunk-FTD5Z6QD.js";
import {
  init_esm_shims
} from "./chunk-DHET7RCE.js";

// src/cli/lib/__tests__/test-fixtures.ts
init_esm_shims();

// src/cli/lib/__tests__/helpers.ts
init_esm_shims();
import path from "path";
import { fileURLToPath } from "url";
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
import { run } from "@oclif/core";
var __filename = fileURLToPath(import.meta.url);
var __dirname = path.dirname(__filename);
var CLI_ROOT = path.resolve(__dirname, "../../../..");
var OUTPUT_STRINGS = {
  CONFIG_HEADER: `${DEFAULT_BRANDING.NAME} Configuration`,
  CONFIG_PATHS_HEADER: "Configuration File Paths",
  CONFIG_LAYERS_HEADER: "Configuration Layers:",
  CONFIG_PRECEDENCE: "Precedence: flag > env > project > global > default",
  SOURCE_LABEL: "Source:",
  MARKETPLACE_LABEL: "Marketplace:",
  AGENTS_SOURCE_LABEL: "Agents Source:",
  GLOBAL_LABEL: "Global:",
  PROJECT_LABEL: "Project:",
  // Setup/Init outputs
  INIT_HEADER: `${DEFAULT_BRANDING.NAME} Setup`,
  INIT_SUCCESS: `${DEFAULT_BRANDING.NAME} initialized successfully!`,
  LOADING_MATRIX: "Loading skills matrix...",
  LOADING_SKILLS: "Loading skills...",
  LOADING_AGENTS: "Loading agent partials...",
  // Plugin/installation outputs
  NO_PLUGIN_FOUND: "No plugin found",
  NO_INSTALLATION_FOUND: "No installation found",
  NO_PLUGIN_INSTALLATION: "No plugin installation found",
  NOT_INSTALLED: `${DEFAULT_BRANDING.NAME} is not installed`,
  UNINSTALL_HEADER: `${DEFAULT_BRANDING.NAME} Uninstall`,
  UNINSTALL_COMPLETE: `${DEFAULT_BRANDING.NAME} has been uninstalled`,
  EJECT_HEADER: `${DEFAULT_BRANDING.NAME} Eject`,
  // Doctor command outputs
  DOCTOR_HEADER: `${DEFAULT_BRANDING.NAME} Doctor`,
  // Error message patterns (lowercase for case-insensitive matching)
  ERROR_MISSING_ARG: "missing required arg",
  ERROR_UNEXPECTED_ARG: "unexpected argument",
  ERROR_UNKNOWN_FLAG: "unknown flag",
  ERROR_PARSE: "parse"
};
function createMockSkill(id, category, overrides) {
  return {
    id,
    description: `${id} skill`,
    category,
    categoryExclusive: false,
    tags: [],
    author: "@test",
    conflictsWith: [],
    recommends: [],
    requires: [],
    alternatives: [],
    discourages: [],
    compatibleWith: [],
    requiresSetup: [],
    providesSetupFor: [],
    path: `skills/${category}/${id}/`,
    ...overrides
  };
}
function createMockMatrix(skills, overrides) {
  const autoDisplayNames = {};
  const autoDisplayNameToId = {};
  for (const [id, skill] of typedEntries(skills)) {
    if (skill.displayName) {
      autoDisplayNames[id] = skill.displayName;
      autoDisplayNameToId[skill.displayName] = id;
    }
  }
  return {
    version: "1.0.0",
    categories: {},
    skills,
    suggestedStacks: [],
    displayNameToId: autoDisplayNameToId,
    displayNames: autoDisplayNames,
    generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
    ...overrides
  };
}
function createMockCategory(id, displayName, overrides) {
  return {
    id,
    displayName,
    description: `${displayName} category`,
    domain: "web",
    exclusive: true,
    required: false,
    order: 0,
    ...overrides
  };
}
function createMockResolvedStack(id, name, overrides) {
  return {
    id,
    name,
    description: `${name} stack`,
    skills: {},
    allSkillIds: [],
    philosophy: "",
    ...overrides
  };
}

// src/cli/lib/__tests__/test-fixtures.ts
var SKILL_FIXTURES = {
  react: {
    id: "web-framework-react",
    category: "web-framework",
    displayName: "react",
    description: "React framework for building user interfaces",
    tags: ["react", "web", "ui", "component"]
  },
  zustand: {
    id: "web-state-zustand",
    category: "web-client-state",
    displayName: "zustand",
    description: "Bear necessities state management",
    tags: ["state", "react", "zustand"]
  },
  hono: {
    id: "api-framework-hono",
    category: "api-api",
    displayName: "hono",
    description: "Lightweight web framework for the edge",
    tags: ["api", "api", "edge", "serverless"]
  },
  vitest: {
    id: "web-testing-vitest",
    category: "web-testing",
    displayName: "vitest",
    description: "Next generation testing framework",
    tags: ["testing", "vitest", "unit"]
  },
  vue: {
    id: "web-framework-vue",
    category: "web-framework",
    displayName: "vue",
    description: "Progressive JavaScript framework",
    tags: ["vue", "web", "reactive"]
  },
  "auth-patterns": {
    id: "api-security-auth-patterns",
    category: "api-security",
    description: "Authentication and authorization patterns",
    tags: ["auth", "security", "jwt", "oauth"]
  },
  drizzle: {
    id: "api-database-drizzle",
    category: "api-database",
    displayName: "drizzle",
    description: "TypeScript ORM for SQL databases",
    tags: ["database", "orm", "sql"]
  },
  methodology: {
    id: "meta-methodology-anti-over-engineering",
    category: "shared-methodology",
    description: "Surgical implementation, not architectural innovation",
    tags: ["methodology", "foundational"]
  },
  "scss-modules": {
    id: "web-styling-scss-modules",
    category: "web-styling",
    displayName: "scss-modules",
    description: "CSS Modules with SCSS",
    tags: ["css", "scss", "modules"]
  }
};
function getTestSkill(name, overrides) {
  const config = SKILL_FIXTURES[name];
  const { id, category, ...defaults } = config;
  return createMockSkill(id, category, { ...defaults, ...overrides });
}
var TEST_SKILLS = {
  react: createMockSkill("web-framework-react", "web-framework"),
  vue: createMockSkill("web-framework-vue", "web-framework"),
  zustand: createMockSkill("web-state-zustand", "web-client-state", {
    compatibleWith: ["web-framework-react"]
  }),
  pinia: createMockSkill("web-state-pinia", "web-client-state", {
    compatibleWith: ["web-framework-vue"]
  }),
  hono: createMockSkill("api-framework-hono", "api-api"),
  vitest: createMockSkill("web-testing-vitest", "web-testing"),
  scssModules: createMockSkill("web-styling-scss-modules", "web-styling"),
  drizzle: createMockSkill("api-database-drizzle", "api-database"),
  // Methodology skills (DEFAULT_PRESELECTED_SKILLS) — used by createComprehensiveMatrix
  investigationRequirements: createMockSkill(
    "meta-methodology-investigation-requirements",
    "shared-methodology",
    { description: "Never speculate - read actual code first", categoryExclusive: false }
  ),
  antiOverEngineering: createMockSkill(
    "meta-methodology-anti-over-engineering",
    "shared-methodology",
    {
      description: "Surgical implementation, not architectural innovation",
      categoryExclusive: false
    }
  ),
  successCriteria: createMockSkill("meta-methodology-success-criteria", "shared-methodology", {
    description: "Explicit, measurable criteria defining done",
    categoryExclusive: false
  }),
  writeVerification: createMockSkill("meta-methodology-write-verification", "shared-methodology", {
    description: "Verify work was actually saved",
    categoryExclusive: false
  }),
  improvementProtocol: createMockSkill(
    "meta-methodology-improvement-protocol",
    "shared-methodology",
    { description: "Evidence-based self-improvement", categoryExclusive: false }
  ),
  contextManagement: createMockSkill("meta-methodology-context-management", "shared-methodology", {
    description: "Maintain project continuity across sessions",
    categoryExclusive: false
  })
};
var TEST_CATEGORIES = {
  framework: createMockCategory("web-framework", "Framework"),
  clientState: createMockCategory("web-client-state", "Client State"),
  styling: createMockCategory("web-styling", "Styling"),
  testing: createMockCategory("web-testing", "Testing"),
  api: createMockCategory("api-api", "Backend Framework"),
  database: createMockCategory("api-database", "Database"),
  methodology: createMockCategory("shared-methodology", "Methodology"),
  tooling: createMockCategory("shared-tooling", "Tooling")
};
var TEST_MATRICES = {
  empty: createMockMatrix({}),
  react: createMockMatrix({
    "web-framework-react": TEST_SKILLS.react
  }),
  reactAndZustand: createMockMatrix({
    "web-framework-react": TEST_SKILLS.react,
    "web-state-zustand": TEST_SKILLS.zustand
  }),
  reactAndHono: createMockMatrix({
    "web-framework-react": TEST_SKILLS.react,
    "api-framework-hono": TEST_SKILLS.hono
  }),
  reactAndScss: createMockMatrix({
    "web-framework-react": TEST_SKILLS.react,
    "web-styling-scss-modules": TEST_SKILLS.scssModules
  }),
  reactScssAndHono: createMockMatrix({
    "web-framework-react": TEST_SKILLS.react,
    "web-styling-scss-modules": TEST_SKILLS.scssModules,
    "api-framework-hono": TEST_SKILLS.hono
  }),
  reactZustandAndHono: createMockMatrix({
    "web-framework-react": TEST_SKILLS.react,
    "web-state-zustand": TEST_SKILLS.zustand,
    "api-framework-hono": TEST_SKILLS.hono
  })
};

export {
  getTestSkill,
  TEST_SKILLS,
  TEST_MATRICES,
  createMockSkill,
  createMockMatrix,
  createMockCategory,
  createMockResolvedStack
};
//# sourceMappingURL=chunk-TBB3THSL.js.map