diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index f01fa12..9f79418 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "opencode-remote", "displayName": "OpenCode Remote", - "version": "0.5.6", + "version": "0.5.7", "description": "Repository-local development workflow skills for OpenCode Remote.", "author": { "name": "crankshift" diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 94fb618..8e696a7 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "opencode-remote", - "version": "0.5.6", + "version": "0.5.7", "description": "Repository-local development workflow skills for OpenCode Remote.", "author": { "name": "crankshift" diff --git a/AGENTS.md b/AGENTS.md index cad3233..3fa7f99 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -148,6 +148,7 @@ pnpm run check - "Let's create a task" means create a GitHub issue using `.github/ISSUE_TEMPLATE/task.md` as the body structure; do not create or edit GitHub Project items. - Issue-scoped task branches must use `github-login/issue-number-title-slug`, for example `crankshift/42-fix-telegram-album-cleanup`. - Work without an issue is allowed when the user chooses it; use `github-login/free-task-name` and never invent issue numbers. +- Before creating a pull request, bump `package.json` version and update `CHANGELOG.md`; merged PRs trigger the release tag build from the package version. - GitHub Project board management is maintainer-owned and manual. Do not require board access or run `gh project` commands in the repo-local workflow. ## Roadmap Guardrails diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cc3deb..5da55c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,12 @@ This project follows Semantic Versioning. - Removed Dependabot configuration to stop automated dependency update pull requests. +## [0.5.7] - 2026-05-28 + +### Fixed + +- Fixed forwarded Telegram messages to include safe original author context in OpenCode prompts, falling back to the authorized Telegram user when forwarded author data is unavailable. (#19) + ## [0.5.6] - 2026-05-27 ### Added diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0d9823d..d6ce177 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -93,6 +93,7 @@ These files are public repo configuration. They should not require maintainer-pr ## Pull Request Checklist - The change is scoped to one bug, feature, or documentation improvement. +- The `package.json` version and `CHANGELOG.md` were updated so merging the pull request triggers the next release tag build. - Tests were added or updated when behavior changed. - Public docs were updated when user-visible behavior changed. - `pnpm run lint`, `pnpm test`, or `pnpm run check` was run when practical. diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index d62ef86..a66a245 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -121,6 +121,8 @@ Default tests mock external systems. They do not require live Telegram, live Ope GitHub Actions runs the `Check` workflow on pull requests and pushes to `main`. It installs dependencies with `pnpm install --frozen-lockfile` on Node.js 24 and runs `pnpm run check`. +Every pull request merged to `main` must update `package.json` version and `CHANGELOG.md` so the release tag workflow can create the next `vX.Y.Z` tag. Reusing an already-tagged package version will fail the release tag build. + Maintainers should configure branch protection for `main` to require the `Check` workflow before merging. ## Release diff --git a/package.json b/package.json index 0445877..82d1575 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@crankshift/opencode-remote", "description": "A messenger-based chat interface for OpenCode, starting with Telegram.", - "version": "0.5.6", + "version": "0.5.7", "license": "MIT", "repository": { "type": "git", diff --git a/skills/github-project-task-workflow/SKILL.md b/skills/github-project-task-workflow/SKILL.md index c071c0a..a742066 100644 --- a/skills/github-project-task-workflow/SKILL.md +++ b/skills/github-project-task-workflow/SKILL.md @@ -75,11 +75,12 @@ Never use an issue number unless a real GitHub issue exists. Never use `task/42- ## Finish Workflow -Before calling work complete: +Before creating a pull request or calling work complete: 1. Inspect `git status --short` and `git diff`. -2. Run normal verification: `pnpm run lint`, `pnpm test`, `pnpm run check`. -3. If work was issue-scoped, mention the issue number in the summary. +2. Bump `package.json` version and update `CHANGELOG.md` so merging the pull request triggers the next release tag build. +3. Run normal verification: `pnpm run lint`, `pnpm test`, `pnpm run check`. +4. If work was issue-scoped, mention the issue number in the summary. Do not move GitHub Project board status. The maintainer handles board management manually. @@ -107,6 +108,7 @@ Manual issue creation URL: `https://github.com/crankshift/opencode-remote/issues | Requiring GitHub CLI installation | Offer manual issue creation and ask for the issue number/URL or GitHub login when needed. | | Assuming issue templates fill CLI bodies | Mirror `.github/ISSUE_TEMPLATE/task.md` manually in the issue body. | | Requiring labels from contributors | Let maintainers manage labels manually. | +| Creating a pull request without release metadata | Before PR creation, bump `package.json` version and update `CHANGELOG.md`. | ## Red Flags @@ -117,4 +119,5 @@ Manual issue creation URL: `https://github.com/crankshift/opencode-remote/issues - Branch includes an issue number that does not map to a real GitHub issue. - You are telling a contributor to install `gh` instead of offering manual issue creation or free-branch fallback. - Worktree exists without the required branch. +- You are about to create a pull request without an updated `package.json` version and `CHANGELOG.md` entry. - You are about to claim completion without verification output. diff --git a/src/bin/program.js b/src/bin/program.js index 2f9d15c..6660c7b 100644 --- a/src/bin/program.js +++ b/src/bin/program.js @@ -36,7 +36,7 @@ export function createGatewayProgram({ const program = new Command() const afterCreate = createStartupAfterConfigHook({ enableGatewayStartup, output }) - program.name("opencode-remote").description("OpenCode messaging gateway").version("0.5.6") + program.name("opencode-remote").description("OpenCode messaging gateway").version("0.5.7") program .command("setup") diff --git a/tests/runtime/aiSkillRegistration.test.js b/tests/runtime/aiSkillRegistration.test.js index 16573b1..aa82a51 100644 --- a/tests/runtime/aiSkillRegistration.test.js +++ b/tests/runtime/aiSkillRegistration.test.js @@ -18,6 +18,7 @@ describe("repository AI skill registration", () => { expect(skill).toContain("# GitHub Issue Task Workflow") expect(skill).toContain("GitHub CLI is optional for contributors") expect(skill).toContain("Issue format: `github-login/issue-number-title-slug`") + expect(skill).toContain("bump `package.json` version and update `CHANGELOG.md`") }) test("registers the canonical skill folder with OpenCode", async () => {