proto-distro
AGENTS.md0 starsChanged 17 days agoApache-2.0View on GitHub
This file provides concise guidance for AI assistants working in this repository. Build Rust crates for ARM target with variant support using cargo-zigbuild: ## Flashing All file paths in distro.yaml are resolved relative to the distro.yaml file itself (i.e., the repository root). Absolute paths are used as-is. This applies to all path fields including: - defaults.env_file (e.g., .env) - docker.builder.dockerfile, docker.builder.build_context - docker.builder.build_dir (Yocto build directory, e.g., build) - docker.injector.dockerfile, docker.injector.build_context - signing.key_dir, signing.private_key, signing.passfile - avb.<machine>.private_key, avb.<machine>.public_key, avb.<machine>.avb_public_key (selected…
- Reads credentials
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,542 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository2 other files it gives its agents.
- bin/hermit-packages/AGENTS.mdAGENTS.md
- bin/hermit-packages/CLAUDE.mdCLAUDE.md
The file
We split this AGENTS.md into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use the Go-based distro CLI (via just ...) for build/shell/clean.
- Very specific: line 55
All file paths in distro.yaml are resolved relative to the distro.yaml file itself (i.e., the repository root).
- Very specific: line 68
Use config.ResolvePath(configPath, p) in Go code to resolve any new path field from the config.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
This file provides concise guidance for AI assistants working in this repository.
Overview
- This is the Yocto distro for miner control boards.
- Use the Go-based
distroCLI (viajust ...) for build/shell/clean. - Bitbake commands should be run from
distro shell, not directly on host.
Environment
- Builds do not need a GitHub token.
Core Commands
# One-time environment setup
source bin/activate-hermit
just docker-build-builder
# Distro CLI (preferred via just wrappers)
just build
just build -m c3-p1 -d proto -t release
just shell
just clean
# Direct CLI usage
distro -c distro.yaml build
distro -c distro.yaml shell
distro -c distro.yaml cleanCross-Compile Commands
Build Rust crates for ARM target with variant support using cargo-zigbuild:
Flashing
# Default (latest local artifact folder)
just flash
# Explicit image path
just flash <path>
just flash --mmc-dev 1 <path>
just flash --no-rootfs <path>
# Direct tool
cb_st_flasher artifacts/miner-image-latest/
cb_st_flasher <path>Path Resolution in distro.yaml
All file paths in distro.yaml are resolved relative to the distro.yaml file itself (i.e., the repository root). Absolute paths are used as-is. This applies to all path fields including:
defaults.env_file(e.g.,.env)docker.builder.dockerfile,docker.builder.build_contextdocker.builder.build_dir(Yocto build directory, e.g.,build)docker.injector.dockerfile,docker.injector.build_contextsigning.key_dir,signing.private_key,signing.passfileavb.<machine>.private_key,avb.<machine>.public_key,avb.<machine>.avb_public_key(selected machine only; independent of SWU signing)injection.local_ipk_dir(base directory for local IPK package lookup)injection.cache_dir(subdirectory name under artifact root for injection cache)artifacts.root_dir,artifacts.images_base_path,artifacts.local_files[]build_stats.paths[]injection.variants.*.packages[].glob_override
Use config.ResolvePath(configPath, p) in Go code to resolve any new path field from the config.
Important Files
distro.yaml: distro CLI config (docker, sources, artifacts, mounts)justfile: command wrappersconfig/local.conf,config/bblayers.conf: Yocto config
Quick Yocto Workflow
just shell
bitbake <recipe>
bitbake -c listtasks <recipe>
bitbake -c devshell <recipe>
bitbake -c clean <recipe>Build logs:
build/tmp/work/*/temp/log.*build/tmp/work/*/temp/run.*
See Also
- Distro CLI Architecture — package map, data flows, shared patterns, and checklist for adding features
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

