Claude Code Plugins

Community-maintained marketplace

Feedback

Release npm packages and create git tags. Handles @alps-asd/app-state-diagram, @alps-asd/mcp, and Homebrew formula updates.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name release
description Release npm packages and create git tags. Handles @alps-asd/app-state-diagram, @alps-asd/mcp, and Homebrew formula updates.

Release Skill

Release npm packages for app-state-diagram monorepo.

Packages

Package npm Name Description
packages/app-state-diagram @alps-asd/app-state-diagram Core library and CLI
packages/mcp @alps-asd/mcp MCP Server for AI integration
packages/crawler (private) Not published

Release Process

1. Update Versions

Update version in all package.json files:

# Root
package.json

# Packages
packages/app-state-diagram/package.json
packages/mcp/package.json

For alpha releases, use format: 2.0.0-alpha.1

2. Update Workspace Dependencies

In packages/mcp/package.json, use workspace reference:

{
  "dependencies": {
    "@alps-asd/app-state-diagram": "workspace:*"
  }
}

3. Build All Packages

pnpm build

4. Run Tests

pnpm test

5. Create and Push Git Tag

git tag -a v2.0.0-alpha.1 -m "v2.0.0-alpha.1: Description"
git push upstream v2.0.0-alpha.1

6. Publish to npm

Publish in dependency order:

# Core package first
cd packages/app-state-diagram
pnpm publish --access public --no-git-checks --tag alpha

# Then dependent packages
cd ../mcp
pnpm publish --access public --no-git-checks --tag alpha

For stable releases, omit --tag alpha:

pnpm publish --access public --no-git-checks

7. Verify Publication

npm view @alps-asd/app-state-diagram@2.0.0-alpha.1 version
npm view @alps-asd/mcp@2.0.0-alpha.1 version

Homebrew Formula

Location: /Users/akihito/git/homebrew-asd

Formula File

Formula/asd.rb for v2 (Node.js/TypeScript):

class Asd < Formula
  desc "Generates state diagrams and documentation from ALPS profiles"
  homepage "https://alps-asd.github.io/"
  url "https://github.com/alps-asd/app-state-diagram.git", branch: "2.x"
  version "2.0.0-alpha.1"
  license "MIT"

  depends_on "node@20"
  depends_on "pnpm"
  depends_on "graphviz" => :optional

  def install
    ENV.prepend_path "PATH", Formula["pnpm"].opt_bin
    inreplace "package.json", /,?\s*"packageManager":\s*"[^"]*"/, ""
    system "pnpm", "install", "--package-import-method", "copy"
    system "pnpm", "run", "build"
    libexec.install Dir["*"]
    (bin/"asd").write <<~EOS
      #!/bin/bash
      exec "#{Formula["node@20"].opt_bin}/node" "#{libexec}/packages/app-state-diagram/dist/asd.js" "$@"
    EOS
  end

  test do
    system "#{bin}/asd", "--version"
  end
end

Update Homebrew Formula

cd /Users/akihito/git/homebrew-asd
# Edit Formula/asd.rb with new version
git add Formula/asd.rb
git commit -m "Update to version 2.0.0-alpha.1"
git push origin v2-node
git push upstream v2-node

Release Checklist

  • All tests pass (pnpm test)
  • Build succeeds (pnpm build)
  • Version updated in all package.json files
  • Git tag created and pushed
  • @alps-asd/app-state-diagram published to npm
  • @alps-asd/mcp published to npm
  • Homebrew formula updated (if applicable)
  • Verify npm packages: npm view @alps-asd/app-state-diagram

Branches

Branch Purpose
2.x TypeScript v2 (main development)
1.x PHP v1 (legacy, maintenance only)

npm Tags

Tag Purpose
latest Stable releases
alpha Pre-release versions