Skip to main content

Plugin system

Extend the Nimbus CLI with community plugins. Plugins are Python packages under nimbus-plugin-* on PyPI.

Install a plugin

nimbus plugin install nimbus-plugin-jira
nimbus plugin install nimbus-plugin-notion

List installed plugins

nimbus plugin list

Output:

  nimbus plugins

jira JiraPlugin
nimbus plugin run jira sync Sync Jira issues to Nimbus tasks
nimbus plugin run jira implement Implement a Jira issue

Run a plugin command

nimbus plugin run jira sync --project ACME
nimbus plugin run notion export --database "Sprint Tasks"

Uninstall

nimbus plugin uninstall nimbus-plugin-jira

Build your own plugin

See the example plugin for a complete reference implementation.

Minimal structure:

# nimbus_plugin_myname/__init__.py
from nimbus_sdk import NimbusPlugin, command

class MyPlugin(NimbusPlugin):
name = "myname"

@command()
def do_thing(self, arg: str = "default"):
"""Description shown in nimbus plugin list"""
print(f"Doing thing with {arg}")

Register via entry point in pyproject.toml:

[project.entry-points."nimbus.plugins"]
myname = "nimbus_plugin_myname:MyPlugin"

Publish to PyPI as nimbus-plugin-myname and anyone can install it with:

nimbus plugin install nimbus-plugin-myname

Velocity dashboard

The engineering velocity dashboard at get-nimbus.com/dashboard/analytics tracks:

  • Tasks completed per period (7/30/90 days)
  • PRs opened
  • Success rate
  • Average task duration
  • Estimated hours saved
  • Cost per task
  • Daily activity bar chart

All task metrics are recorded automatically when Nimbus completes a task.