singularity-forge/.sf/PREFERENCES.md

55 lines
2.3 KiB
Markdown

---
version: 1
last_synced_with_sf: 2.75.3
sf_template_state: pending
sf_template_hash: "sha256:287389de2f7e2bfa1c6043682cde774f8d39e2ed6591dcec633f6c72af8acac2"
verification_commands:
- "npm run typecheck:extensions"
- npm run build
- npm run lint
- "npm run test:sf-light"
- "bash -c 'set -e; for d in \"rust-engine\" \"rust-engine/crates/ast\" \"rust-engine/crates/engine\" \"rust-engine/crates/grep\"; do (cd \"$d\" && cargo fmt --check); done'"
- "bash -c 'set -e; for d in \"rust-engine\" \"rust-engine/crates/ast\" \"rust-engine/crates/engine\" \"rust-engine/crates/grep\"; do (cd \"$d\" && cargo check); done'"
- "bash -c 'set -e; for d in \"rust-engine\" \"rust-engine/crates/ast\" \"rust-engine/crates/engine\" \"rust-engine/crates/grep\"; do (cd \"$d\" && cargo test -- --test-threads=2); done'"
- "bash -c 'set -e; for d in \"rust-engine\" \"rust-engine/crates/ast\" \"rust-engine/crates/engine\" \"rust-engine/crates/grep\"; do (cd \"$d\" && cargo clippy -- -D warnings); done'"
always_use_skills: []
prefer_skills: []
avoid_skills: []
skill_rules: []
custom_instructions: []
models: {}
skill_discovery: {}
auto_supervisor: {}
---
# SF Skill Preferences
Project-specific guidance for skill selection and execution preferences.
See `~/.sf/agent/extensions/sf/docs/preferences-reference.md` for full field documentation and examples.
## Fields
- `always_use_skills`: Skills that must be available during all SF operations
- `prefer_skills`: Skills to prioritize when multiple options exist
- `avoid_skills`: Skills to minimize or avoid (with lower priority than prefer)
- `skill_rules`: Context-specific rules (e.g., "use tool X for Y type of work")
- `custom_instructions`: Append-only project guidance (do not override system rules)
- `models`: Model preferences for specific task types
- `skill_discovery`: Automatic skill detection preferences
- `auto_supervisor`: Supervision and gating rules for autonomous modes
- `git`: Git preferences — `main_branch` (default branch name for new repos, e.g., "main", "master", "trunk"), `auto_push`, `snapshots`, etc.
## Examples
```yaml
prefer_skills:
- playwright
- resolve_library
avoid_skills:
- subagent # prefer direct execution in this project
custom_instructions:
- "Always verify with browser_assert before marking UI work done"
- "Use Context7 for all library/framework decisions"
```