Skip to content

[Low] chore(scripts): add rate-limit and re-run guards to create-contract-issues.sh #312

Description

@K1NGD4VID

Context

create-contract-issues.sh is executable, #!/bin/bash, but has no set -euo pipefail, no gh rate-limit backoff, and no re-run guard — it will happily duplicate every issue on a second run.

Hygiene / dev-experience — small standalone task, safe to pick up as a first contribution or when looking for a quick win between larger PRs.

Where

Repo-wide — see summary above for the exact target.

Proposed Approach

  1. Locate the target file (see Where section) and read it end-to-end before editing — many of these repo-level fixes have subtle cross-file dependencies.
  2. Make the minimal edit required to satisfy the Acceptance Criteria.
  3. For CI changes: push to a branch and confirm the build-and-test check still passes (or fails for the right reason).
  4. For script changes: test on both Linux/macOS and Windows (WSL is fine for the bash scripts; PowerShell scripts should be tested on native Windows if possible).
  5. Update README or CONTRIBUTING.md if the change alters the contributor workflow.

Acceptance Criteria

  • Depends on the "move seed-issue tooling out of root" issue
  • Add rerun detection (check for existing titles via gh issue list)
  • Add set -euo pipefail
  • No new clippy warnings introduced by this change.

Definition of Done

  • PR links back to this issue with Closes #<this-issue-number> in the description.
  • CI (build-and-test) is green on the PR.
  • For contract changes: cargo fmt --all --check, cargo clippy --all-targets -- -D warnings, and cargo test --workspace all pass locally.
  • New behaviour is covered by at least one test (positive path) and one negative test where applicable.
  • Any new public function has rustdoc documenting # Arguments, # Auth, # Panics, and # Returns.

Contributor Tips

  • Scripts must run cleanly on Linux, macOS, and (for .ps1) native Windows. WSL is a fallback, not a target.
  • Use set -euo pipefail in every bash script and $ErrorActionPreference = 'Stop' at the top of every PowerShell script.
  • Prefer command -v / Get-Command probes over hardcoded paths.

Related Issues

Other tickets in the same scope (scripts): #288, #299, #300, #311

If you spot overlap while working, drop a comment here and I'll re-scope or link them.

Tech Stack

shell / powershell (repo scripts)

How to Claim

Comment .take (or just say you're working on it) and open a PR that includes Closes #312 in the description.

Difficulty: Low (complexity:low) — used for Drips Wave point allocation.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions