====== 4.6 Script Directories ======
[[fxdemo:05-part:start | Go To Top ]]
[[fxdemo:05-part:04-repository-layout:start | Return to Repository Layout ]]
The ''scripts/'' directory should contain developer-facing and automation-facing scripts. These scripts should create the [[dido:99_annexes:annex-b-terms-and-definitions:r:repository|Repository]] structure, check prerequisites, initialise developer environments, generate [[dido:99_annexes:annex-b-terms-and-definitions:t:type|Types]], build containers, run [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Nodes]], stop Nodes, prepare [[dido:99_annexes:annex-b-terms-and-definitions:g:git|Git]], and support [[dido:99_annexes:annex-b-terms-and-definitions:v:validation|Validation]].
A representative structure is:
scripts/
setup/
generation/
build/
run/
git/
validation/
The team should give each script a clear name, a documented purpose, predictable arguments, meaningful exit codes, and useful diagnostic output. Scripts should avoid hidden assumptions about the current working directory, local shell [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration|Configuration]], or developer-specific paths.
Shell scripts should use standard shell conventions. [[dido:99_annexes:annex-b-terms-and-definitions:p:python|Python]] utility scripts may support Validation, orchestration of generation, inspection, and developer automation. The team should document script responsibilities in the Build and Run Scripts section and summarise them in the Script Reference appendix.
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.