This is the source code repository for plugins on the XpertAI platform. The xpertai/ folder contains officially maintained plugin projects. Partners or community contributors can create independent project folders in the root directory according to their company or organization, and maintain their own plugin code within. For plugin development and release processes, please refer to the official documentation: https://xpertai.cn/docs/plugin/.
xpertai/: Official plugin projects, managed with the Nx build tool for multiple plugin packages.<your-org>/: Partner or community contributor plugin directories (example). Please create a top-level directory using your company or organization’s English name, and maintain plugin projects within.
- Clone the repository and enter the root directory.
- To view or participate in official plugin development:
- Enter
xpertai/and runnpm installto install dependencies. - Use
npx nx graphornpx nx listto explore current plugins and tasks. - Common commands:
npx nx build <project>to build a plugin.npx nx test <project>to run unit tests.npx nx lint <project>to perform code linting.
- Enter
- To create a new partner plugin:
- Add a new
<your-org>/(your company/organization’s English name) directory in the repository root. - Refer to the official documentation or the sample projects in
xpertai/to initialize your project structure. - You can also use the plugin project template repository to get started quickly: https://github.com/xpert-ai/xpert-plugins-starter.
- It is recommended to provide a README or documentation explaining the plugin’s purpose, dependencies, and usage.
- Add a new
- Please follow the coding, testing, and release standards in your project directory, and ensure local builds and tests pass before submitting.
- Before submitting a Pull Request, please ensure:
- Your code passes necessary Lint, Test, and Build checks.
- Relevant documentation is updated (such as plugin README, CHANGELOG, etc.).
- You comply with your organization’s internal naming and branching conventions, as well as those of this repository.
- For changes to public files or official plugins, please communicate with the maintenance team first to ensure alignment.
This repository uses .github/workflows/release-plugin.yml to release plugins in each workspace (xpertai, community) with Changesets + OIDC trusted publishing.
- Before release, run plugin tests first (follow
plugin-dev-harness/README.md). - Enter the target workspace and create a changeset:
- For
xpertai:cd xpertai && pnpm exec changeset add - For
community:cd community && pnpm exec changeset add
- For
- Check pending release plan locally:
pnpm exec changeset status
- Submit PR with both code changes and
.changeset/*.md, then merge intomain. - Workflow will create or update the release PR (
changeset-release/main) with version bumps. - Merge the release PR into
main; workflow then publishes changed packages to npm.
Notes:
- If logs show
No changesets found, the merged commit did not contain a valid.changeset/*.mdfor that workspace. - If logs show
ENEEDAUTH, verify npm Trusted Publisher settings for that package.
When creating a new publishable package, ensure package.json includes at least:
{
"name": "@xpert-ai/plugin-xxx",
"version": "0.0.1",
"repository": {
"type": "git",
"url": "https://github.com/xpert-ai/xpert-plugins"
}
}Important:
repository.urlmust match the GitHub repository used by provenance/OIDC (recommended exact value:https://github.com/xpert-ai/xpert-plugins).- If this field is missing or empty, npm may reject publish with provenance error (
E422). - For Trusted Publisher, leave
Environment nameempty unless workflow explicitly addsenvironment: <name>in the release job. - Trusted Publisher is configured per npm package. A brand-new package may require one bootstrap publish before switching to OIDC-only publishing.
After releasing your plugin, register/update plugin metadata in: https://github.com/xpert-ai/xpert-plugin-registry.
- For issues with the official platform: contact XpertAI support channels or your enterprise customer success contact.
- For repository maintenance issues: create an issue in the GitHub Issues section, describing the situation and steps to reproduce.
Thank you for contributing to the XpertAI plugin ecosystem!