Merged
Conversation
Adds the full luminarr-style .github scaffolding adapted for Pulse: - ci.yml — Go test + lint + binary build + multi-arch Docker image push to ghcr.io on main - claude.yml — Claude Code Action for automatic issue triage and @claude mention handling on PRs and comments - ISSUE_TEMPLATE/bug_report.yml and feature_request.yml with a structured form for reports - CONTRIBUTING.md with the development setup and code standards Pulse-specific deltas vs luminarr's template: no TMDB/Trakt ldflags (Pulse is a control plane, no media metadata), single-image docker build using the repo-root Dockerfile, no frontend test job (no npm test script yet), no plugin section in CONTRIBUTING.md. Requires the GHCR_TOKEN (classic PAT with write:packages) and ANTHROPIC_API_KEY secrets to be set in the repo before the workflows can run successfully. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…kouts web/static is built by `npm run build` in web/ui and is gitignored, so a fresh checkout (CI, a new dev's machine) has no files in web/static and the //go:embed static directive in web/embed.go fails to compile with "pattern static: no matching files found". Track web/static/placeholder.txt so the directory always has at least one entry matching the embed pattern. The .gitignore now ignores web/static/* but exempts the placeholder. The real frontend build output still lands alongside and stays ignored. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Triggers on v* tag pushes and produces:
- Cross-platform binaries (linux/darwin/windows × amd64/arm64, minus
windows/arm64) archived as tar.gz / zip with LICENSE, README, and
config.example.yaml alongside
- checksums.txt for all archives
- A GitHub Release with auto-generated notes scraped from commit
messages (excludes docs/chore/test/ci prefixes)
- Multi-tag Docker images pushed to ghcr.io/beacon-stack/pulse: the
full version, {major}.{minor}, {major}, and latest
Requires GHCR_TOKEN on the repo before the first tag push — same
secret already needed by ci.yml for its main-branch docker job.
Tag a release with `git tag v0.2.0 && git push --tags` and the
workflow takes over from there.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings Pulse in line with the luminarr-era scaffolding that the other Beacon apps will get in parallel PRs.
Pulse-specific deltas vs the luminarr template
Required repo secrets before this CI runs green
Test plan