plugins

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package plugins generates distributable host plugin packages for Claude Code and OpenCode from templates under plugins/templates/.

Each package registers hooks/MCP that call the jevkit binary, and ships a bootstrap script that checks PATH (and can print or apply a pinned install). Run `make plugins` to regenerate plugins/jevkit/<host>/.

Index

Constants

View Source
const CommandName = "jevkit"

CommandName is the CLI binary plugins expect on PATH.

View Source
const ModulePath = "github.com/JoshJancula/jevkit"

ModulePath is the Go module path used in install remediation hints.

View Source
const PluginID = "jevkit"

PluginID is the marketplace / host plugin identifier.

View Source
const Version = "dev"

Version is the plugin package version. It must match the jevkit binary version constant (cmd/jevkit main.version default; overridden via -ldflags="-X main.version=..." at release). Keep these in sync.

Variables

View Source
var Hosts = []string{"claude", "opencode", "cursor", "antigravity"}

Hosts are the supported agent runtimes that receive a generated package.

Functions

func FindRepoRoot

func FindRepoRoot(start string) (string, error)

FindRepoRoot walks up from start looking for go.mod with the jevkit module.

func InstallCommand

func InstallCommand() string

InstallCommand returns the remediation users should run when jevkit is missing from PATH. Pinned when Version is a release tag; otherwise @latest.

func ValidateAll

func ValidateAll(repoRoot, outRoot, wantVersion string) error

ValidateAll runs ValidatePackage for every host under outRoot.

func ValidatePackage

func ValidatePackage(repoRoot, hostDir, host, wantVersion string) error

ValidatePackage checks JSON schemas, version sync, jevkit references, and absence of secrets for one generated host directory.

Types

type ManifestSchema

type ManifestSchema struct {
	RelPath    string
	SchemaFile string
}

ManifestSchema maps a path relative to a host package root onto a schema file under plugins/schemas/.

func HostManifests

func HostManifests(host string) []ManifestSchema

HostManifests lists JSON files that must exist and validate for each host.

type Options

type Options struct {
	// RepoRoot is the jevkit repository root (contains plugins/templates).
	RepoRoot string
	// OutRoot overrides the default plugins/jevkit output directory.
	OutRoot string
	// Version overrides the Version constant when non-empty.
	Version string
}

Options controls Generate.

type Result

type Result struct {
	Host  string
	Dir   string
	Files []string
}

Result describes one generated host package.

func Generate

func Generate(opts Options) ([]Result, error)

Generate writes host packages under OutRoot (default plugins/jevkit).

Directories

Path Synopsis
cmd
gen command
Command gen regenerates distributable host plugin packages under plugins/jevkit/.
Command gen regenerates distributable host plugin packages under plugins/jevkit/.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL