Developer scripts

Table of Contents

The scripts/ directory at the repository root holds standalone automation scripts that support the build, test, and documentation workflows. These are distinct from component-level scripts (e.g. ores.compass, ores.sql) which live inside their respective projects/<component>/ trees and are documented in those component overviews.

Where a Python script and a shell wrapper share a purpose, both are listed together; the shell script delegates to the Python one and provides a convenient entry point for CI or Make targets.

Sprint metrics and reporting

Scripts that extract data from git history, agile docs, and test runs to produce reports and charts used in sprint health reviews.

Script Purpose Notes
sprint_prs_commits.gnuplot Renders a dual-axis bar chart of PRs and commits per day for a sprint. Reads build/output/sprint_NN/sprint_activity.csv; writes PNG to doc/agile/versions/v0/sprint_NN/. Data generated by compass sprint charts.
sprint_line_churn.gnuplot Renders lines added/deleted per day for a sprint. Same CSV source and output convention as above.
sprint_pr_cycle.gnuplot Renders PR open-to-merge cycle times for a sprint. Reads pr_cycle_times.csv.
sprint_stories_done.gnuplot Renders cumulative stories DONE per day for a sprint. Reads sprint_progress.csv.

Validation and quality

Scripts that validate artefacts against external standards or committed baselines.

Script Purpose Notes
validate_ore_examples.sh Validates every XML file in external/ore/examples/ against the ORE XSD schema. Used as a pre-import gate; see the ORE import plan for context.
ore_domain_roundtrip_check.py Compares committed roundtrip outputs in assets/test_data/domain_roundtrip/ against upstream ORE originals; reports per-file and per-entity fidelity for Portfolio and CurrencyConfig document types. Standalone Python; no shell companion.

Documentation generation

Scripts that generate or transform documentation artefacts.

Script Purpose Notes
backfill_story_task_tables.py Back-fills the * Tasks section in sprint story docs, replacing bullet-list entries with org-mode tables. One-shot migration script; safe to re-run with --dry-run.

Utilities

General-purpose helper scripts not tied to a specific workflow.

Script Purpose Notes
convert_to_unix.sh Converts text files in a given project root from DOS to Unix line endings using dos2unix. Accepts an optional path argument; defaults to .. Excludes vcpkg/ and output/.

See also

  • ores.compass — repository compass tool with its own script family (compass.sh, compass.py), documented in the component overview.
  • ores.sql — database lifecycle management; see its * Scripts section for the full inventory of lifecycle and utility scripts.

Emacs 29.1 (Org mode 9.6.6)