Contributing

Principles and ways to contribute to Turboism and its extension ecosystem.

Help strengthen Turboism by improving the framework or by building extensions and plugins. Use the following principles to make contributions reliable, safe, and useful to more people.

Contribution principles

  • Work within the general framework boundary rather than adding behavior for a single host or use case.
  • Prefer the public SDK over internal APIs, host objects, reflection, or unsupported integration paths.
  • Keep each change focused on one clear user or developer need.
  • Verify target-version compatibility, capability availability, and required permissions separately. A granted permission does not prove that a capability is available.
  • Add or update appropriate tests, keep the English, Simplified Chinese, and Japanese documentation in sync, and regenerate and review SDK Javadoc whenever the public SDK or its documentation changes.
  • Protect user files, personal data, and privacy. Request and handle only the access and data that are necessary; do not expose sensitive information in code, logs, or documentation.

Ways to participate

1. Improve the framework

Use GitHub Issues to report, discuss, or refine framework work. Propose implementation changes through GitHub Pull Requests.

2. Build an extension

Use the extension path that fits the job: build Java plugins for in-process SDK integration, use GraalJS Scripts for explicitly invoked limited scripts, or use MCP for trusted local client integration.

3. Build a plugin for the Plugin Directory

Develop plugins with Plugin Directory distribution in mind. The Plugin Directory, its publication workflow, and its public listings are not yet finalized or live, so they must not be presented as deployed. For now, submit or discuss candidate plugins through the Turboism GitHub repository.