Memory files for decisions, bash gotchas, and process lessons. Updated MEMORY.md index and README.md with new scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
22 lines
1.4 KiB
Markdown
22 lines
1.4 KiB
Markdown
# Decisions
|
|
|
|
## OpenSpec format for all script specifications
|
|
|
|
Every script starts with a spec in `specs/<name>.spec.md` using OpenSpec format: purpose, usage, behaviour, dryrun behaviour, edge cases, and examples. This project is a testbed for agent-driven development where specs drive implementation and testing.
|
|
|
|
## Mandatory `--dryrun` / `-n` on every script
|
|
|
|
All scripts must support `--dryrun` which previews actions without side effects. This enables the testing strategy: test scripts exercise the main script's dryrun mode to verify behaviour matches the spec without making real changes.
|
|
|
|
## `set -uo pipefail` without `-e` for reporting tools
|
|
|
|
Read-only/reporting scripts use `set -uo pipefail` instead of `set -euo pipefail`. The `-e` flag causes silent failures in complex pipeline/subshell chains. Explicit error handling is more predictable for tools that aggregate data from many sources.
|
|
|
|
## "No remotes" and "detached HEAD" are not dirty states
|
|
|
|
In `git-status-report`, repos with no remotes or detached HEAD are considered clean unless they have local changes. "(no remotes)" is only shown as annotation when the repo already has uncommitted changes.
|
|
|
|
## Project hosted under `skynet` org
|
|
|
|
`small-scripts` lives in the `skynet` org on Gitea (`gitea.oreillyit.nz`) as an AI-focused project — specifically a testbed for agent-driven, spec-first development workflows.
|