Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
4419239
chore: runtime plugin split release PR 作成
takemi-ohama Jul 5, 2026
f3351d2
chore: runtime-split-shared-builder Draft PR 作成
takemi-ohama Jul 5, 2026
80d0082
feat: ndf-sharedとruntime buildスクリプトを追加
takemi-ohama Jul 5, 2026
99b8786
fix: runtime builderの後方互換生成を修正
takemi-ohama Jul 5, 2026
8096c8e
fix: Codex向けcross-review生成を修正
takemi-ohama Jul 5, 2026
29dbb4a
fix: Codex runtime生成のパス変換を修正
takemi-ohama Jul 5, 2026
b00c815
Merge pull request #46 from devbasex/feature/runtime-split-shared-bui…
takemi-ohama Jul 5, 2026
7d7d4ec
chore: runtime-split-claude Draft PR 作成
takemi-ohama Jul 5, 2026
271e52e
feat: Claude版NDFプラグインを分離
takemi-ohama Jul 5, 2026
8f0f9df
Fix: Claude runtimeにGemini skillを同梱
takemi-ohama Jul 5, 2026
de2224e
Merge pull request #47 from devbasex/feature/runtime-split-claude
takemi-ohama Jul 5, 2026
111acaf
chore: runtime-split-codex Draft PR 作成
takemi-ohama Jul 5, 2026
181f9ef
feat: Codex版NDFプラグインを分離
takemi-ohama Jul 5, 2026
9d2b71d
Merge pull request #48 from devbasex/feature/runtime-split-codex
takemi-ohama Jul 6, 2026
321b06e
feat: Kiro版NDFプラグインを分離
takemi-ohama Jul 6, 2026
45076fc
feat: MCPプラグインをランタイム別配布に対応
takemi-ohama Jul 7, 2026
5be334d
chore: runtime-split-docs-cleanup Draft PR 作成
takemi-ohama Jul 5, 2026
d7f47d2
docs: runtime分離後のドキュメントを整理
takemi-ohama Jul 7, 2026
d5de883
Merge pull request #50 from devbasex/feature/runtime-split-docs-cleanup
takemi-ohama Jul 7, 2026
d6450c2
chore: runtime-split-validation Draft PR 作成
takemi-ohama Jul 5, 2026
2824f67
ci: runtimeプラグイン検証を追加
takemi-ohama Jul 7, 2026
10f1434
fix: runtime検証のレビュー指摘を反映
takemi-ohama Jul 7, 2026
304388e
Merge pull request #52 from devbasex/feature/runtime-split-validation
takemi-ohama Jul 7, 2026
35e6fa0
chore: runtime-split-container-smoke Draft PR 作成
takemi-ohama Jul 5, 2026
60ae7ac
test: runtime smoke testを追加
takemi-ohama Jul 7, 2026
7086968
Merge pull request #53 from devbasex/feature/runtime-split-container-…
takemi-ohama Jul 7, 2026
2d83907
docs: runtime分離計画の最終状態を反映
takemi-ohama Jul 7, 2026
0ae167e
Merge pull request #55 from devbasex/docs/runtime-split-final-audit
takemi-ohama Jul 7, 2026
ee06664
fix: Kiro installerのruntime hookを修正
takemi-ohama Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
152 changes: 151 additions & 1 deletion .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"name": "ndf",
"source": {
"source": "local",
"path": "./plugins/ndf"
"path": "./plugins/ndf-codex"
},
"policy": {
"installation": "AVAILABLE",
Expand All @@ -15,6 +15,156 @@
"interface": {
"displayName": "NDF"
}
},
{
"name": "mcp-playwright",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-playwright"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "Playwright MCP"
}
},
{
"name": "mcp-chrome-devtools",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-chrome-devtools"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "Chrome DevTools MCP"
}
},
{
"name": "mcp-bigquery",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-bigquery"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "BigQuery MCP"
}
},
{
"name": "mcp-aws-docs",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-aws-docs"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "AWS Docs MCP"
}
},
{
"name": "mcp-dbhub",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-dbhub"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "DBHub MCP"
}
},
{
"name": "mcp-notion",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-notion"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "Notion MCP"
}
},
{
"name": "mcp-devin",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-devin"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "Devin MCP"
}
},
{
"name": "mcp-redash",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-redash"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "Redash MCP"
}
},
{
"name": "mcp-markitdown",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-markitdown"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "MarkItDown MCP"
}
},
{
"name": "mcp-serena",
"source": {
"source": "local",
"path": "./plugins/mcp/codex/mcp-serena"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity",
"interface": {
"displayName": "Serena MCP"
}
}
]
}
25 changes: 13 additions & 12 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,63 +1,64 @@
{
"name": "ai-plugins",
"description": "Claude Code plugin marketplace for NDF workflow tooling and MCP server plugins.",
"owner": {
"name": "takemi-ohama",
"email": "takemi.ohama+ai-plugins@gmail.com"
},
"plugins": [
{
"name": "ndf",
"source": "./plugins/ndf",
"description": "All-in-one plugin (v4.19.0): Claude Code/Kiro and Codex skill exposure split, 8 specialized agents (model-tiered), 49 source skills including plan-to-spec final specification workflow, pytest-playwright E2E testing (7 focused skills: test-planning, script-creation, execution, report, kit-ops, browser-connect, evidence-drive), CDP remote browser support, Google Drive evidence archival, ML model structure standard, PR/review workflows, principles, data analysis, Codex/Gemini CLI integration, skill usage stats, statusline switcher (/ndf:statusline). SessionStart hook (transcript retention >= 90 days, default statusline when none is configured), Stop hook (AI-summarized Slack notifications)."
"source": "./plugins/ndf-claude",
"description": "Claude Code plugin (v4.19.0): 8 specialized agents, focused NDF skills for PR/review workflows, implementation planning, plan-to-spec, browser smoke testing, statusline, Codex CLI delegation, transcript retention guard, default statusline setup, and optional Slack notifications."
},
{
"name": "mcp-playwright",
"source": "./plugins/mcp-playwright",
"source": "./plugins/mcp/claude/mcp-playwright",
"description": "Playwright MCP auto-setup plugin with Chromium browser installation and configuration"
},
{
"name": "mcp-chrome-devtools",
"source": "./plugins/mcp-chrome-devtools",
"source": "./plugins/mcp/claude/mcp-chrome-devtools",
"description": "Chrome DevTools MCP server for browser automation and testing"
},
{
"name": "mcp-bigquery",
"source": "./plugins/mcp-bigquery",
"source": "./plugins/mcp/claude/mcp-bigquery",
"description": "BigQuery MCP server for data analysis and SQL queries"
},
{
"name": "mcp-aws-docs",
"source": "./plugins/mcp-aws-docs",
"source": "./plugins/mcp/claude/mcp-aws-docs",
"description": "AWS Documentation MCP server for accessing official AWS documentation"
},
{
"name": "mcp-dbhub",
"source": "./plugins/mcp-dbhub",
"source": "./plugins/mcp/claude/mcp-dbhub",
"description": "DBHub MCP server for database operations and SQL queries"
},
{
"name": "mcp-notion",
"source": "./plugins/mcp-notion",
"source": "./plugins/mcp/claude/mcp-notion",
"description": "Notion MCP server for note management and knowledge base operations"
},
{
"name": "mcp-devin",
"source": "./plugins/mcp-devin",
"source": "./plugins/mcp/claude/mcp-devin",
"description": "Devin MCP server for accessing repository documentation and code knowledge via DeepWiki"
},
{
"name": "mcp-redash",
"source": "./plugins/mcp-redash",
"source": "./plugins/mcp/claude/mcp-redash",
"description": "Redash MCP server with multi-environment support (arbitrary suffix)"
},
{
"name": "mcp-markitdown",
"source": "./plugins/mcp-markitdown",
"source": "./plugins/mcp/claude/mcp-markitdown",
"description": "MarkItDown MCP server for converting documents (PDF, Office, images, etc.) to Markdown"
},
{
"name": "mcp-serena",
"source": "./plugins/mcp-serena",
"source": "./plugins/mcp/claude/mcp-serena",
"description": "Serena MCP server for semantic code intelligence (symbol search, reference search, refactoring)"
}
]
Expand Down
14 changes: 14 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="$(git rev-parse --show-toplevel)"

bash "$ROOT_DIR/scripts/build-runtime-plugins.sh" --check

generated_paths='^(plugins/ndf-claude|plugins/ndf-codex|plugins/ndf-kiro|plugins/mcp/claude|plugins/mcp/codex|plugins/mcp/kiro)/'
unstaged_generated="$(git -C "$ROOT_DIR" diff --name-only | grep -E "$generated_paths" || true)"
if [ -n "$unstaged_generated" ]; then
echo "Generated runtime files have unstaged changes. Run build and git add the generated files:" >&2
echo "$unstaged_generated" >&2
exit 1
fi
6 changes: 6 additions & 0 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="$(git rev-parse --show-toplevel)"

bash "$ROOT_DIR/scripts/validate-runtime-plugins.sh"
45 changes: 45 additions & 0 deletions .github/workflows/runtime-plugin-authenticated-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Runtime plugin authenticated smoke

on:
workflow_dispatch:
inputs:
runtime:
description: Runtime to test
required: true
default: all
type: choice
options:
- all
- claude
- codex
- kiro

jobs:
authenticated-smoke:
runs-on: ubuntu-latest
environment: runtime-smoke
steps:
- uses: actions/checkout@v4
- name: Run authenticated runtime smoke
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
BIGQUERY_PROJECT: ${{ secrets.BIGQUERY_PROJECT }}
BIGQUERY_LOCATION: ${{ secrets.BIGQUERY_LOCATION }}
BIGQUERY_DATASET: ${{ secrets.BIGQUERY_DATASET }}
BIGQUERY_KEY_FILE_JSON: ${{ secrets.BIGQUERY_KEY_FILE_JSON }}
run: |
extra_args=()
if [ -n "$BIGQUERY_KEY_FILE_JSON" ]; then
mkdir -p tmp/runtime-smoke-secrets
export BIGQUERY_KEY_FILE="$PWD/tmp/runtime-smoke-secrets/bigquery-key-file.json"
printf '%s' "$BIGQUERY_KEY_FILE_JSON" > "$BIGQUERY_KEY_FILE"
extra_args+=(--secret-file "bigquery-key-file=$BIGQUERY_KEY_FILE")
fi
bash scripts/runtime-smoke-test.sh --runtime "${{ inputs.runtime }}" --with-secrets=auto "${extra_args[@]}"
- name: Upload smoke artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: runtime-smoke-authenticated
path: tmp/runtime-smoke
37 changes: 37 additions & 0 deletions .github/workflows/runtime-plugin-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Runtime plugin smoke

on:
pull_request:
paths:
- "plugins/**"
- "scripts/runtime-smoke-test.sh"
- "tests/runtime-smoke/**"
- ".github/workflows/runtime-plugin-smoke.yml"
- ".github/workflows/runtime-plugin-authenticated-smoke.yml"
push:
branches:
- main
- "release/**"
paths:
- "plugins/**"
- "scripts/runtime-smoke-test.sh"
- "tests/runtime-smoke/**"
- ".github/workflows/runtime-plugin-smoke.yml"

jobs:
runtime-smoke:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
runtime: [claude, codex, kiro]
steps:
- uses: actions/checkout@v4
- name: Run unauthenticated runtime smoke
run: bash scripts/runtime-smoke-test.sh --runtime "${{ matrix.runtime }}" --with-secrets=off
- name: Upload smoke artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: runtime-smoke-${{ matrix.runtime }}
path: tmp/runtime-smoke/${{ matrix.runtime }}
Loading
Loading