(We are in a codex-cli session and i've instructed it to read this file but given it no other instructions) ## Meta Rules - Please keep a development log of your work (In both llm optimized form and human readable form ) (separate files) (in a subdirectory called devlog) - Please commit frequently and push/tag a release (YYYY-MM-DD-HHMM) (using the tea command) when you feel it's warranted (all work is done on main for now) - Please create and maintain README.md and a docs/ directory with .md and .md as we go - Please create and maintain unit tests as we go in a tests/ directory ## Ultimate goal of this project A wrapper bash script around codex-cli allowing the use of "modes" which will be a collection of - A fixed Global system prompt - A fixed Mode prompt - A variable (user defined) project specific prompt - Codex settings (model/token budget/reasoning level etc) - MCP configuration Also: - A "wizard" to create new modes (by filling out a markdown file intake form) - A "wizard" to create new projects (by filling out a markdown file intake form) ## Approach Lets "crawl/walk/run" , starting with a simple wrapper script for codex-cli that has (documented) defaults set but also allows (via command line flags/environment variables/config file) over-riding the options This should be very collaborative. Ask questions (in a markdown file), once they are answered then create a proposal for review/approval, then create a plan for review/approval. Then once everything is approved, implement the code for review and approval. I want to be able to test the code early/often and be able to provide feedback. I want to be able to edit markdown files inline to provide context/ask questions etc as we go. The chat interface itself should be kept very clean as it's running in the bottom of my vscode instance and I want to use vscode markdown facilities to rapidly read/edit the markdown files. So our primary way of interacting will be via those files. Commit/push everything in the repo now before we get started on the project. --- ## Addendum (Housekeeping) — 2025-09-17 - Create and use a `collab/` directory for coordination artifacts. - Under `collab/`, create subdirectories: `questions/`, `proposals/`, and `plan/`. - Use consistent filenames: `.md` inside each subdirectory. - Move existing files accordingly (e.g., `collab/questions/00-bootstrap.md`). - Create and maintain an `AGENTS.md` at the repo root with working agreements and conventions. - Continue keeping `docs/devlog/DEVLOG_LLM.md` and `docs/devlog/DEVLOG_HUMAN.md` updated. - After applying this structure, commit and push the changes. ### Chat Output Preference - Keep chat output concise and minimal. The primary collaboration interface is via repository files (collab/, devlog/, docs/). Use chat only for brief status updates or to announce next actions. ### Collaboration Sequencing - Start with questions in `collab/questions/` and keep iterating/adding questions until satisfied or instructed to move on. - Do not create proposals or plans until the questions file has been edited by the user and the user gives explicit approval. ### Files Per Round + LLM Copies - Use multiple files per round rather than growing a single document. - Naming: `collab//NN-.md` (human) and `collab//NN-.llm.md` (LLM-optimized). - Start a new `NN` for each major round; keep subject consistent across types. ### Token Discipline - Keep chat output extremely concise; use the filesystem (docs/devlog, collab/) for details. - Summarize for the model in `.llm.md` companions; keep human-readable detail in the primary `.md`. - Do not paste large content into chat; write to files and reference paths. - Prefer starting new numbered files per round to keep each doc short. ### Chat Output Policy - Default chat line: `Updated . Read/edit and let me know.` - Limit chat to five lines or fewer; avoid explanations in chat. - Never paste diffs or large content in chat; commit to files and reference paths. - Log detail in `docs/devlog/` and keep the chat terminal clean. - Only announce updates for `collab/questions/`, `collab/proposals/`, and `collab/plan/` files. All other updates go to DevLog without chat noise.