boxyard: Instructions file for Codex

AGENTS.md

boxyard AGENTS.md is an instructions file for Codex, OpenCode from lukastk/boxyard. It costs 1,694 tokens per session, scanned A, original, MIT.

Project instructions for Boxyard, a Python command-line tool that syncs folders with local or remote storage. They describe setup, development commands, testing, and the project’s notebook-first workflow.

In plain words
What is it for?
Use them when changing Boxyard, exporting notebook-based source files, running tests, building the package, or publishing it to PyPI.
Why use it?
They show which commands to run and which generated files not to edit, reducing avoidable build and test problems.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md.

This is lukastk/boxyard's own configuration. It tells Codex and OpenCode how to work on boxyard itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything boxyard configures →

Reuse

Borrowing it

Nothing to install: this file belongs to lukastk/boxyard. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/lukastk/boxyard/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/lukastk/boxyard

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for boxyard AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/lukastk/boxyard/agents-md/github.svg)](https://agentmods.dev/instructions/lukastk/boxyard/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/lukastk/boxyard/agents-md"><img src="https://agentmods.dev/badge/instructions/lukastk/boxyard/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for boxyard AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/lukastk/boxyard/agents-md"><img src="https://agentmods.dev/badge/instructions/lukastk/boxyard/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,694 This file is loaded in full into every session.
When invoked 1,694 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.01694 $0.01694
Opus 5.5 $0.00678 $0.00678
Sonnet 5.5 $0.00339 $0.00339
Haiku 4.5 $0.00169 $0.00169

Measured 25d ago against content hash 3ed880ee44b3, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

boxyard AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 25d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 109 lines

How it starts

The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Boxyard operating guide

Boxyard is Lukas's Python CLI for managing folders ("boxes"), groups, metadata, and bidirectional local/rclone sync with conflict detection. Fleet configuration belongs to myrig; this repository owns the CLI and sync implementation.

Source of truth and commands

  • Edit pts/mod/ and pts/tests/ (.pct.py percent-format Python), then run nbl export. Never hand-edit src/boxyard/ or generated src/tests/.
  • nblite.toml maps pts/mod/ → src/boxyard/, pts/tests/ → src/tests/. nbs/ was removed and is ignored; there is no .ipynb round-trip. The vestigial nbs -> pts pipeline legs do not change this rule.
  • Generated package map: _cli/ = Typer entry/commands, cmds/ = implementations, _models.py = metadata/records, config.py = config, _utils/ = transport/helpers. See the development reference for the full module map and cell directives.
  • docs/ holds task references; _dev/ holds designs and experiments.
uv sync                  # Install dependencies to .venv
direnv allow             # Auto-load environment
nbl install-hooks        # Install notebook-validation hooks
nbl export               # Regenerate package and tests after .pct.py edits
nbl clean                # Clean notebook outputs
pytest src/tests/        # Full test suite
pytest src/tests/unit/config/test_config_loading.py -v  # Targeted example
nbl test                 # Check notebooks execute

Use task-appropriate validation; documentation-only work needs link/diff checks, not real box syncs or metadata changes.

Pushing main IS a fleet release: myrig installs from git, not PyPI. PyPI releases use dev_scripts/publish-new and the tag-triggered workflow; never run uv publish by hand. Read the release reference before release work.

Mandatory safety and sync invariants

  • Identity: both halves of box_id are config-driven; never hardcode its shape. index_name is {box_id}__{name}. Reconcile remote renames by id. Never delete a stale duplicate name: it tombstones the live id fleet-wide.
  • Ownership: DATA/CONF pushes use may_push/owner_gate; refusal raises OwnershipRefused. write_owner is None is unrestricted, not denied. Compare with configured config.machine_name, never a hostname; when configured, known_machines must contain it. Deleting an already remotely tombstoned ghost skips the gate, not normal deletion.
  • Storage/placement: BoxMeta.storage_format records what a box HAS, stamped by new; only boxyard convert changes it, with verified byte-identical restore before removing the old copy. META/CONF remain plain. Package rclone default is restic, local default plain; Lukas's rig pins plain. Checkout placements are machine-local under ~/.boxyard/placements/, never synced in boxmeta.toml; user_boxes_path permanently names the default root.
  • Policies: resolve each dimension: box conf/sync.toml > matching group policies > default. Conflicting group values raise PolicyConflict; no policies means always due, not silently skipped.
  • Push ordering: write <part>.inflight.json with the incomplete ULID BEFORE the remote incomplete record, then write local. A matching remote incomplete record is our interrupted push. Local-first looks like an interrupted pull and can overwrite unpushed work.
  • Comparison/blessing: use _utils.rclone_would_transfer dry-run sync/copyto, never rclone check; pin JSON logging flags, ignore modtime-only changes. First baselines require a no-transfer verify_then_bless probe. Push baselines use the PRE-transfer tree. Directory pulls fingerprint after transfer and bless only if a dry-run pull moves nothing; timestamp/ctime gates cannot detect the right races. Single-file pulls compare mtime against pull start.
  • Fingerprints: sidecars are machine-local, ULID-bound, never synced; pulled records stay verbatim (SyncRecord forbids extras). Writer and reader must use BoxMeta.get_effective_exclude_path for DATA, None for META/CONF. The tree digest includes transport-enumerated entries, exclude signature and owner-exec bit. META/CONF convergence blesses on SYNCED; DATA verifies against remote first.
  • UNKNOWN is no claim, not changed. Missing/unusable baselines retain the newest-mtime fallback. Its v0.8.7 removal was reverted despite the old gate being met: recovery, convergence and skip paths need to reach SYNCED to probe/bless. Do not treat that gate as cleanup authorization, or replace UNKNOWN with False without a design decision. Restic adoption of a plain baseline instead refuses loudly; doctor's coverage excludes that case and cannot license a fallback.
  • Skip proofs: skip only when EVERY part in the executed closure (DATA includes META+CONF) is proven unchanged: remote record md5 matches the locally agreed identity sidecar; held parts also have complete local records with matching ULID and fingerprint. Do not stamp identity from listings or write remote skip markers.
  • Excludes/perms: changing the default exclude list invalidates every DATA baseline fleet-wide; batch all needed lines into ONE edit and expect churn. .boxyard-perms.json is generated before push/applied after pull; v1 restores +x only, never clears it.
  • Backups: sync_backups/<ULID>/ is human recovery storage, never automatically read back. Purge failures must raise. discard-local deliberately keeps backups; doctor's orphan findings cannot distinguish these from failed purges. Never auto-delete them or infer disposability from absence of a claiming sync record.

Read the full file on GitHub · 109 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 25d ago Changed · -167 lines · -2,826 tokens per session 3ed880ee44b3
  2. 1mo ago Changed · +37 lines · +746 tokens per session 252007cc3839
  3. 1mo ago Changed · +33 lines · +627 tokens per session 18de213024bf
  4. 1mo ago Changed · +18 lines · +709 tokens per session b2ee1f68050a
  5. 2mo ago Changed · +34 lines · +647 tokens per session e9819164ef5b
  6. 2mo ago First seen · 154 lines · 1,791 tokens per session scan A 92b34a464f13

Subscribe to this mod's changes

boxyard AGENTS.md is an instructions file published in the GitHub repository lukastk/boxyard (0 stars, last pushed 27d ago), licensed MIT. It adds 1,694 tokens to every session, about $0.0068 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,719 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,461 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,334 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,792 tokens

generative-ai-for-beginners AGENTS.md

AGENTS.md instructions for microsoft/generative-ai-for-beginners, covering agents.md, project overview, setup commands, initial repository setup and clone the repository.

microsoft/generative-ai-for-beginners · 2,850 tokens