Skip to content

Release Notes: v0.6.0

Release Date: 2026-01-18

Highlights

This release introduces the bundle package for unified plugin bundle generation across multiple AI coding assistants.

New Features

Bundle Package

The new bundle package provides a unified API for creating plugin bundles that can be generated for any supported tool:

package main

import (
    "log"

    "github.com/agentplexus/assistantkit/bundle"
    "github.com/agentplexus/assistantkit/hooks/core"
)

func main() {
    // Create bundle
    b := bundle.New("my-plugin", "1.0.0", "A helpful plugin")
    b.Plugin.Author = "Your Name"
    b.Plugin.License = "MIT"

    // Add MCP server
    b.AddMCPServer("my-server", bundle.MCPServer{
        Command: "./my-server",
        Env: map[string]string{
            "API_KEY": "${MY_API_KEY}",
        },
    })

    // Add hooks
    cfg := bundle.NewHooksConfig()
    cfg.AddHook(core.OnStop, core.Hook{
        Type:   "prompt",
        Prompt: "Task stopped. Consider follow-up actions.",
    })
    b.SetHooks(cfg)

    // Add skill
    skill := bundle.NewSkill("my-skill", "Skill description")
    skill.Instructions = "# My Skill\n\nInstructions here..."
    b.AddSkill(skill)

    // Generate for Claude Code
    if err := b.Generate("claude", "./output"); err != nil {
        log.Fatal(err)
    }

    // Or generate for all supported tools
    if err := b.GenerateAll("./plugins"); err != nil {
        log.Fatal(err)
    }
}

Supported Tools

Tool Plugin Skills Commands Hooks Agents MCP Context
Claude
Kiro
Gemini
Cursor
Codex
VS Code

Consolidated Plugin Format for Claude

The Claude adapter now supports a consolidated plugin.json format with embedded MCP servers and hooks:

{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "A helpful plugin",
  "mcpServers": {
    "my-server": {
      "command": "./my-server",
      "env": { "API_KEY": "${MY_API_KEY}" }
    }
  },
  "hooks": {
    "Stop": [
      {
        "hooks": [
          { "type": "prompt", "prompt": "Task stopped." }
        ]
      }
    ]
  }
}

Breaking Changes

ClaudePlugin.Hooks Field Type Change

The Hooks field in ClaudePlugin has changed from a string (file path) to a pointer to *HooksConfig struct.

Before:

plugin := &claude.ClaudePlugin{
    Name:  "my-plugin",
    Hooks: "./hooks/hooks.json",  // File path string
}

After:

plugin := &claude.ClaudePlugin{
    Name: "my-plugin",
    Hooks: &claude.HooksConfig{
        Stop: []claude.HookEntry{
            {
                Hooks: []claude.Hook{
                    {Type: "prompt", Prompt: "Task stopped."},
                },
            },
        },
    },
}

Dependencies

  • multi-agent-spec/sdk/go v0.1.0 → v0.3.0
  • gogithub v0.5.0 → v0.6.0

Installation

go get github.com/agentplexus/assistantkit@v0.6.0

Full Package List

Package Description
assistantkit Root package with version and supported tools
bundle New: Unified bundle generation
mcp MCP server configuration
hooks AI assistant lifecycle hooks
context Project context management
agents Agent definitions
commands Slash commands
plugins Plugin manifests
skills Reusable skills
teams Multi-agent orchestration
validation Configuration validators
publish Marketplace publishing