Scripts

Operational scripts live in two places: repo-root scripts/ (CI, quality gates, repo management — 28 entries) and renewa-one/scripts/ (app-stack helpers — 10 entries). Backend deploy scripts sit in renewa-one/backend/scripts/.

Quality Gates and Checks (scripts/)

ScriptPurpose
quick-lint.shPostToolUse hook for Claude Code: 11 anti-pattern rules in <100ms (see Git Workflow)
quality-checks-parallel.shParallel typecheck + lint + test
check-changelog.sh / compile-changelog.shValidate bilingual changelog fragments / build release changelog
check-migration-consistency.shValidate migration ordering and integrity (pre-commit)
check-migration-n1.sh (+ .test.sh)N-1 expand→contract gate: renames/drops need compat-view shims (PR#1938)
check-persistence-topology.sh (+ allowlist)Persistence topology gate (I#2013)
check-english-identifiers.shEnforce English naming in code (pre-commit; see Coding Guidelines)
check-hubspot-owner-discipline.shHubSpot owner-field discipline
validate-localized-text.shValidate LocalizedText patterns in schema

Git Hooks (scripts/git-hooks/)

HookPhaseChecks
pre-commit~5sFormat + lint staged, block main, binaries in docs/, migration consistency, English identifiers, LocalizedText, i18n parity
pre-push<30sConflict check vs origin/main, changelog fragments, atlas.sum integrity (when migrations touched) — typecheck/tests moved to CI
post-checkout / post-mergeAfter checkout/mergeDependency sync reminders

Installed via scripts/setup-git-hooks.sh. See Git Workflow.

Repository Management (scripts/)

ScriptPurpose
cleanup-merged-worktrees.shClean stale worktrees (--dry-run, --auto)
guard-root-dir.shBlock Edit/Write in the main repo dir (worktrees allowed)
verify-root-clean.shVerify clean working directory

Secrets and Infrastructure (scripts/)

ScriptPurpose
extract-fly-secrets.shRead secrets off a Fly app (operator break-glass)
import-env-comments-to-infisical.shImport env documentation into Infisical
verify-infisical-fly-parity.shVerify Infisical ↔ Fly secret parity
manage-entra-redirect-uri.shAzure Entra ID SSO redirect URI management (see Authentication)
manage-hubspot-pr-preview.shHubSpot redirect URI for preview apps
security-scan-reconcile/TypeScript reconciler for the two-track scan policy: tracking issues, auto-ignore PRs, PR-gate filter, weekly Teams digest

Project Management (scripts/)

ScriptPurpose
linear/linear-api.sh, linear/batch-wsjf-score.sh, linear/update-deployment-status.shLinear API operations
jira-import.tsImport data from Jira
teams-graph-poll.tsPoll Teams feedback via Graph API
test/Tests for Makefile Infisical detection + HubSpot preview script

App Stack Helpers (renewa-one/scripts/)

ScriptPurpose
allocate-dev-ports.shDeterministic port slots per worktree (nginx 10000-10017, see Docker Setup)
issue-to-worktree.shQuick start: issue number → worktree + branch + make dev-init
setup-local.shLocal environment bootstrap
check-i18n-parity.sh / check-i18n-missing-keys.shLocale file parity between de and en
rollback-deploy.shPath A image re-promotion / Path B MPG fork-restore — see Deployment Rollback
rollback-migration.shMigration rollback helper
snapshot-before-deploy.sh / verify-backup.shPre-deploy snapshots and backup verification
lib/mpg-clusters.sh (+ test)Shared MPG cluster helpers

Deploy Scripts (renewa-one/backend/scripts/)

ScriptPurpose
atlas-migrate.shrelease_command entrypoint: applies migrations, enforces N-1 phase split and renewa:atlas:skip-on env gating (see Database Migrations)

CI Helper Scripts (.github/scripts/)

ScriptPurpose
e2e-warmup.sh (+ test)Blocking warmup gate before Playwright e2e (PR#1949)
check-coverage.sh, diff-coverage.jsCoverage gates in quality-checks.yml
sync-project.shGitHub Projects sync

Usage Examples

# Create worktree from issue
./renewa-one/scripts/issue-to-worktree.sh 123 "add-payment-flow"
 
# Preview worktree cleanup
./scripts/cleanup-merged-worktrees.sh --dry-run
 
# Install git hooks
./scripts/setup-git-hooks.sh

See Also