mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-05 01:50:27 +08:00
- 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.
114 lines
3.0 KiB
Markdown
114 lines
3.0 KiB
Markdown
# 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**:
|
|
```json
|
|
{
|
|
"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):
|
|
```powershell
|
|
[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
|