Files
Claude-Code-Workflow/.codex/AGENTS.md
catlog22 b00113d212 feat: Enhance embedding management and model configuration
- Updated embedding_manager.py to include backend parameter in model configuration.
- Modified model_manager.py to utilize cache_name for ONNX models.
- Refactored hybrid_search.py to improve embedder initialization based on backend type.
- Added backend column to vector_store.py for better model configuration management.
- Implemented migration for existing database to include backend information.
- Enhanced API settings implementation with comprehensive provider and endpoint management.
- Introduced LiteLLM integration guide detailing configuration and usage.
- Added examples for LiteLLM usage in TypeScript.
2025-12-24 14:03:59 +08:00

3.0 KiB

Codex Code Guidelines

Code Quality Standards

Code Quality

  • Follow project's existing patterns
  • Match import style and naming conventions
  • Single responsibility per function/class
  • DRY (Don't Repeat Yourself)
  • YAGNI (You Aren't Gonna Need It)

Testing

  • Test all public functions
  • Test edge cases and error conditions
  • Mock external dependencies
  • Target 80%+ coverage

Error Handling

  • Proper try-catch blocks
  • Clear error messages
  • Graceful degradation
  • Don't expose sensitive info

Core Principles

Incremental Progress:

  • Small, testable changes
  • Commit working code frequently
  • Build on previous work (subtasks)

Evidence-Based:

  • Study 3+ similar patterns before implementing
  • Match project style exactly
  • Verify with existing code

Pragmatic:

  • Boring solutions over clever code
  • Simple over complex
  • Adapt to project reality

Context Continuity (Multi-Task):

  • Leverage resume for consistency
  • Maintain established patterns
  • Test integration between subtasks

System Optimization

Direct Binary Calls: Always call binaries directly in functions.shell, set workdir, avoid shell wrappers (bash -lc, cmd /c, etc.)

Text Editing Priority:

  1. Use apply_patch tool for all routine text edits
  2. Fall back to sed for single-line substitutions if unavailable
  3. Avoid Python editing scripts unless both fail

apply_patch invocation:

{
  "command": ["apply_patch", "*** Begin Patch\n*** Update File: path/to/file\n@@\n- old\n+ new\n*** End Patch\n"],
  "workdir": "<workdir>",
  "justification": "Brief reason"
}

Windows UTF-8 Encoding (before commands):

[Console]::InputEncoding  = [Text.UTF8Encoding]::new($false)
[Console]::OutputEncoding = [Text.UTF8Encoding]::new($false)
chcp 65001 > $null

Context Acquisition (MCP Tools Priority)

For task context gathering and analysis, ALWAYS prefer MCP tools:

  1. smart_search - First choice for code discovery

    • Use smart_search(query="...") for semantic/keyword search
    • Use smart_search(action="find_files", pattern="*.ts") for file discovery
    • Supports modes: auto, hybrid, exact, ripgrep
  2. read_file - Batch file reading

    • Read multiple files in parallel: read_file(path="file1.ts"), read_file(path="file2.ts")
    • Supports glob patterns: read_file(path="src/**/*.config.ts")

Priority Order:

smart_search (discovery) → read_file (batch read) → shell commands (fallback)

NEVER use shell commands (cat, find, grep) when MCP tools are available.

Execution Checklist

Before:

  • Understand PURPOSE and TASK clearly
  • Use smart_search to discover relevant files
  • Use read_file to batch read context files, find 3+ patterns
  • Check RULES templates and constraints

During:

  • Follow existing patterns exactly
  • Write tests alongside code
  • Run tests after every change
  • Commit working code incrementally

After:

  • All tests pass
  • Coverage meets target
  • Build succeeds
  • All EXPECTED deliverables met