Skip to content

feat: plugin/extension system for custom trackers and forges #251

@erishforG

Description

@erishforG

Vision (v1.0)

Enable third-party trackers (Notion, Asana, Shortcut, etc.) and forges (Gitea, Forgejo, etc.) via a plugin system.

Architecture

parsec core ← trait Tracker + trait Forge
  ├── builtin: Jira, GitHub Issues, GitLab, Linear, Bitbucket
  └── plugins: ~/.config/parsec/plugins/
        ├── parsec-tracker-notion (external binary)
        └── parsec-forge-gitea (external binary)

Plugin interface

  • JSON-RPC or stdin/stdout protocol (hashicorp/go-plugin style)
  • Tracker trait: get_ticket, list_tickets, transition, create_issue
  • Forge trait: create_pr, merge_pr, get_ci_status, get_pr_status
  • Plugins as separate binaries or WASM modules

Config

[tracker]
provider = \"plugin:notion\"

[plugins.notion]
path = \"~/.config/parsec/plugins/parsec-tracker-notion\"

Reference

  • Sapling: Python extension model
  • git-town: 5 built-in forges (incl. Gitea, Forgejo)

Milestone

v1.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions