Thank you for contributing to the open-source @newtype-os/plugin edition of newtype OS.
This repository is in maintenance mode. New product development is focused on newtype Workstation and newtype CLI. Before starting work, read MAINTENANCE.md to confirm that the proposed change fits the repository's current scope.
We welcome focused changes in these areas:
- Compatibility with supported OpenCode releases
- Security fixes
- Critical bug fixes with a reproducible case
- Documentation corrections
- Small reliability and accessibility improvements
- Dependency maintenance required to keep the plugin operational
Large new features, broad architecture rewrites, or requests to mirror Workstation and CLI features into the plugin are normally out of scope.
English is the primary language for pull requests, code review, documentation, and repository discussions. Clear, simple English is welcome; perfect grammar is not required.
- Bun
- TypeScript
- A supported OpenCode installation for local testing
git clone https://github.com/newtype-01/newtype-os.git
cd newtype-os
bun install
bun run buildTo test a local build, add its absolute file URL to ~/.config/opencode/opencode.json:
{
"plugin": ["file:///absolute/path/to/newtype-os/dist/index.js"]
}Restart OpenCode after rebuilding the plugin.
Run the checks relevant to the change:
bun run typecheck
bun run build
bun testDocumentation-only changes do not require the full runtime test suite, but all links, commands, headings, and English/Chinese claims must be checked.
- Create a branch from
main. - Keep the change focused on one maintenance concern.
- Explain the problem, user impact, and validation performed.
- Update documentation when user-visible behavior changes.
- Do not change the package version in
package.json. - Submit the pull request against
main.
- Use Bun for package management and scripts.
- Preserve TypeScript type safety; do not suppress errors with
any,@ts-ignore, or@ts-expect-error. - Follow existing module and naming patterns.
- Prefer small, reviewable changes over broad rewrites.
- Preserve upstream license and attribution.
Publishing is handled by project maintainers through the repository's release workflow. Contributors should not change versions or publish the package directly.
- newtype Workstation and CLI information: README.md
- OpenCode plugin usage: docs/plugin-guide.md
- Product website: os.newtype.pro