Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
terminal-progress--release_created: ${{ steps.release.outputs['packages/terminal-progress--release_created'] }}
homeassistant--release_created: ${{ steps.release.outputs['packages/homeassistant--release_created'] }}
forge-session-title--release_created: ${{ steps.release.outputs['packages/forge-session-title--release_created'] }}
forge-session--release_created: ${{ steps.release.outputs['packages/forge-session--release_created'] }}
forgekeeper--release_created: ${{ steps.release.outputs['packages/forgekeeper--release_created'] }}
atuin-history--release_created: ${{ steps.release.outputs['packages/atuin-history--release_created'] }}
tmux-indicator--release_created: ${{ steps.release.outputs['packages/tmux-indicator--release_created'] }}
steps:
Expand All @@ -43,8 +43,8 @@ jobs:
enabled: ${{ needs.release-please.outputs['homeassistant--release_created'] }}
- package: forge-session-title
enabled: ${{ needs.release-please.outputs['forge-session-title--release_created'] }}
- package: forge-session
enabled: ${{ needs.release-please.outputs['forge-session--release_created'] }}
- package: forgekeeper
enabled: ${{ needs.release-please.outputs['forgekeeper--release_created'] }}
- package: atuin-history
enabled: ${{ needs.release-please.outputs['atuin-history--release_created'] }}
- package: tmux-indicator
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"packages/terminal-progress": "1.0.2",
"packages/homeassistant": "1.0.2",
"packages/forge-session-title": "1.3.0",
"packages/forge-session": "1.0.0",
"packages/forgekeeper": "0.0.0",
"packages/atuin-history": "1.0.1",
"packages/tmux-indicator": "1.0.2"
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The plugins target OpenCode 2. The last OpenCode 1 versions live on the
| [terminal-progress](packages/terminal-progress/) | Shows agent progress in terminal tabs (Ghostty, iTerm2, WezTerm, Windows Terminal) | [![npm](https://img.shields.io/npm/v/opencode-terminal-progress)](https://www.npmjs.com/package/opencode-terminal-progress) |
| [homeassistant](packages/homeassistant/) | Sends agent status to Home Assistant via webhooks | [![npm](https://img.shields.io/npm/v/opencode-homeassistant)](https://www.npmjs.com/package/opencode-homeassistant) |
| [forge-session-title](packages/forge-session-title/) | Prefixes session titles with forge issue/PR/MR references | [![npm](https://img.shields.io/npm/v/opencode-forge-session-title)](https://www.npmjs.com/package/opencode-forge-session-title) |
| [forge-session](packages/forge-session/) | Tracks each session's issues and PRs/MRs: title prefixes, a PR/MR status footer, and review notifications | [![npm](https://img.shields.io/npm/v/opencode-forge-session)](https://www.npmjs.com/package/opencode-forge-session) |
| [forgekeeper](packages/forgekeeper/) | Tracks each session's issues and PRs/MRs: title prefixes, a PR/MR status footer, and review notifications | [![npm](https://img.shields.io/npm/v/opencode-forgekeeper)](https://www.npmjs.com/package/opencode-forgekeeper) |
| [atuin-history](packages/atuin-history/) | Records agent shell commands in Atuin shell history | [![npm](https://img.shields.io/npm/v/opencode-atuin-history)](https://www.npmjs.com/package/opencode-atuin-history) |
| [tmux-indicator](packages/tmux-indicator/) | Sets a tmux window option when the agent is waiting for input | [![npm](https://img.shields.io/npm/v/opencode-tmux-indicator)](https://www.npmjs.com/package/opencode-tmux-indicator) |

Expand Down
12 changes: 12 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 0 additions & 16 deletions packages/forge-session/CHANGELOG.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# opencode-forge-session
# opencode-forgekeeper

An [OpenCode](https://opencode.ai) plugin that tracks the issues or PRs/MRs a session works on.
It prefixes the session title with their references, shows the PR/MR status in the prompt
Expand All @@ -12,15 +12,15 @@ Requires OpenCode 2. It replaces
## Installation

```bash
opencode plugin add opencode-forge-session
opencode plugin add opencode-forgekeeper
```

This adds the plugin to your `opencode.json`:

```json
{
"$schema": "https://opencode.ai/config.json",
"plugins": ["opencode-forge-session"]
"plugins": ["opencode-forgekeeper"]
}
```

Expand Down Expand Up @@ -262,7 +262,7 @@ Set options with the object form of the `plugins` entry in `opencode.json`:

```json
{
"plugins": [{ "package": "opencode-forge-session", "options": { "notifyHumanReviews": false } }]
"plugins": [{ "package": "opencode-forgekeeper", "options": { "notifyHumanReviews": false } }]
}
```

Expand All @@ -286,7 +286,7 @@ To keep the behavior of `opencode-forge-session-title` alone, turn off review st

```json
{
"plugins": [{ "package": "opencode-forge-session", "options": { "reviewStatus": false } }]
"plugins": [{ "package": "opencode-forgekeeper", "options": { "reviewStatus": false } }]
}
```

Expand Down Expand Up @@ -318,14 +318,14 @@ plugin instance watches its own sessions.

## Migrating from opencode-forge-session-title

Replace `opencode-forge-session-title` with `opencode-forge-session` in `opencode.json`. Never
Replace `opencode-forge-session-title` with `opencode-forgekeeper` in `opencode.json`. Never
load both: the server keeps `opencode-forge-session-title`'s plugin and RPC IDs, so the two
would collide.

| Entry point | Plugin ID | Stored state |
| ----------- | ------------------------------ | ---------------------------------------------------------------------------------------- |
| Server | `opencode-forge-session-title` | Session targets, owned title prefixes, human-review baselines, and pending notifications |
| CLI | `pedropombeiro.forge-session` | None |
| CLI | `pedropombeiro.forgekeeper` | None |

Because the IDs match, stored targets carry over, and callers of the `target` RPC keep working.
The server reads a session's single stored `target` as a list of one, and writes `targets` from
Expand Down Expand Up @@ -379,7 +379,7 @@ From the repository root:
mise run test
mise run typecheck
mise run lint
mise run build forge-session
mise run build forgekeeper
```

## License
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opencode-forge-session",
"version": "1.0.0",
"name": "opencode-forgekeeper",
"version": "0.0.0",
"description": "OpenCode plugin that tracks each session's GitHub and GitLab issues and PRs/MRs: title prefixes, a PR/MR status footer, and review notifications",
"author": {
"name": "Pedro Pombeiro",
Expand All @@ -19,7 +19,7 @@
"repository": {
"type": "git",
"url": "git+https://github.com/pedropombeiro/opencode-plugins.git",
"directory": "packages/forge-session"
"directory": "packages/forgekeeper"
},
"publishConfig": {
"access": "public"
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { createStatusClient, samePlace, type Place } from './status-client';
import type { Snapshot } from './store';

export default {
id: 'pedropombeiro.forge-session',
id: 'pedropombeiro.forgekeeper',
async setup(context) {
const rpc = context.client.rpc(ForgeSessionRpc);

Expand Down
4 changes: 2 additions & 2 deletions release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
"packages/forge-session-title": {
"component": "opencode-forge-session-title"
},
"packages/forge-session": {
"component": "opencode-forge-session"
"packages/forgekeeper": {
"component": "opencode-forgekeeper"
},
"packages/atuin-history": {
"component": "opencode-atuin-history"
Expand Down
Loading