Skip to content

chore: prep repo for going public#7

Merged
StuBehan merged 2 commits into
StackOneHQ:mainfrom
StuBehan:chore/oss-readiness
Apr 30, 2026
Merged

chore: prep repo for going public#7
StuBehan merged 2 commits into
StackOneHQ:mainfrom
StuBehan:chore/oss-readiness

Conversation

@StuBehan

Copy link
Copy Markdown
Collaborator

Summary

Adds the standard community files and a CI workflow ahead of open-sourcing the repo. Patterns adapted from stackvox's recent OSS prep.

Changes

Community files

  • CONTRIBUTING.md — local setup, make targets, source layout, the rebuild-invalidates-TCC gotcha, commit/branch conventions, PR checklist
  • CODE_OF_CONDUCT.md — Contributor Covenant 2.1, support@stackone.com for enforcement
  • SECURITY.mdsecurity@stackone.com, in/out-of-scope split (stackvox + deps redirect upstream), pre-1.0 latest-only support policy
  • NOTICE — copyright + third-party acknowledgements (stackvox via PyPI, terminal-notifier click-routing pattern, stackone-say-hooks phrase-pool seed)
  • CHANGELOG.md — keep-a-changelog format with backfilled v0.1.0 / v0.2.0 / v0.3.0 entries
  • LICENSE copyright line updated to "StackOne Technologies Ltd. and contributors"

GitHub configuration

  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/ISSUE_TEMPLATE/{bug_report,feature_request,config}.yml — bug report captures stack-nudge specifics (agent, editor, config excerpts, log paths)
  • .github/dependabot.yml — github-actions only (no SPM, no tracked Python deps)

CI (.github/workflows/ci.yml)

  • shellbash -n + shellcheck on every tracked .sh
  • build-macos — runs build.sh for arm64 and x86_64 on macos-15, verifies the resulting Mach-O matches the matrix arch, lints both Info.plists with plutil
  • Existing auto-tag.yml + release.yml workflows retained as-is

Misc

  • .gitignore expanded (stack-nudge-panel.app, editor artefacts, *.log, /tmp/)

Out of scope (deliberate)

  • No release-please / pre-commit / commitizen — stack-nudge has no Python toolchain in-repo and the existing tag-from-Info.plist release flow works. Can revisit in a follow-up if the value pays back.
  • No mypy / pytest CI — no Python sources to lint or test (since the stackvox vendor cleanup).

Test plan

  • bash -n passes on every shell script
  • plutil -lint passes on both Info.plists
  • ./build.sh produces working arm64 Mach-O binaries locally
  • CI green on the PR (the shell and build-macos jobs run on every push / pull_request)

🤖 Generated with Claude Code

StuBehan and others added 2 commits April 30, 2026 08:38
Adds the standard community files and a CI workflow ahead of an
open-source release. Patterns adapted from stackvox.

Community files
- CONTRIBUTING.md — local setup, make targets, source layout, the
  rebuild-invalidates-TCC gotcha, commit / branch conventions, PR
  checklist
- CODE_OF_CONDUCT.md — Contributor Covenant 2.1, support@stackone.com
  for enforcement reports
- SECURITY.md — security@stackone.com, in/out-of-scope split (stackvox
  and other deps redirect upstream), pre-1.0 latest-only support policy
- NOTICE — copyright + third-party acknowledgements (stackvox is pulled
  fresh from PyPI, terminal-notifier inspired the click-routing
  pattern, stackone-say-hooks seeded the phrase pools)
- CHANGELOG.md — keep-a-changelog format with backfilled v0.1.0 / v0.2.0
  / v0.3.0 entries reflecting what's already shipped
- LICENSE copyright line updated to "StackOne Technologies Ltd. and
  contributors"

GitHub configuration
- .github/PULL_REQUEST_TEMPLATE.md
- .github/ISSUE_TEMPLATE/{bug_report,feature_request,config}.yml — bug
  report captures stack-nudge specifics (agent, editor, config
  excerpts, panel/daemon log paths)
- .github/dependabot.yml — github-actions only (no SPM, no tracked
  Python deps; install.sh pulls stackvox from PyPI at install time)

CI
- .github/workflows/ci.yml — three jobs:
  1. shell — bash -n + shellcheck (severity warning) on every tracked .sh
  2. build-macos — runs build.sh for arm64 and x86_64 on macos-15,
     verifies the resulting Mach-O matches the matrix arch, lints both
     Info.plists with plutil
  - Existing auto-tag.yml + release.yml workflows retained as-is

Misc
- .gitignore expanded — covers stack-nudge-panel.app, common editor
  artefacts, /tmp/, *.log

No release-please / pre-commit / commitizen for now — stack-nudge has
no Python toolchain and the existing tag-from-Info.plist flow works.
Release tooling can land in a follow-up if it pays back.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
shellcheck flags TEMPLATES_RESPONSE / TEMPLATES_NOTIFICATION as unused
because they're consumed by notify.sh after sourcing — the consumer is
in a different file. Disable directive sits between the file's header
comment and the array declaration so future phrase pools inherit it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@StuBehan StuBehan merged commit 48188a9 into StackOneHQ:main Apr 30, 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