Repo-level instructions for coding agents working in
DVPE_Daisy-Visual-Programming-Environment/.
This repository is a mixed workspace. It contains the DVPE application,
the nested DaisyExamples/ firmware workspace, two Noderr surfaces,
legacy agent memory under .agent/, and shared directives/ plus
execution/ layers. Work from the smallest relevant subtree and preserve
existing connections between these systems unless the task explicitly asks
to change the framework itself.
For volatile recency and active-root guidance, read LATEST_PROJECTS.md.
- Default assumption: this repo mixes app code, embedded firmware, agent framework files, planning docs, and reference assets.
- Prefer the smallest possible change set. Do not "normalize" unrelated prompts, docs, or memory files while solving a local task.
- If work spans more than one root, identify the primary target first and validate only the affected surfaces.
When instructions conflict, resolve by descending priority:
- Explicit user instruction in the current session
- Nearest local
AGENTS.mdfor the target subtree Today this is primarilyDaisyExamples/AGENTS.md - This root
AGENTS.md - Entry docs and mode selectors such as
START_DVPE_SESSION.md,START_FIRMWARE_SESSION.md,.claude/MODE_SELECTOR.md, and the relevantINSTANCE_IDENTITY.md - Tool-specific wrappers such as
CODEX.md,CLAUDE.md,CHATGPT.md,GEMINI.md,KILO.md, andOPENCODE.md LATEST_PROJECTS.mdas volatile orientationdocs/plans/andPLANNING/as design context, not implementation proof.agent/daisy_memory/decisions.mdand.agent/daisy_memory/patterns.mdas strategic memory only
- Identify the exact target directory before editing anything.
- If the target is inside
DaisyExamples/, stop and readDaisyExamples/AGENTS.md,DaisyExamples/LATEST_PROJECTS.md, andSTART_FIRMWARE_SESSION.mdbefore making assumptions. - If the task lives in
dvpe_CLD/ornoderr/noderr/, readSTART_DVPE_SESSION.md,.claude/MODE_SELECTOR.md, andnoderr/noderr/INSTANCE_IDENTITY.md. - Read the nearest local docs such as
README.md,CHECKPOINT.md,CONTROLS.md, and subtree notes before changing behavior. - If the target is unclear or several roots look plausible, use
LATEST_PROJECTS.mdto narrow to the active surface. - Use
.agent/daisy_memory/decisions.mdand.agent/daisy_memory/patterns.mdonly after local docs, never instead of them. - When the task is about repo automation or agent workflow itself, also read
directives/README.md,execution/README.md, and.agent/workflows/.
dvpe_CLD/: main React/Vite browser application; no runnable Tauri projectnoderr/noderr/: primary DVPE Noderr instanceDaisyExamples/: nested firmware workspace with its ownDaisyExamples/AGENTS.md,LATEST_PROJECTS.md, andnoderr/.agent/: legacy memory, skills, workflows, reports, and helper assets.claude/and_agentic_promts/: mode-switched instruction libraries and prompt assetsdirectives/: repo-level SOP layer describing what to doexecution/: deterministic script layer for doing the workdocs/,PLANNING/, andproject_description/: design and reference context
These roots are first-party work areas and should be considered before assuming the active work lives only in one subtree:
dvpe_CLD/noderr/noderr/DaisyExamples/.agent/directives/execution/
Do not use these directories as primary evidence unless the task is explicitly about them:
.worktrees/.tmp/out/archive/build/dist/__pycache__/- nested
node_modules/
Generated output in these trees should not override source or docs when judging recency.
- Expect a dirty worktree. Preserve unrelated edits.
- Do not delete or completely rework the existing connections between
.agent/,_agentic_promts/,.claude/,noderr/,DaisyExamples/,directives/, andexecution/unless the user explicitly asks for it. - Do not treat
.agent/daisy_memory/*as the source of truth when local docs or code disagree. - Do not treat
DaisyExamples/as generic reference material when you are editing there; it is a nested workspace with its own contract. - Prefer thin routing changes over broad prompt rewrites.
Prefer targeted validation over repo-wide validation.
From dvpe_CLD/:
npm test -- --run
npm run buildRun only the smallest relevant command for the surface you changed.
If the target lives under DaisyExamples/, follow DaisyExamples/AGENTS.md
and validate from the specific project directory there.
For root workflow changes such as these files, run the contract test:
node tests/agent-framework-contract.test.mjsAlso run any subtree-specific validation affected by the change.
- Update
LATEST_PROJECTS.mdwhen active work areas or routing guidance change materially. - Keep root wrappers thin and route to subtree-local authority when available.
- Use
.agent/daisy_memory/*for continuity, but keep the authoritative instructions close to the code they govern.