Skip to content

add new instrument-guidelines package#1364

Merged
joshunrau merged 3 commits into
DouglasNeuroInformatics:mainfrom
joshunrau:agents
Jun 2, 2026
Merged

add new instrument-guidelines package#1364
joshunrau merged 3 commits into
DouglasNeuroInformatics:mainfrom
joshunrau:agents

Conversation

@joshunrau
Copy link
Copy Markdown
Collaborator

@joshunrau joshunrau commented Jun 2, 2026

also adjust workflow to prepare to standardize published versions

Summary by CodeRabbit

  • New Features

    • Released new @opendatacapture/instrument-guidelines package with CLI tool for managing instrument specifications and guidelines
  • Documentation

    • Added comprehensive instrument authoring guidelines covering architecture patterns, multilingual support, validation, and end-to-end examples
  • Chores

    • Updated release workflow and CI/CD infrastructure
    • Added version management utility

@joshunrau joshunrau merged commit 7b0000a into DouglasNeuroInformatics:main Jun 2, 2026
1 check was pending
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 2, 2026

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ee57e222-ebd0-4153-bb21-fde2323de680

📥 Commits

Reviewing files that changed from the base of the PR and between 2cd9f6d and 25abe01.

📒 Files selected for processing (7)
  • .github/scripts/release.cjs
  • .github/workflows/release.yaml
  • packages/instrument-guidelines/AGENTS.md
  • packages/instrument-guidelines/README.md
  • packages/instrument-guidelines/bin/cli.mjs
  • packages/instrument-guidelines/package.json
  • scripts/increment-version.sh

Walkthrough

The PR refactors CI/CD release automation, adds developer tooling for version management, and introduces a comprehensive instrument authoring guidelines package. It inlines the release workflow with a custom version-verification script, adds interactive version bumping, and distributes instrument specifications via npm.

Changes

Release and Developer Infrastructure

Layer / File(s) Summary
Release workflow refactor and version verification script
.github/scripts/release.cjs, .github/workflows/release.yaml
Release workflow transitions from delegated app-release.yaml to inline automation. New release.cjs script queries GitHub Container Registry "latest" tags across configured packages, validates semver consistency, and outputs version and should_release flags. Workflow adds configure, validate, build, and release jobs: configure runs the verification script and derives Docker build matrix; validate installs dependencies and lints; build conditionally builds and pushes multi-arch images; release creates GitHub release tags.
Interactive version increment script
scripts/increment-version.sh
Bash script (Bash ≥ 5.0) derives current version from root package.json, presents interactive menu for major/minor/patch bump, prompts confirmation, then updates version fields in predefined package.json file list using Node-based regex replacement with progress logging.
Instrument guidelines package and CLI
packages/instrument-guidelines/{AGENTS.md, bin/cli.mjs, package.json, README.md}
New npm package (@opendatacapture/instrument-guidelines) exports comprehensive ODC instrument authoring specification (935-line AGENTS.md covering FORM/INTERACTIVE/FILE/SERIES kinds, field schemas, validation, runtime contracts, imports, and end-to-end examples). CLI script (bin/cli.mjs) links or copies AGENTS.md into target directories with --copy, --force, and --help options, handling symlink permission errors gracefully. Package manifest declares CLI binary, export mappings, and restricted file list; README documents installation and integration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant