-
Notifications
You must be signed in to change notification settings - Fork 0
harness rules directory support
Status: research / unverified first-hand (web search only, not confirmed against a live install)
Date: 2026-07-02
Trigger: user has a personal ~/.agents/{skills,commands,rules}/ tree (flat .md files under
rules/) and asked which of harnessed's target harnesses (claude, omp, opencode,
antigravity, codex) would pick up ~/.agents/rules/ natively, independent of harnessed's own
.claude/rules/ recipe-fan mechanism (schema.py rules: field / T10).
Method: WebSearch against each vendor's current docs (2026-07-02) — training-data knowledge is
stale here (fast-moving space, six months past this assistant's cutoff), so this was verified
live rather than answered from memory. Treat as a strong current signal, not gospel — recheck
against --help/official docs before depending on it for a real decision.
| Harness | Native .agents/rules/ support? |
What it actually reads |
|---|---|---|
| antigravity (agy) |
Yes — directly. Docs describe "workspace rules" living at .agents/rules/*.md (e.g. .agents/rules/code-style.md) — flat markdown files, no wrapper directory needed. agy inspect shows exactly what got loaded. |
.agents/rules/, AGENTS.md, other .agents/ content |
| claude (Claude Code) | No — has its own, separate convention: .claude/rules/*.md (project-level; a recent fix for symlinked-path loading confirms this is a live, maintained feature, not legacy). This is what harnessed's rules: recipe field (T10) already targets. |
.claude/rules/, CLAUDE.md
|
| codex (OpenAI) | No — single-file hierarchy per directory: AGENTS.override.md → AGENTS.md → TEAM_GUIDE.md → .agents.md, plus a global ~/.codex/AGENTS.md. ~/.codex/rules exists but is for execpolicy (command allow/block/prompt policy), not markdown instruction content — easy to confuse with a "rules dir" but it's a different subsystem. |
AGENTS.md hierarchy, capped at 32 KiB total |
| opencode (sst) | Not by default, but configurable — opencode.json's instructions: array accepts arbitrary glob paths (their own example globs .cursor/rules/*.md), so it could be pointed at .agents/rules/*.md explicitly. |
AGENTS.md natively; anything else via explicit instructions: config |
| omp (Oh My Pi) | No evidence found — has its own proprietary "TTSR" (time-traveling rules) mechanism plus .omp/settings.yml / ~/.omp/agent/config.yml; nothing in current docs ties it to .agents/rules. |
omp-native config only |
antigravity is the one harness that matches the user's exact directory shape as-is — flat
.md files directly under .agents/rules/, no per-rule wrapper directory. Contrast with
harnessed's own .claude/rules/ fan-out (synclinks.py), which requires one directory per
rule (src.is_dir() check) — a flat file like ~/.agents/rules/coding-principles.md would need
wrapping into rules/coding-principles/coding-principles.md to fan through that path. Getting
picked up by antigravity natively sidesteps that wrapper requirement entirely, but only for that
one harness.
-
Workspace vs. home-dir scope for antigravity. The docs call it "workspace rules," which
usually means project-root
.agents/rules/, not necessarily a global home-directory default the way~/.claude/CLAUDE.mdis for Claude Code. Unconfirmed whetheragyalso checks~/.agents/rules/as a global fallback. Verify withagy inspectonce a realantigravitystack is running (the agent + Dockerfile now exist onfeat/agent-antigravity, seecatalog/agents/antigravity/). - No first-hand confirmation for any of these — this is search-engine-verified against vendor docs, not tested against a live container. Re-verify before it's load-bearing for a real recipe decision.
-
docs/research/home-folder-antigravity-requirements.md— antigravity's history/session storage layout (a different question: state persistence, not instruction-loading). -
catalog/agents/antigravity/agent.yaml,catalog/base/Dockerfile.harnessed-antigravity— the actual antigravity harness image (fixed 2026-07-02,feat/agent-antigravity). -
src/harnessed/synclinks.py— harnessed's own.claude/rules/fan-out mechanism (directory-only entries), the alternative path if you wantclaude/omp/opencodeto see your rules too (they all consume the same shared.claude/profile perschema.py's harness comment block).
Start Here
Guides
- Recipe authoring
- Service authoring
- Stacks
- Extending stacks (proposed)
- Recipe catalog
- System prompt & rules (proposed)
- Secrets
- AWS SSO
- Pulumi (host login forwarding)
- Egress & exposing services
- Container filesystem
- Git hooks
- Troubleshooting
- Pin management (harnessed update)
Codebase Map
Planning & Roadmap
- open work: GitHub Issues
Research & Prompts
- research/ (home-folder requirements per harness, browse in-repo)
- prompts/ (reusable prompt templates, browse in-repo)