import { VERSION } from './version.js'
/**
 * SANDCODE Distro Defaults
 *
 * This is the custom configuration layer that gives SANDCODE its identity.
 * Distro defaults are the lowest-priority config — overridden by both
 * user config (~/.sandcode/) and project config (.sandcode/).
 *
 * Inspired by Goose's custom distro system.
 */

export const SANDCODE_DISTRO = {
  /** Product identity */
  name: 'SANDCODE',
  tagline: 'Your private AI coding companion',
  version: VERSION,

  /** Default provider — z.ai with GLM-5.1 */
  defaultProvider: 'zai' as const,
  defaultModel: 'GLM-5.1',

  /** Features enabled by default in SANDCODE */
  features: {
    /** Auto-memory: remember context across sessions */
    autoMemory: true,
    /** Project tracker: track decisions and milestones */
    projectTracker: true,
    /** Recipe system: reusable workflows */
    recipes: true,
    /** Show tips on startup */
    startupTips: true,
    /** Flow engine: autonomous development loops with verification */
    flow: true,
    /** Forge daemon: persistent build/test sandbox */
    forge: true,
    /** Instinct engine: self-improvement via pattern extraction */
    instincts: true,
    /** Self-patching: auto-detect and fix recurring failure patterns */
    selfPatching: true,
  },

  /** Branding */
  branding: {
    /** Primary color for terminal output */
    primaryColor: '#F5A623',
    /** ASCII art banner shown on first run */
    bannerStyle: 'sandcode' as const,
  },
} as const

export type SandcodeDistroConfig = typeof SANDCODE_DISTRO
