Skip to content

Latest commit

 

History

History
109 lines (77 loc) · 2.83 KB

File metadata and controls

109 lines (77 loc) · 2.83 KB

Contributing

Prerequisites

  • Bun v1.0+
  • An opencode installation for manual testing

Getting started

git clone https://github.com/DEVtheOPS/opencode-plugin-aws-auth-refresh
cd opencode-plugin-aws-auth-refresh
bun install

Development workflow

Point your local opencode config at the repo so changes are picked up immediately without a build step. In ~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["/path/to/opencode-plugin-aws-auth-refresh/src/index.ts"]
}

opencode loads TypeScript natively via Bun, so there is no build step required during development.

Commands

Command Description
bun run typecheck Type-check all sources without emitting
bun test Run the test suite

Project structure

src/
├── index.ts    — Plugin entrypoint, hooks into tool execution
└── types.d.ts  — Plugin type definitions

Commit messages

This project follows Conventional Commits. All commits must be structured as:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Types

Type When to use
feat A new feature (triggers a minor version bump)
fix A bug fix (triggers a patch version bump)
perf A performance improvement
refactor Code change that is neither a fix nor a feature
test Adding or updating tests
docs Documentation only changes
ci CI/CD configuration changes
chore Maintenance tasks (dependency updates, etc.)
build Changes to the build system

Breaking changes

Append ! after the type or add a BREAKING CHANGE: footer:

feat!: drop support for custom SSO commands

BREAKING CHANGE: ssoLoginCommand config option has been removed

Examples

feat: add support for custom SSO login command
fix: handle concurrent refresh requests correctly
docs: update README with configuration examples
chore(deps): bump @opencode-ai/plugin to 1.2.23

Submitting changes

  1. Fork the repo and create a branch from main: git checkout -b feat/my-feature
  2. Make your changes and ensure bun run typecheck and bun test pass
  3. Commit using Conventional Commits format
  4. Open a pull request — the title should also follow Conventional Commits format

Releasing

Releases are handled via GitHub Actions. See the release workflow. To cut a release, push a version tag:

git tag v1.2.3
git push origin v1.2.3

The version bump should follow SemVer based on the commits since the last release:

  • fix commits → patch (1.0.x)
  • feat commits → minor (1.x.0)
  • BREAKING CHANGE commits → major (x.0.0)