Skip to content

chore: add OSS community files and CI#45

Merged
satyaborg merged 8 commits into
mainfrom
chore/oss-readiness
Jun 9, 2026
Merged

chore: add OSS community files and CI#45
satyaborg merged 8 commits into
mainfrom
chore/oss-readiness

Conversation

@satyaborg

Copy link
Copy Markdown
Owner

Problem

The repo is missing the standard scaffolding GitHub flags under Community Standards, and there's no CI enforcing the documented dev gates on PRs.

Approach

Add the missing pieces (release tooling and cliff.toml were already in place):

  • CI (.github/workflows/ci.yml): bash syntax check, scripts/devloop_test.sh, version/help, and a release dry-run on ubuntu + macOS, plus shellcheck lint.
  • Community files: CONTRIBUTING.md, CODE_OF_CONDUCT.md (Contributor Covenant 2.1), SECURITY.md, PR template, and bug/feature issue forms.
  • Changelog: seeded CHANGELOG.md from history (was empty). scripts/release.sh --publish continues to regenerate it via git-cliff on each release.
  • Lint: annotated the four benign shellcheck warnings (SC2034/SC2329) so shellcheck passes at full strictness, matching the README gate.

Commits are split one-logical-change each.

Test evidence

shellcheck devloop scripts/*.sh   # clean
bash scripts/devloop_test.sh      # ok - 100% project function coverage

CI runs the same gates on this PR.

satyaborg added 8 commits June 9, 2026 10:43
Annotate the RUN_* result-interface assignments (SC2034) and extend the test suite's disable list (SC2034/SC2329) so shellcheck passes at full strictness, matching the documented dev gate.
Run bash syntax check, the shell test suite, version/help, and a release dry-run on ubuntu and macOS, plus shellcheck lint.
Add CONTRIBUTING, CODE_OF_CONDUCT (Contributor Covenant 2.1), SECURITY, a PR template, and bug/feature issue forms.
Generate CHANGELOG.md with git-cliff so the changelog is populated ahead of the next release regeneration.
The placeholder-skip rule used \< \> which GNU awk treats as word boundaries, so quoted frontmatter values like "Chat Retry" were dropped to empty on gawk/mawk runners. Use literal angle brackets so the rule skips only <placeholder> lines on BSD awk, gawk, and mawk alike.
Older shellcheck versions on CI report unreachable-command (SC2317) for indirectly-invoked test stubs where newer versions report SC2329. Disable both so lint passes regardless of shellcheck version.
The gh-missing assertions appended raw /usr/bin:/bin to PATH, so on CI runners that ship gh in /usr/bin the tests saw gh present and failed. Mirror the system bin dirs into a sanitized dir that excludes gh, so command -v gh fails regardless of host gh location.
The direct devloop_doctor test relied on the ambient PATH supplying devloop, gum, and fzf, which only happens on a provisioned dev machine. On CI those are absent, so doctor reported not-ready. Supply all required deps via the controlled stub dirs (bin_dir, tool_bin) and sanitized system bin.
@satyaborg satyaborg merged commit 93555e1 into main Jun 9, 2026
3 checks passed
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