maven-central-mcp-temp 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +54 -0
- package/.github/ISSUE_TEMPLATE/bug_report.yml +41 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +36 -0
- package/.github/pull_request_template.md +19 -0
- package/.github/release.yml +29 -0
- package/.github/workflows/ci.yml +225 -0
- package/.github/workflows/release.yml +77 -0
- package/26555_process.log +8 -0
- package/CLAUDE.md +52 -0
- package/LICENSE.md +21 -0
- package/README.md +89 -0
- package/language.json +1 -0
- package/package.json +6 -0
- package/package_name +1 -0
- package/plugins/developer-workflow/.claude-plugin/plugin.json +6 -0
- package/plugins/developer-workflow/README.md +157 -0
- package/plugins/developer-workflow/agents/architecture-expert.md +87 -0
- package/plugins/developer-workflow/agents/build-engineer.md +102 -0
- package/plugins/developer-workflow/agents/business-analyst.md +103 -0
- package/plugins/developer-workflow/agents/compose-developer.md +672 -0
- package/plugins/developer-workflow/agents/devops-expert.md +108 -0
- package/plugins/developer-workflow/agents/kotlin-engineer.md +661 -0
- package/plugins/developer-workflow/agents/manual-tester.md +387 -0
- package/plugins/developer-workflow/agents/performance-expert.md +120 -0
- package/plugins/developer-workflow/agents/references/coroutines.md +271 -0
- package/plugins/developer-workflow/agents/security-expert.md +137 -0
- package/plugins/developer-workflow/agents/ux-expert.md +107 -0
- package/plugins/developer-workflow/skills/code-migration/SKILL.md +161 -0
- package/plugins/developer-workflow/skills/code-migration/migration-checklist.md +47 -0
- package/plugins/developer-workflow/skills/code-migration/references/snapshot-and-verify.md +107 -0
- package/plugins/developer-workflow/skills/code-migration/references/strategies.md +148 -0
- package/plugins/developer-workflow/skills/create-pr/SKILL.md +255 -0
- package/plugins/developer-workflow/skills/exploratory-test/SKILL.md +228 -0
- package/plugins/developer-workflow/skills/exploratory-test/evals/evals.json +23 -0
- package/plugins/developer-workflow/skills/exploratory-test/evals/trigger-eval.json +22 -0
- package/plugins/developer-workflow/skills/generate-test-plan/SKILL.md +212 -0
- package/plugins/developer-workflow/skills/generate-test-plan/evals/evals.json +23 -0
- package/plugins/developer-workflow/skills/generate-test-plan/evals/trigger-eval.json +22 -0
- package/plugins/developer-workflow/skills/implement-task/SKILL.md +123 -0
- package/plugins/developer-workflow/skills/kmp-migration/SKILL.md +145 -0
- package/plugins/developer-workflow/skills/kmp-migration/references/migration-steps.md +215 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/SKILL.md +141 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/evals/evals.json +32 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/evals/fixtures/eval-1-fragment/OrderListFragment.kt +69 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/evals/fixtures/eval-1-fragment/OrderListViewModel.kt +62 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/evals/fixtures/eval-1-fragment/fragment_order_list.xml +38 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/evals/fixtures/eval-2-activity/LoginActivity.kt +72 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/evals/fixtures/eval-2-activity/activity_login.xml +78 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/evals/fixtures/eval-3-custom-view/RatingBarView.kt +127 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/references/custom-view-migration.md +139 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/references/discovery-and-patterns.md +151 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/references/migration-and-verify.md +300 -0
- package/plugins/developer-workflow/skills/migrate-to-compose/references/view-to-compose-mapping.md +86 -0
- package/plugins/developer-workflow/skills/plan-review/SKILL.md +342 -0
- package/plugins/developer-workflow/skills/pr-drive-to-merge/SKILL.md +307 -0
- package/plugins/developer-workflow/skills/prepare-for-pr/SKILL.md +147 -0
- package/plugins/developer-workflow/skills/test-feature/SKILL.md +180 -0
- package/plugins/extend/.claude-plugin/plugin.json +6 -0
- package/plugins/extend/skills/agent-reviewer/SKILL.md +170 -0
- package/plugins/extend/skills/agent-reviewer/references/frontmatter-reference.md +62 -0
- package/plugins/maven-mcp/CLAUDE.md +102 -0
- package/plugins/maven-mcp/README.md +64 -0
- package/plugins/maven-mcp/eslint.config.js +10 -0
- package/plugins/maven-mcp/package.json +48 -0
- package/plugins/maven-mcp/plugin/.claude-plugin/plugin.json +12 -0
- package/plugins/maven-mcp/plugin/hooks/hooks.json +15 -0
- package/plugins/maven-mcp/plugin/hooks/post-edit-deps.sh +28 -0
- package/plugins/maven-mcp/plugin/skills/check-deps/SKILL.md +84 -0
- package/plugins/maven-mcp/plugin/skills/dependency-changes/SKILL.md +67 -0
- package/plugins/maven-mcp/plugin/skills/latest-version/SKILL.md +37 -0
- package/plugins/maven-mcp/src/agp/__tests__/release-notes-parser.test.ts +77 -0
- package/plugins/maven-mcp/src/agp/__tests__/url.test.ts +50 -0
- package/plugins/maven-mcp/src/agp/release-notes-parser.ts +35 -0
- package/plugins/maven-mcp/src/agp/url.ts +20 -0
- package/plugins/maven-mcp/src/androidx/__tests__/release-notes-parser.test.ts +105 -0
- package/plugins/maven-mcp/src/androidx/__tests__/url.test.ts +54 -0
- package/plugins/maven-mcp/src/androidx/release-notes-parser.ts +35 -0
- package/plugins/maven-mcp/src/androidx/url.ts +18 -0
- package/plugins/maven-mcp/src/cache/__tests__/file-cache.test.ts +139 -0
- package/plugins/maven-mcp/src/cache/file-cache.ts +60 -0
- package/plugins/maven-mcp/src/changelog/__tests__/agp-provider.test.ts +78 -0
- package/plugins/maven-mcp/src/changelog/__tests__/androidx-provider.test.ts +89 -0
- package/plugins/maven-mcp/src/changelog/__tests__/github-provider.test.ts +97 -0
- package/plugins/maven-mcp/src/changelog/__tests__/resolver.test.ts +73 -0
- package/plugins/maven-mcp/src/changelog/agp-provider.ts +69 -0
- package/plugins/maven-mcp/src/changelog/androidx-provider.ts +62 -0
- package/plugins/maven-mcp/src/changelog/github-provider.ts +100 -0
- package/plugins/maven-mcp/src/changelog/resolver.ts +22 -0
- package/plugins/maven-mcp/src/changelog/types.ts +22 -0
- package/plugins/maven-mcp/src/dependencies/__tests__/gradle-deps-parser.test.ts +59 -0
- package/plugins/maven-mcp/src/dependencies/__tests__/maven-deps-parser.test.ts +53 -0
- package/plugins/maven-mcp/src/dependencies/__tests__/scan.test.ts +70 -0
- package/plugins/maven-mcp/src/dependencies/__tests__/toml-parser.test.ts +63 -0
- package/plugins/maven-mcp/src/dependencies/gradle-deps-parser.ts +52 -0
- package/plugins/maven-mcp/src/dependencies/maven-deps-parser.ts +38 -0
- package/plugins/maven-mcp/src/dependencies/scan.ts +80 -0
- package/plugins/maven-mcp/src/dependencies/toml-parser.ts +60 -0
- package/plugins/maven-mcp/src/discovery/__tests__/discover.test.ts +130 -0
- package/plugins/maven-mcp/src/discovery/__tests__/gradle-parser.test.ts +147 -0
- package/plugins/maven-mcp/src/discovery/__tests__/maven-parser.test.ts +71 -0
- package/plugins/maven-mcp/src/discovery/discover.ts +61 -0
- package/plugins/maven-mcp/src/discovery/gradle-parser.ts +47 -0
- package/plugins/maven-mcp/src/discovery/maven-parser.ts +19 -0
- package/plugins/maven-mcp/src/discovery/types.ts +10 -0
- package/plugins/maven-mcp/src/github/__tests__/changelog-parser.test.ts +121 -0
- package/plugins/maven-mcp/src/github/__tests__/discover-repo.test.ts +210 -0
- package/plugins/maven-mcp/src/github/__tests__/github-client.test.ts +191 -0
- package/plugins/maven-mcp/src/github/__tests__/guess-repo.test.ts +40 -0
- package/plugins/maven-mcp/src/github/__tests__/pom-scm.test.ts +148 -0
- package/plugins/maven-mcp/src/github/__tests__/tag-matcher.test.ts +73 -0
- package/plugins/maven-mcp/src/github/changelog-parser.ts +33 -0
- package/plugins/maven-mcp/src/github/discover-repo.ts +40 -0
- package/plugins/maven-mcp/src/github/github-client.ts +76 -0
- package/plugins/maven-mcp/src/github/guess-repo.ts +17 -0
- package/plugins/maven-mcp/src/github/pom-scm.ts +83 -0
- package/plugins/maven-mcp/src/github/tag-matcher.ts +44 -0
- package/plugins/maven-mcp/src/html/__tests__/to-text.test.ts +32 -0
- package/plugins/maven-mcp/src/html/to-text.ts +29 -0
- package/plugins/maven-mcp/src/index.ts +191 -0
- package/plugins/maven-mcp/src/maven/__tests__/repository.test.ts +62 -0
- package/plugins/maven-mcp/src/maven/__tests__/resolver.test.ts +142 -0
- package/plugins/maven-mcp/src/maven/repository.ts +70 -0
- package/plugins/maven-mcp/src/maven/resolver.ts +88 -0
- package/plugins/maven-mcp/src/maven/types.ts +8 -0
- package/plugins/maven-mcp/src/project/__tests__/find-project-root.test.ts +59 -0
- package/plugins/maven-mcp/src/project/find-project-root.ts +28 -0
- package/plugins/maven-mcp/src/search/__tests__/maven-search.test.ts +51 -0
- package/plugins/maven-mcp/src/search/maven-search.ts +42 -0
- package/plugins/maven-mcp/src/tools/__tests__/audit-project-dependencies.test.ts +232 -0
- package/plugins/maven-mcp/src/tools/__tests__/check-multiple-dependencies.test.ts +34 -0
- package/plugins/maven-mcp/src/tools/__tests__/check-version-exists.test.ts +82 -0
- package/plugins/maven-mcp/src/tools/__tests__/compare-dependency-versions.test.ts +35 -0
- package/plugins/maven-mcp/src/tools/__tests__/get-dependency-changes.test.ts +228 -0
- package/plugins/maven-mcp/src/tools/__tests__/get-dependency-vulnerabilities.test.ts +33 -0
- package/plugins/maven-mcp/src/tools/__tests__/get-latest-version.test.ts +74 -0
- package/plugins/maven-mcp/src/tools/__tests__/scan-project-dependencies.test.ts +23 -0
- package/plugins/maven-mcp/src/tools/__tests__/search-artifacts.test.ts +24 -0
- package/plugins/maven-mcp/src/tools/audit-project-dependencies.ts +132 -0
- package/plugins/maven-mcp/src/tools/check-multiple-dependencies.ts +54 -0
- package/plugins/maven-mcp/src/tools/check-version-exists.ts +47 -0
- package/plugins/maven-mcp/src/tools/compare-dependency-versions.ts +76 -0
- package/plugins/maven-mcp/src/tools/get-dependency-changes.ts +98 -0
- package/plugins/maven-mcp/src/tools/get-dependency-vulnerabilities.ts +27 -0
- package/plugins/maven-mcp/src/tools/get-latest-version.ts +41 -0
- package/plugins/maven-mcp/src/tools/scan-project-dependencies.ts +11 -0
- package/plugins/maven-mcp/src/tools/search-artifacts.ts +17 -0
- package/plugins/maven-mcp/src/version/__tests__/classify.test.ts +81 -0
- package/plugins/maven-mcp/src/version/__tests__/compare.test.ts +30 -0
- package/plugins/maven-mcp/src/version/__tests__/range.test.ts +34 -0
- package/plugins/maven-mcp/src/version/classify.ts +59 -0
- package/plugins/maven-mcp/src/version/compare.ts +22 -0
- package/plugins/maven-mcp/src/version/range.ts +20 -0
- package/plugins/maven-mcp/src/version/types.ts +10 -0
- package/plugins/maven-mcp/src/vulnerabilities/__tests__/osv-client.test.ts +75 -0
- package/plugins/maven-mcp/src/vulnerabilities/osv-client.ts +136 -0
- package/plugins/maven-mcp/tsconfig.json +15 -0
- package/plugins/maven-mcp/vitest.config.ts +7 -0
- package/plugins/sensitive-guard/.claude-plugin/plugin.json +5 -0
- package/plugins/sensitive-guard/README.md +110 -0
- package/plugins/sensitive-guard/config/default-config.json +19 -0
- package/plugins/sensitive-guard/config/default-pii-patterns.json +8 -0
- package/plugins/sensitive-guard/hooks/hooks.json +15 -0
- package/plugins/sensitive-guard/hooks/pre-tool-use.sh +59 -0
- package/plugins/sensitive-guard/src/allowlist.sh +115 -0
- package/plugins/sensitive-guard/src/bash-parser.sh +117 -0
- package/plugins/sensitive-guard/src/config.sh +98 -0
- package/plugins/sensitive-guard/src/gitleaks-runner.sh +79 -0
- package/plugins/sensitive-guard/src/pii-detector.sh +77 -0
- package/plugins/sensitive-guard/src/prompt.sh +71 -0
- package/plugins/sensitive-guard/src/scanner.sh +162 -0
- package/plugins/sensitive-guard/src/utils.sh +75 -0
- package/plugins/sensitive-guard/tests/fixtures/clean-file.txt +5 -0
- package/plugins/sensitive-guard/tests/fixtures/pii-file.txt +8 -0
- package/plugins/sensitive-guard/tests/fixtures/project-config.json +6 -0
- package/plugins/sensitive-guard/tests/fixtures/sample-allowlist.json +8 -0
- package/plugins/sensitive-guard/tests/fixtures/sample-config.json +9 -0
- package/plugins/sensitive-guard/tests/run-tests.sh +22 -0
- package/plugins/sensitive-guard/tests/test-allowlist.sh +66 -0
- package/plugins/sensitive-guard/tests/test-bash-parser.sh +77 -0
- package/plugins/sensitive-guard/tests/test-config.sh +70 -0
- package/plugins/sensitive-guard/tests/test-gitleaks-runner.sh +72 -0
- package/plugins/sensitive-guard/tests/test-integration.sh +115 -0
- package/plugins/sensitive-guard/tests/test-pii-detector.sh +75 -0
- package/plugins/sensitive-guard/tests/test-prompt.sh +37 -0
- package/plugins/sensitive-guard/tests/test-scanner.sh +53 -0
- package/plugins/sensitive-guard/tests/test-shared-utils.sh +50 -0
- package/plugins/sensitive-guard/tests/test-utils.sh +71 -0
- package/push_info.json +5 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "krozov-ai-tools",
|
|
4
|
+
"description": "Claude Code plugins by krozov",
|
|
5
|
+
"owner": {
|
|
6
|
+
"name": "kirich1409"
|
|
7
|
+
},
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "maven-mcp",
|
|
11
|
+
"description": "Maven dependency intelligence — auto-registers MCP server, provides /check-deps, /latest-version, and /dependency-changes skills",
|
|
12
|
+
"author": {
|
|
13
|
+
"name": "kirich1409"
|
|
14
|
+
},
|
|
15
|
+
"version": "0.6.0",
|
|
16
|
+
"category": "development",
|
|
17
|
+
"homepage": "https://github.com/kirich1409/krozov-ai-tools",
|
|
18
|
+
"source": "./plugins/maven-mcp/plugin"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "sensitive-guard",
|
|
22
|
+
"description": "Prevents sensitive data (secrets, PII) from reaching AI servers by scanning files before they are read into conversation",
|
|
23
|
+
"author": {
|
|
24
|
+
"name": "kirich1409"
|
|
25
|
+
},
|
|
26
|
+
"version": "0.6.0",
|
|
27
|
+
"category": "security",
|
|
28
|
+
"homepage": "https://github.com/kirich1409/krozov-ai-tools",
|
|
29
|
+
"source": "./plugins/sensitive-guard"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "developer-workflow",
|
|
33
|
+
"description": "Developer workflow skills — safe code migration, PR preparation, and full PR lifecycle through CI/CD and code review",
|
|
34
|
+
"author": {
|
|
35
|
+
"name": "kirich1409"
|
|
36
|
+
},
|
|
37
|
+
"version": "0.6.0",
|
|
38
|
+
"category": "development",
|
|
39
|
+
"homepage": "https://github.com/kirich1409/krozov-ai-tools",
|
|
40
|
+
"source": "./plugins/developer-workflow"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "extend",
|
|
44
|
+
"description": "Extend Claude Code built-in features: agent review, skill optimization, configuration audit",
|
|
45
|
+
"author": {
|
|
46
|
+
"name": "kirich1409"
|
|
47
|
+
},
|
|
48
|
+
"version": "0.6.0",
|
|
49
|
+
"category": "development",
|
|
50
|
+
"homepage": "https://github.com/kirich1409/krozov-ai-tools",
|
|
51
|
+
"source": "./plugins/extend"
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Something isn't working as expected
|
|
3
|
+
labels: ["bug"]
|
|
4
|
+
body:
|
|
5
|
+
- type: dropdown
|
|
6
|
+
id: plugin
|
|
7
|
+
attributes:
|
|
8
|
+
label: Plugin
|
|
9
|
+
options:
|
|
10
|
+
- maven-mcp
|
|
11
|
+
- sensitive-guard
|
|
12
|
+
- developer-workflow
|
|
13
|
+
validations:
|
|
14
|
+
required: true
|
|
15
|
+
|
|
16
|
+
- type: textarea
|
|
17
|
+
id: description
|
|
18
|
+
attributes:
|
|
19
|
+
label: Description
|
|
20
|
+
description: What happened? What did you expect?
|
|
21
|
+
validations:
|
|
22
|
+
required: true
|
|
23
|
+
|
|
24
|
+
- type: textarea
|
|
25
|
+
id: reproduction
|
|
26
|
+
attributes:
|
|
27
|
+
label: Steps to Reproduce
|
|
28
|
+
placeholder: |
|
|
29
|
+
1. ...
|
|
30
|
+
2. ...
|
|
31
|
+
validations:
|
|
32
|
+
required: true
|
|
33
|
+
|
|
34
|
+
- type: textarea
|
|
35
|
+
id: environment
|
|
36
|
+
attributes:
|
|
37
|
+
label: Environment
|
|
38
|
+
placeholder: |
|
|
39
|
+
- Claude Code version:
|
|
40
|
+
- Plugin version:
|
|
41
|
+
- OS:
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest an idea or improvement
|
|
3
|
+
labels: ["enhancement"]
|
|
4
|
+
body:
|
|
5
|
+
- type: dropdown
|
|
6
|
+
id: plugin
|
|
7
|
+
attributes:
|
|
8
|
+
label: Plugin
|
|
9
|
+
options:
|
|
10
|
+
- maven-mcp
|
|
11
|
+
- sensitive-guard
|
|
12
|
+
- developer-workflow
|
|
13
|
+
- new plugin
|
|
14
|
+
validations:
|
|
15
|
+
required: true
|
|
16
|
+
|
|
17
|
+
- type: textarea
|
|
18
|
+
id: problem
|
|
19
|
+
attributes:
|
|
20
|
+
label: Problem
|
|
21
|
+
description: What problem does this solve?
|
|
22
|
+
validations:
|
|
23
|
+
required: true
|
|
24
|
+
|
|
25
|
+
- type: textarea
|
|
26
|
+
id: solution
|
|
27
|
+
attributes:
|
|
28
|
+
label: Proposed Solution
|
|
29
|
+
description: What would you like to happen?
|
|
30
|
+
validations:
|
|
31
|
+
required: true
|
|
32
|
+
|
|
33
|
+
- type: textarea
|
|
34
|
+
id: alternatives
|
|
35
|
+
attributes:
|
|
36
|
+
label: Alternatives Considered
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
<!-- What does this PR do? Why? -->
|
|
4
|
+
|
|
5
|
+
## Changes
|
|
6
|
+
|
|
7
|
+
<!-- Key files/components changed -->
|
|
8
|
+
|
|
9
|
+
## Testing
|
|
10
|
+
|
|
11
|
+
<!-- How was this tested? -->
|
|
12
|
+
|
|
13
|
+
## Checklist
|
|
14
|
+
|
|
15
|
+
- [ ] Build passes (`npm run build`)
|
|
16
|
+
- [ ] Tests pass (`npm test`)
|
|
17
|
+
- [ ] Lint passes (`npm run lint`)
|
|
18
|
+
- [ ] Version bumped if releasing (both `package.json` and `plugin.json`)
|
|
19
|
+
- [ ] `marketplace.json` updated if plugin version changed
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
changelog:
|
|
2
|
+
exclude:
|
|
3
|
+
labels:
|
|
4
|
+
- skip-changelog
|
|
5
|
+
categories:
|
|
6
|
+
- title: "New Features"
|
|
7
|
+
labels:
|
|
8
|
+
- feat
|
|
9
|
+
- feature
|
|
10
|
+
- enhancement
|
|
11
|
+
- title: "Bug Fixes"
|
|
12
|
+
labels:
|
|
13
|
+
- fix
|
|
14
|
+
- bug
|
|
15
|
+
- bugfix
|
|
16
|
+
- title: "Documentation"
|
|
17
|
+
labels:
|
|
18
|
+
- docs
|
|
19
|
+
- documentation
|
|
20
|
+
- title: "Maintenance"
|
|
21
|
+
labels:
|
|
22
|
+
- chore
|
|
23
|
+
- refactor
|
|
24
|
+
- ci
|
|
25
|
+
- build
|
|
26
|
+
- title: "Dependencies"
|
|
27
|
+
labels:
|
|
28
|
+
- dependencies
|
|
29
|
+
- deps
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
validate-marketplace:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
|
|
15
|
+
- name: Check no duplicate plugin names in marketplace.json
|
|
16
|
+
run: |
|
|
17
|
+
set -euo pipefail
|
|
18
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
19
|
+
DUPES=$(jq -r '[.plugins[].name] | group_by(.) | map(select(length > 1) | .[0]) | .[]' "$MARKETPLACE")
|
|
20
|
+
if [ -n "$DUPES" ]; then
|
|
21
|
+
echo "ERROR: Duplicate plugin names in marketplace.json: $DUPES"
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
echo "OK: no duplicate names"
|
|
25
|
+
|
|
26
|
+
- name: Check all plugins/ directories are registered in marketplace.json
|
|
27
|
+
run: |
|
|
28
|
+
set -euo pipefail
|
|
29
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
30
|
+
REGISTERED=$(jq -r '.plugins[].name' "$MARKETPLACE")
|
|
31
|
+
MISSING=0
|
|
32
|
+
for dir in plugins/*/; do
|
|
33
|
+
name=$(basename "$dir")
|
|
34
|
+
if ! echo "$REGISTERED" | grep -Fxq "$name"; then
|
|
35
|
+
echo "ERROR: '$name' is in plugins/ but missing from $MARKETPLACE"
|
|
36
|
+
MISSING=1
|
|
37
|
+
fi
|
|
38
|
+
done
|
|
39
|
+
exit "$MISSING"
|
|
40
|
+
|
|
41
|
+
- name: Check all marketplace.json entries have a plugins/ directory
|
|
42
|
+
run: |
|
|
43
|
+
set -euo pipefail
|
|
44
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
45
|
+
MISSING=0
|
|
46
|
+
while IFS= read -r name; do
|
|
47
|
+
if [ ! -d "plugins/$name" ]; then
|
|
48
|
+
echo "ERROR: marketplace.json has '$name' but plugins/$name/ does not exist"
|
|
49
|
+
MISSING=1
|
|
50
|
+
else
|
|
51
|
+
echo "OK: plugins/$name/"
|
|
52
|
+
fi
|
|
53
|
+
done < <(jq -r '.plugins[].name' "$MARKETPLACE")
|
|
54
|
+
exit "$MISSING"
|
|
55
|
+
|
|
56
|
+
- name: Check source paths exist
|
|
57
|
+
run: |
|
|
58
|
+
set -euo pipefail
|
|
59
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
60
|
+
MISSING=0
|
|
61
|
+
while IFS=$'\t' read -r name source; do
|
|
62
|
+
if [ ! -d "$source" ]; then
|
|
63
|
+
echo "ERROR: '$name' source path does not exist: $source"
|
|
64
|
+
MISSING=1
|
|
65
|
+
else
|
|
66
|
+
echo "OK: '$name' source $source"
|
|
67
|
+
fi
|
|
68
|
+
done < <(jq -r '.plugins[] | [.name, .source] | @tsv' "$MARKETPLACE")
|
|
69
|
+
exit "$MISSING"
|
|
70
|
+
|
|
71
|
+
- name: Check plugin.json name matches marketplace.json name
|
|
72
|
+
run: |
|
|
73
|
+
set -euo pipefail
|
|
74
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
75
|
+
MISMATCH=0
|
|
76
|
+
while IFS=$'\t' read -r name source; do
|
|
77
|
+
plugin_json="${source}/.claude-plugin/plugin.json"
|
|
78
|
+
[ -f "$plugin_json" ] || continue
|
|
79
|
+
plugin_name=$(jq -r '.name' "$plugin_json")
|
|
80
|
+
if [ "$name" != "$plugin_name" ]; then
|
|
81
|
+
echo "ERROR: '$name' name mismatch: marketplace.json=$name, plugin.json=$plugin_name"
|
|
82
|
+
MISMATCH=1
|
|
83
|
+
else
|
|
84
|
+
echo "OK: '$name' name consistent"
|
|
85
|
+
fi
|
|
86
|
+
done < <(jq -r '.plugins[] | [.name, .source] | @tsv' "$MARKETPLACE")
|
|
87
|
+
exit "$MISMATCH"
|
|
88
|
+
|
|
89
|
+
- name: Check marketplace.json versions match plugin.json versions
|
|
90
|
+
run: |
|
|
91
|
+
set -euo pipefail
|
|
92
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
93
|
+
MISMATCH=0
|
|
94
|
+
while IFS=$'\t' read -r name version source; do
|
|
95
|
+
plugin_json="${source}/.claude-plugin/plugin.json"
|
|
96
|
+
if [ ! -f "$plugin_json" ]; then
|
|
97
|
+
echo "ERROR: '$name' plugin.json not found at $plugin_json"
|
|
98
|
+
MISMATCH=1
|
|
99
|
+
continue
|
|
100
|
+
fi
|
|
101
|
+
plugin_version=$(jq -r '.version' "$plugin_json")
|
|
102
|
+
if [ "$version" != "$plugin_version" ]; then
|
|
103
|
+
echo "ERROR: '$name' version mismatch: marketplace.json=$version, plugin.json=$plugin_version"
|
|
104
|
+
MISMATCH=1
|
|
105
|
+
else
|
|
106
|
+
echo "OK: '$name' version $version"
|
|
107
|
+
fi
|
|
108
|
+
done < <(jq -r '.plugins[] | [.name, .version, .source] | @tsv' "$MARKETPLACE")
|
|
109
|
+
exit "$MISMATCH"
|
|
110
|
+
|
|
111
|
+
- name: Check all versions are valid semver (x.y.z)
|
|
112
|
+
run: |
|
|
113
|
+
set -euo pipefail
|
|
114
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
115
|
+
SEMVER='^[0-9]+\.[0-9]+\.[0-9]+$'
|
|
116
|
+
INVALID=0
|
|
117
|
+
while IFS=$'\t' read -r name version source; do
|
|
118
|
+
if ! echo "$version" | grep -qE "$SEMVER"; then
|
|
119
|
+
echo "ERROR: '$name' marketplace.json version is not semver: $version"
|
|
120
|
+
INVALID=1
|
|
121
|
+
fi
|
|
122
|
+
plugin_json="${source}/.claude-plugin/plugin.json"
|
|
123
|
+
if [ -f "$plugin_json" ]; then
|
|
124
|
+
plugin_version=$(jq -r '.version' "$plugin_json")
|
|
125
|
+
if ! echo "$plugin_version" | grep -qE "$SEMVER"; then
|
|
126
|
+
echo "ERROR: '$name' plugin.json version is not semver: $plugin_version"
|
|
127
|
+
INVALID=1
|
|
128
|
+
fi
|
|
129
|
+
fi
|
|
130
|
+
done < <(jq -r '.plugins[] | [.name, .version, .source] | @tsv' "$MARKETPLACE")
|
|
131
|
+
exit "$INVALID"
|
|
132
|
+
|
|
133
|
+
- name: Check skills directories exist
|
|
134
|
+
run: |
|
|
135
|
+
set -euo pipefail
|
|
136
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
137
|
+
MISSING=0
|
|
138
|
+
while IFS=$'\t' read -r name source; do
|
|
139
|
+
plugin_json="${source}/.claude-plugin/plugin.json"
|
|
140
|
+
[ -f "$plugin_json" ] || continue
|
|
141
|
+
skills_rel=$(jq -r '.skills // empty' "$plugin_json")
|
|
142
|
+
[ -n "$skills_rel" ] || continue
|
|
143
|
+
skills_path="${source}/${skills_rel#./}"
|
|
144
|
+
if [ ! -d "$skills_path" ]; then
|
|
145
|
+
echo "ERROR: '$name' skills path does not exist: $skills_path"
|
|
146
|
+
MISSING=1
|
|
147
|
+
else
|
|
148
|
+
echo "OK: '$name' skills at $skills_path"
|
|
149
|
+
fi
|
|
150
|
+
done < <(jq -r '.plugins[] | [.name, .source] | @tsv' "$MARKETPLACE")
|
|
151
|
+
exit "$MISSING"
|
|
152
|
+
|
|
153
|
+
- name: Check agents directories exist
|
|
154
|
+
run: |
|
|
155
|
+
set -euo pipefail
|
|
156
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
157
|
+
MISSING=0
|
|
158
|
+
while IFS=$'\t' read -r name source; do
|
|
159
|
+
plugin_json="${source}/.claude-plugin/plugin.json"
|
|
160
|
+
[ -f "$plugin_json" ] || continue
|
|
161
|
+
agents_rel=$(jq -r '.agents // empty' "$plugin_json")
|
|
162
|
+
[ -n "$agents_rel" ] || continue
|
|
163
|
+
agents_path="${source}/${agents_rel#./}"
|
|
164
|
+
if [ ! -d "$agents_path" ]; then
|
|
165
|
+
echo "ERROR: '$name' agents path does not exist: $agents_path"
|
|
166
|
+
MISSING=1
|
|
167
|
+
else
|
|
168
|
+
echo "OK: '$name' agents at $agents_path"
|
|
169
|
+
fi
|
|
170
|
+
done < <(jq -r '.plugins[] | [.name, .source] | @tsv' "$MARKETPLACE")
|
|
171
|
+
exit "$MISSING"
|
|
172
|
+
|
|
173
|
+
- name: Check hook scripts are executable
|
|
174
|
+
run: |
|
|
175
|
+
set -euo pipefail
|
|
176
|
+
MARKETPLACE=".claude-plugin/marketplace.json"
|
|
177
|
+
ERRORS=0
|
|
178
|
+
while IFS=$'\t' read -r name source; do
|
|
179
|
+
hooks_dir="${source}/hooks"
|
|
180
|
+
[ -d "$hooks_dir" ] || continue
|
|
181
|
+
while IFS= read -r script; do
|
|
182
|
+
if [ ! -x "$script" ]; then
|
|
183
|
+
echo "ERROR: '$name' hook script is not executable: $script"
|
|
184
|
+
ERRORS=1
|
|
185
|
+
else
|
|
186
|
+
echo "OK: '$name' $(basename "$script") is executable"
|
|
187
|
+
fi
|
|
188
|
+
done < <(find "$hooks_dir" -name "*.sh")
|
|
189
|
+
done < <(jq -r '.plugins[] | [.name, .source] | @tsv' "$MARKETPLACE")
|
|
190
|
+
exit "$ERRORS"
|
|
191
|
+
|
|
192
|
+
build:
|
|
193
|
+
runs-on: ubuntu-latest
|
|
194
|
+
defaults:
|
|
195
|
+
run:
|
|
196
|
+
working-directory: plugins/maven-mcp
|
|
197
|
+
strategy:
|
|
198
|
+
matrix:
|
|
199
|
+
node-version: [20, 22]
|
|
200
|
+
|
|
201
|
+
steps:
|
|
202
|
+
- uses: actions/checkout@v4
|
|
203
|
+
|
|
204
|
+
- name: Setup Node.js ${{ matrix.node-version }}
|
|
205
|
+
uses: actions/setup-node@v4
|
|
206
|
+
with:
|
|
207
|
+
node-version: ${{ matrix.node-version }}
|
|
208
|
+
cache: npm
|
|
209
|
+
cache-dependency-path: plugins/maven-mcp/package-lock.json
|
|
210
|
+
|
|
211
|
+
- name: Verify package.json version matches plugin.json version
|
|
212
|
+
run: |
|
|
213
|
+
set -euo pipefail
|
|
214
|
+
PKG_VERSION=$(node -p 'require("./package.json").version')
|
|
215
|
+
PLUGIN_VERSION=$(jq -r '.version' plugin/.claude-plugin/plugin.json)
|
|
216
|
+
if [ "$PKG_VERSION" != "$PLUGIN_VERSION" ]; then
|
|
217
|
+
echo "::error::package.json version ($PKG_VERSION) does not match plugin.json version ($PLUGIN_VERSION)"
|
|
218
|
+
exit 1
|
|
219
|
+
fi
|
|
220
|
+
echo "OK: version $PKG_VERSION"
|
|
221
|
+
|
|
222
|
+
- run: npm ci
|
|
223
|
+
- run: npm run lint
|
|
224
|
+
- run: npm test
|
|
225
|
+
- run: npm run build
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
environment: NPM Publishing
|
|
11
|
+
defaults:
|
|
12
|
+
run:
|
|
13
|
+
working-directory: plugins/maven-mcp
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Setup Node.js
|
|
22
|
+
uses: actions/setup-node@v4
|
|
23
|
+
with:
|
|
24
|
+
node-version: 22
|
|
25
|
+
cache: npm
|
|
26
|
+
cache-dependency-path: plugins/maven-mcp/package-lock.json
|
|
27
|
+
registry-url: https://registry.npmjs.org
|
|
28
|
+
|
|
29
|
+
- name: Verify all versions match tag
|
|
30
|
+
working-directory: .
|
|
31
|
+
run: |
|
|
32
|
+
TAG="${{ github.ref_name }}"
|
|
33
|
+
VERSION="${TAG#v}"
|
|
34
|
+
ERRORS=0
|
|
35
|
+
|
|
36
|
+
check() {
|
|
37
|
+
FILE="$1"
|
|
38
|
+
ACTUAL=$(node -p "require('./$FILE').version")
|
|
39
|
+
if [ "$ACTUAL" != "$VERSION" ]; then
|
|
40
|
+
echo "::error::$FILE version \"$ACTUAL\" does not match tag $TAG"
|
|
41
|
+
ERRORS=$((ERRORS + 1))
|
|
42
|
+
fi
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
check plugins/maven-mcp/package.json
|
|
46
|
+
check plugins/maven-mcp/plugin/.claude-plugin/plugin.json
|
|
47
|
+
check plugins/sensitive-guard/.claude-plugin/plugin.json
|
|
48
|
+
check plugins/developer-workflow/.claude-plugin/plugin.json
|
|
49
|
+
|
|
50
|
+
# Check all plugin versions in marketplace.json
|
|
51
|
+
node -e "
|
|
52
|
+
const m = require('./.claude-plugin/marketplace.json');
|
|
53
|
+
let errors = 0;
|
|
54
|
+
for (const p of m.plugins) {
|
|
55
|
+
if (p.version !== '$VERSION') {
|
|
56
|
+
console.error('::error::marketplace.json plugin \"' + p.name + '\" version \"' + p.version + '\" does not match tag $TAG');
|
|
57
|
+
errors++;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
process.exit(errors > 0 ? 1 : 0);
|
|
61
|
+
"
|
|
62
|
+
[ $ERRORS -eq 0 ] || exit 1
|
|
63
|
+
|
|
64
|
+
- run: npm ci
|
|
65
|
+
- run: npm run lint
|
|
66
|
+
- run: npm test
|
|
67
|
+
- run: npm run build
|
|
68
|
+
|
|
69
|
+
- run: npm publish --access public
|
|
70
|
+
env:
|
|
71
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
72
|
+
|
|
73
|
+
- name: Create GitHub Release
|
|
74
|
+
uses: softprops/action-gh-release@v2
|
|
75
|
+
with:
|
|
76
|
+
generate_release_notes: true
|
|
77
|
+
make_latest: true
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
[2026-04-08 03:41:19] [开始] 步骤1: 获取项目完成 - 项目已成功fork并克隆
|
|
2
|
+
[2026-04-08 03:41:33] [分析] 步骤2: 阅读代码完成
|
|
3
|
+
项目类型: Node.js MCP服务端项目
|
|
4
|
+
语言: nodejs
|
|
5
|
+
工具数量: 9个工具
|
|
6
|
+
传输协议: stdio
|
|
7
|
+
[2026-04-08 03:42:15] [成功] 步骤3: 本地测试完成 - 成功检测到9个工具
|
|
8
|
+
[2026-04-08 03:42:29] [成功] 步骤4: 推送分支完成 - iflow分支已成功推送到远程仓库
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project
|
|
6
|
+
|
|
7
|
+
Monorepo for Claude Code plugins by krozov. Contains four plugins:
|
|
8
|
+
|
|
9
|
+
| Plugin | Directory | Description |
|
|
10
|
+
|--------|-----------|-------------|
|
|
11
|
+
| maven-mcp | `plugins/maven-mcp/` | MCP server for Maven dependency intelligence |
|
|
12
|
+
| sensitive-guard | `plugins/sensitive-guard/` | Scans files for secrets and PII before they reach AI servers |
|
|
13
|
+
| developer-workflow | `plugins/developer-workflow/` | Skills for developer workflow — code migration, PR preparation and lifecycle |
|
|
14
|
+
| extend | `plugins/extend/` | Extend Claude Code built-in features: agent review, skill optimization, configuration audit |
|
|
15
|
+
|
|
16
|
+
## Structure
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
plugins/
|
|
20
|
+
maven-mcp/ # TypeScript, npm package @krozov/maven-central-mcp
|
|
21
|
+
sensitive-guard/ # Shell-based Claude Code plugin
|
|
22
|
+
developer-workflow/ # Skills-only plugin for developer workflow habits
|
|
23
|
+
extend/ # Meta-tools for improving Claude Code setup
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
See each plugin's own `CLAUDE.md` for plugin-specific instructions.
|
|
27
|
+
|
|
28
|
+
## PR Workflow
|
|
29
|
+
|
|
30
|
+
Always work on changes in a separate branch using a worktree (`.worktrees/`). Create a **draft PR** early and push changes as you go. When implementation is complete: run checks locally (build, test, lint), fix any issues, then mark the PR as ready for review. After that, wait for CI checks to pass and review comments. Fix any failures or address reviewer feedback — do everything needed to get the PR merged. Ask the user if something is unclear or requires a decision.
|
|
31
|
+
|
|
32
|
+
## Publishing
|
|
33
|
+
|
|
34
|
+
**Never run `npm publish` locally.** Publishing happens exclusively via GitHub Actions.
|
|
35
|
+
|
|
36
|
+
All plugins use **unified versioning** — every release bumps all plugins to the same version.
|
|
37
|
+
|
|
38
|
+
To release a new version:
|
|
39
|
+
1. Bump `version` in all of these files to the new version:
|
|
40
|
+
- `plugins/maven-mcp/package.json`
|
|
41
|
+
- `plugins/maven-mcp/plugin/.claude-plugin/plugin.json`
|
|
42
|
+
- `plugins/sensitive-guard/.claude-plugin/plugin.json`
|
|
43
|
+
- `plugins/developer-workflow/.claude-plugin/plugin.json`
|
|
44
|
+
- `plugins/extend/.claude-plugin/plugin.json`
|
|
45
|
+
- `.claude-plugin/marketplace.json` (all plugin entries)
|
|
46
|
+
2. Merge to `main`
|
|
47
|
+
3. Push a git tag matching the version: `git tag v0.5.0 && git push origin v0.5.0`
|
|
48
|
+
4. GitHub Actions (`.github/workflows/release.yml`) triggers on `v*` tags, verifies all versions match the tag, runs lint/tests/build, then publishes to npm
|
|
49
|
+
|
|
50
|
+
## Worktrees
|
|
51
|
+
|
|
52
|
+
Worktree directory: `.worktrees/` (gitignored). Clean up stale worktrees after merging feature branches.
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Kirill Rozov
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# krozov-ai-tools
|
|
2
|
+
|
|
3
|
+
[](https://github.com/kirich1409/krozov-ai-tools/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/@krozov/maven-central-mcp)
|
|
5
|
+
[](LICENSE.md)
|
|
6
|
+
|
|
7
|
+
Claude Code plugin marketplace by Kirill Rozov.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
Add the marketplace to Claude Code:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/plugin marketplace add kirich1409/krozov-ai-tools
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Install a plugin:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/plugin install maven-mcp@krozov-ai-tools
|
|
21
|
+
/plugin install sensitive-guard@krozov-ai-tools
|
|
22
|
+
/plugin install developer-workflow@krozov-ai-tools
|
|
23
|
+
/plugin install extend@krozov-ai-tools
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Plugins
|
|
27
|
+
|
|
28
|
+
### maven-mcp
|
|
29
|
+
|
|
30
|
+
Maven dependency intelligence for JVM projects. Auto-registers an MCP server that provides tools for version lookup, dependency auditing, vulnerability checking, and changelog tracking across Maven Central, Google Maven, and custom repositories.
|
|
31
|
+
|
|
32
|
+
**Features:**
|
|
33
|
+
- Version intelligence — stability-aware selection, upgrade type classification
|
|
34
|
+
- Project scanning — Gradle, Maven, version catalogs
|
|
35
|
+
- Repository auto-discovery from build files
|
|
36
|
+
- Vulnerability checking via [OSV.dev](https://osv.dev/)
|
|
37
|
+
- Changelog tracking — GitHub releases, AndroidX, AGP, Firebase release notes
|
|
38
|
+
- Artifact search across Maven Central
|
|
39
|
+
|
|
40
|
+
**Skills:** `/check-deps`, `/latest-version`, `/dependency-changes`
|
|
41
|
+
|
|
42
|
+
See [`plugins/maven-mcp/`](plugins/maven-mcp/) for full documentation.
|
|
43
|
+
|
|
44
|
+
### sensitive-guard
|
|
45
|
+
|
|
46
|
+
Prevents sensitive data (secrets, PII) from reaching AI servers. Scans files via a PreToolUse hook before they are read into conversation.
|
|
47
|
+
|
|
48
|
+
**Features:**
|
|
49
|
+
- Secret detection via [gitleaks](https://github.com/gitleaks/gitleaks) (700+ rules)
|
|
50
|
+
- PII detection — email, SSN, credit cards, IBAN (custom regex)
|
|
51
|
+
- Interactive allow/block prompt per finding
|
|
52
|
+
- Project and global allowlists (SHA-256 hashed)
|
|
53
|
+
- Configurable patterns and tools
|
|
54
|
+
|
|
55
|
+
See [`plugins/sensitive-guard/`](plugins/sensitive-guard/) for full documentation.
|
|
56
|
+
|
|
57
|
+
### developer-workflow
|
|
58
|
+
|
|
59
|
+
Developer workflow skills and expert agents for the full development cycle — from task implementation to QA testing to PR merge.
|
|
60
|
+
|
|
61
|
+
**Skills:**
|
|
62
|
+
- `/prepare-for-pr` — quality loop (build → simplify → self-review → lint/tests) before creating a PR
|
|
63
|
+
- `/create-pr` — create a draft or ready PR with auto-generated title, description, labels, and reviewer suggestions
|
|
64
|
+
- `/pr-drive-to-merge` — drive an existing PR/MR to merge: monitor CI/CD, triage reviewer comments, loop until merged
|
|
65
|
+
- `/code-migration` — safe in-place or parallel migration of any technology in Gradle/Android/Kotlin projects
|
|
66
|
+
- `/kmp-migration` — full Kotlin Multiplatform migration for Android modules
|
|
67
|
+
- `/migrate-to-compose` — migrate View-based Android UI (Activity, Fragment, custom View) to Jetpack Compose
|
|
68
|
+
- `/generate-test-plan` — generate structured, prioritized test plan from spec or code
|
|
69
|
+
- `/test-feature` — verify a feature against its specification on a live app
|
|
70
|
+
- `/exploratory-test` — undirected bug hunting and QA exploration on a running app
|
|
71
|
+
- `/plan-review` — multi-agent review of implementation plans using PoLL consensus protocol
|
|
72
|
+
- `/implement-task` — full development cycle: worktree → TDD → implementation → quality loop → draft PR (explicit invocation only)
|
|
73
|
+
|
|
74
|
+
**Agents (10):** architecture-expert, build-engineer, business-analyst, compose-developer, devops-expert, kotlin-engineer, manual-tester, performance-expert, security-expert, ux-expert
|
|
75
|
+
|
|
76
|
+
See [`plugins/developer-workflow/`](plugins/developer-workflow/) for full documentation.
|
|
77
|
+
|
|
78
|
+
### extend
|
|
79
|
+
|
|
80
|
+
Extend Claude Code built-in features with review and optimization tools.
|
|
81
|
+
|
|
82
|
+
**Skills:**
|
|
83
|
+
- `/agent-reviewer` — audit and improve Claude Code agent files: frontmatter, system prompt quality, tool selection, trigger accuracy
|
|
84
|
+
|
|
85
|
+
See [`plugins/extend/`](plugins/extend/) for full documentation.
|
|
86
|
+
|
|
87
|
+
## License
|
|
88
|
+
|
|
89
|
+
MIT
|
package/language.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
nodejs
|
package/package.json
ADDED
package/package_name
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@iflow-mcp/kirich1409-maven-central-mcp
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "developer-workflow",
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Developer workflow skills — full task implementation cycle, View→Compose UI migration, safe code migration, test plan generation, exploratory QA testing, feature verification, PR preparation, PR creation (draft or ready), and full PR lifecycle through CI/CD and code review",
|
|
5
|
+
"skills": "./skills"
|
|
6
|
+
}
|