Prompt · executed, not read
The Focus AI Standards
Prompt: PRM-001
Status: Current
W. Schenk
The Focus AI
2026-07-25

Generate the standards Dockerfile

Status of this prompt

This is a prompt: text an agent executes to produce something. It binds nothing and is read by a machine first. No standard has been written for this area yet, so nothing here binds anything.

Produce a Dockerfile that packages this standards repo into a containerized development environment. The image provides a ready-to-use /standards with all tooling available after mise install. /app is left empty as a sandbox for whatever project the user scaffolds with setup-project.md.

The Dockerfile is the only artifact — write the file, do not explain.

Constraints (hard requirements — do not deviate)

Base image and user

System packages

Install these packages (and only these) via apt-get: curl, ca-certificates, git, tmux, unzip, build-essential.

Do not install GitHub CLI (gh) via apt-get or an apt repository.

Do NOT install zsh. Bash is the only shell.

mise

Shell activation

Write mise activation to both .bashrc and .bash_profile so it works whether the user runs docker run ... bash (non-login) or docker run ... (login shell via CMD).

eval "$($HOME/.local/bin/mise activate bash)"

tmux

Bake a minimal ~/.tmux.conf (required by the pi-tmux extension):

set -g mouse on
set -g extended-keys on
set -g extended-keys-format csi-u

Git config

Set default identity so git operations work immediately:

git config --global user.name "TheFocus.AI"
git config --global user.email "agent@thefocus.ai"

/standards

CMD

CMD ["/bin/bash", "-l"]

Runtime contract (document in Dockerfile comments at the top)

The generated Dockerfile must include comments at the top documenting:

  1. Build: docker build -t focus-ai-standards-agent .
  2. Run (interactive shell with LLM keys): docker run -it --rm -v ~/.pi:/home/agent/.pi focus-ai-standards-agent
  3. First steps inside the container:

``bash cd /standards mise install pi -p skills/setup-project/SKILL.md # follow the skill to scaffold /app ``

  1. Explanation that ~/.pi is mounted to give pi access to the host's LLM API keys, and that sessions are ephemeral (lost when the container exits).

What NOT to do