agentsys 5.0.3 → 5.1.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 +21 -14
- package/.claude-plugin/plugin.json +1 -1
- package/AGENTS.md +2 -1
- package/CHANGELOG.md +18 -0
- package/README.md +7 -6
- package/adapters/codex/skills/agnix/SKILL.md +0 -1
- package/adapters/codex/skills/audit-project/SKILL.md +0 -1
- package/adapters/codex/skills/audit-project-agents/SKILL.md +0 -1
- package/adapters/codex/skills/audit-project-github/SKILL.md +0 -1
- package/adapters/codex/skills/consult/SKILL.md +132 -57
- package/adapters/codex/skills/debate/SKILL.md +214 -0
- package/adapters/codex/skills/delivery-approval/SKILL.md +0 -1
- package/adapters/codex/skills/deslop/SKILL.md +0 -1
- package/adapters/codex/skills/drift-detect/SKILL.md +0 -1
- package/adapters/codex/skills/enhance/SKILL.md +0 -1
- package/adapters/codex/skills/learn/SKILL.md +0 -1
- package/adapters/codex/skills/next-task/SKILL.md +0 -1
- package/adapters/codex/skills/perf/SKILL.md +0 -1
- package/adapters/codex/skills/repo-map/SKILL.md +0 -1
- package/adapters/codex/skills/ship/SKILL.md +0 -1
- package/adapters/codex/skills/ship-ci-review-loop/SKILL.md +0 -1
- package/adapters/codex/skills/ship-deployment/SKILL.md +0 -1
- package/adapters/codex/skills/ship-error-handling/SKILL.md +0 -1
- package/adapters/codex/skills/sync-docs/SKILL.md +0 -1
- package/adapters/opencode/agents/agent-enhancer.md +0 -1
- package/adapters/opencode/agents/agnix-agent.md +0 -1
- package/adapters/opencode/agents/ci-fixer.md +0 -1
- package/adapters/opencode/agents/ci-monitor.md +0 -1
- package/adapters/opencode/agents/claudemd-enhancer.md +0 -1
- package/adapters/opencode/agents/consult-agent.md +122 -30
- package/adapters/opencode/agents/cross-file-enhancer.md +0 -1
- package/adapters/opencode/agents/debate-orchestrator.md +169 -0
- package/adapters/opencode/agents/delivery-validator.md +0 -1
- package/adapters/opencode/agents/deslop-agent.md +0 -1
- package/adapters/opencode/agents/docs-enhancer.md +0 -1
- package/adapters/opencode/agents/exploration-agent.md +0 -1
- package/adapters/opencode/agents/hooks-enhancer.md +0 -1
- package/adapters/opencode/agents/implementation-agent.md +0 -1
- package/adapters/opencode/agents/learn-agent.md +0 -1
- package/adapters/opencode/agents/map-validator.md +0 -1
- package/adapters/opencode/agents/perf-analyzer.md +0 -1
- package/adapters/opencode/agents/perf-code-paths.md +0 -1
- package/adapters/opencode/agents/perf-investigation-logger.md +0 -1
- package/adapters/opencode/agents/perf-orchestrator.md +0 -1
- package/adapters/opencode/agents/perf-theory-gatherer.md +0 -1
- package/adapters/opencode/agents/perf-theory-tester.md +0 -1
- package/adapters/opencode/agents/plan-synthesizer.md +0 -1
- package/adapters/opencode/agents/planning-agent.md +0 -1
- package/adapters/opencode/agents/plugin-enhancer.md +0 -1
- package/adapters/opencode/agents/prompt-enhancer.md +0 -1
- package/adapters/opencode/agents/simple-fixer.md +0 -1
- package/adapters/opencode/agents/skills-enhancer.md +0 -1
- package/adapters/opencode/agents/sync-docs-agent.md +0 -1
- package/adapters/opencode/agents/task-discoverer.md +0 -1
- package/adapters/opencode/agents/test-coverage-checker.md +0 -1
- package/adapters/opencode/agents/worktree-manager.md +0 -1
- package/adapters/opencode/commands/agnix.md +0 -1
- package/adapters/opencode/commands/audit-project-agents.md +0 -1
- package/adapters/opencode/commands/audit-project-github.md +0 -1
- package/adapters/opencode/commands/audit-project.md +0 -1
- package/adapters/opencode/commands/consult.md +133 -57
- package/adapters/opencode/commands/debate.md +224 -0
- package/adapters/opencode/commands/delivery-approval.md +0 -1
- package/adapters/opencode/commands/deslop.md +0 -1
- package/adapters/opencode/commands/drift-detect.md +0 -1
- package/adapters/opencode/commands/enhance.md +0 -1
- package/adapters/opencode/commands/learn.md +0 -1
- package/adapters/opencode/commands/next-task.md +0 -1
- package/adapters/opencode/commands/perf.md +0 -1
- package/adapters/opencode/commands/repo-map.md +0 -1
- package/adapters/opencode/commands/ship-ci-review-loop.md +0 -1
- package/adapters/opencode/commands/ship-deployment.md +0 -1
- package/adapters/opencode/commands/ship-error-handling.md +0 -1
- package/adapters/opencode/commands/ship.md +0 -1
- package/adapters/opencode/commands/sync-docs.md +0 -1
- package/adapters/opencode/skills/agnix/SKILL.md +1 -2
- package/adapters/opencode/skills/consult/SKILL.md +33 -23
- package/adapters/opencode/skills/debate/SKILL.md +245 -0
- package/adapters/opencode/skills/deslop/SKILL.md +1 -2
- package/adapters/opencode/skills/discover-tasks/SKILL.md +1 -2
- package/adapters/opencode/skills/drift-analysis/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-agent-prompts/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-claude-memory/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-cross-file/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-docs/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-hooks/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-orchestrator/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-plugins/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-prompts/SKILL.md +1 -2
- package/adapters/opencode/skills/enhance-skills/SKILL.md +1 -2
- package/adapters/opencode/skills/learn/SKILL.md +1 -2
- package/adapters/opencode/skills/orchestrate-review/SKILL.md +0 -1
- package/adapters/opencode/skills/perf-analyzer/SKILL.md +1 -2
- package/adapters/opencode/skills/perf-baseline-manager/SKILL.md +1 -2
- package/adapters/opencode/skills/perf-benchmarker/SKILL.md +1 -2
- package/adapters/opencode/skills/perf-code-paths/SKILL.md +1 -2
- package/adapters/opencode/skills/perf-investigation-logger/SKILL.md +1 -2
- package/adapters/opencode/skills/perf-profiler/SKILL.md +1 -2
- package/adapters/opencode/skills/perf-theory-gatherer/SKILL.md +1 -2
- package/adapters/opencode/skills/perf-theory-tester/SKILL.md +1 -2
- package/adapters/opencode/skills/repo-mapping/SKILL.md +1 -2
- package/adapters/opencode/skills/sync-docs/SKILL.md +1 -2
- package/adapters/opencode/skills/validate-delivery/SKILL.md +1 -2
- package/lib/adapter-transforms.js +24 -4
- package/package.json +1 -1
- package/plugins/agnix/.claude-plugin/plugin.json +1 -1
- package/plugins/agnix/skills/agnix/SKILL.md +1 -1
- package/plugins/audit-project/.claude-plugin/plugin.json +1 -1
- package/plugins/audit-project/lib/adapter-transforms.js +24 -4
- package/plugins/consult/.claude-plugin/plugin.json +1 -1
- package/plugins/consult/agents/consult-agent.md +122 -29
- package/plugins/consult/commands/consult.md +135 -58
- package/plugins/consult/skills/consult/SKILL.md +31 -20
- package/plugins/debate/.claude-plugin/plugin.json +21 -0
- package/plugins/debate/agents/debate-orchestrator.md +175 -0
- package/plugins/debate/commands/debate.md +221 -0
- package/plugins/debate/lib/adapter-transforms.js +298 -0
- package/plugins/debate/lib/collectors/codebase.js +392 -0
- package/plugins/debate/lib/collectors/docs-patterns.js +713 -0
- package/plugins/debate/lib/collectors/documentation.js +219 -0
- package/plugins/debate/lib/collectors/github.js +330 -0
- package/plugins/debate/lib/collectors/index.js +126 -0
- package/plugins/debate/lib/config/index.js +14 -0
- package/plugins/debate/lib/cross-platform/index.js +539 -0
- package/plugins/debate/lib/discovery/index.js +352 -0
- package/plugins/debate/lib/drift-detect/collectors.js +37 -0
- package/plugins/debate/lib/enhance/agent-analyzer.js +421 -0
- package/plugins/debate/lib/enhance/agent-patterns.js +571 -0
- package/plugins/debate/lib/enhance/auto-suppression.js +622 -0
- package/plugins/debate/lib/enhance/benchmark.js +417 -0
- package/plugins/debate/lib/enhance/cross-file-analyzer.js +930 -0
- package/plugins/debate/lib/enhance/cross-file-patterns.js +370 -0
- package/plugins/debate/lib/enhance/docs-analyzer.js +325 -0
- package/plugins/debate/lib/enhance/docs-patterns.js +671 -0
- package/plugins/debate/lib/enhance/fixer.js +721 -0
- package/plugins/debate/lib/enhance/hook-analyzer.js +135 -0
- package/plugins/debate/lib/enhance/hook-patterns.js +40 -0
- package/plugins/debate/lib/enhance/index.js +127 -0
- package/plugins/debate/lib/enhance/plugin-analyzer.js +402 -0
- package/plugins/debate/lib/enhance/plugin-patterns.js +326 -0
- package/plugins/debate/lib/enhance/projectmemory-analyzer.js +551 -0
- package/plugins/debate/lib/enhance/projectmemory-patterns.js +617 -0
- package/plugins/debate/lib/enhance/prompt-analyzer.js +457 -0
- package/plugins/debate/lib/enhance/prompt-patterns.js +1484 -0
- package/plugins/debate/lib/enhance/reporter.js +1348 -0
- package/plugins/debate/lib/enhance/security-patterns.js +284 -0
- package/plugins/debate/lib/enhance/skill-analyzer.js +182 -0
- package/plugins/debate/lib/enhance/skill-patterns.js +147 -0
- package/plugins/debate/lib/enhance/suppression.js +352 -0
- package/plugins/debate/lib/enhance/tool-patterns.js +373 -0
- package/plugins/debate/lib/index.js +270 -0
- package/plugins/debate/lib/patterns/cli-enhancers.js +611 -0
- package/plugins/debate/lib/patterns/pipeline.js +948 -0
- package/plugins/debate/lib/patterns/review-patterns.js +558 -0
- package/plugins/debate/lib/patterns/slop-analyzers.js +2305 -0
- package/plugins/debate/lib/patterns/slop-patterns.js +1187 -0
- package/plugins/debate/lib/perf/analyzer/index.js +22 -0
- package/plugins/debate/lib/perf/argument-parser.js +105 -0
- package/plugins/debate/lib/perf/baseline-comparator.js +50 -0
- package/plugins/debate/lib/perf/baseline-store.js +127 -0
- package/plugins/debate/lib/perf/benchmark-runner.js +404 -0
- package/plugins/debate/lib/perf/breaking-point-finder.js +52 -0
- package/plugins/debate/lib/perf/breaking-point-runner.js +60 -0
- package/plugins/debate/lib/perf/checkpoint.js +123 -0
- package/plugins/debate/lib/perf/code-paths.js +86 -0
- package/plugins/debate/lib/perf/consolidation.js +37 -0
- package/plugins/debate/lib/perf/constraint-runner.js +71 -0
- package/plugins/debate/lib/perf/experiment-runner.js +32 -0
- package/plugins/debate/lib/perf/index.js +41 -0
- package/plugins/debate/lib/perf/investigation-state.js +874 -0
- package/plugins/debate/lib/perf/optimization-runner.js +79 -0
- package/plugins/debate/lib/perf/profilers/go.js +22 -0
- package/plugins/debate/lib/perf/profilers/index.js +46 -0
- package/plugins/debate/lib/perf/profilers/java.js +23 -0
- package/plugins/debate/lib/perf/profilers/node.js +27 -0
- package/plugins/debate/lib/perf/profilers/python.js +23 -0
- package/plugins/debate/lib/perf/profilers/rust.js +23 -0
- package/plugins/debate/lib/perf/profiling-runner.js +75 -0
- package/plugins/debate/lib/perf/schemas.js +140 -0
- package/plugins/debate/lib/platform/detect-platform.js +413 -0
- package/plugins/debate/lib/platform/detection-configs.js +93 -0
- package/plugins/debate/lib/platform/state-dir.js +132 -0
- package/plugins/debate/lib/platform/verify-tools.js +182 -0
- package/plugins/debate/lib/repo-map/cache.js +152 -0
- package/plugins/debate/lib/repo-map/concurrency.js +29 -0
- package/plugins/debate/lib/repo-map/index.js +222 -0
- package/plugins/debate/lib/repo-map/installer.js +212 -0
- package/plugins/debate/lib/repo-map/queries/go.js +27 -0
- package/plugins/debate/lib/repo-map/queries/index.js +100 -0
- package/plugins/debate/lib/repo-map/queries/java.js +38 -0
- package/plugins/debate/lib/repo-map/queries/javascript.js +55 -0
- package/plugins/debate/lib/repo-map/queries/python.js +24 -0
- package/plugins/debate/lib/repo-map/queries/rust.js +73 -0
- package/plugins/debate/lib/repo-map/queries/typescript.js +38 -0
- package/plugins/debate/lib/repo-map/runner.js +1364 -0
- package/plugins/debate/lib/repo-map/updater.js +562 -0
- package/plugins/debate/lib/repo-map/usage-analyzer.js +407 -0
- package/plugins/debate/lib/schemas/plugin-manifest.schema.json +57 -0
- package/plugins/debate/lib/schemas/validator.js +247 -0
- package/plugins/debate/lib/sources/custom-handler.js +199 -0
- package/plugins/debate/lib/sources/policy-questions.js +246 -0
- package/plugins/debate/lib/sources/source-cache.js +165 -0
- package/plugins/debate/lib/state/workflow-state.js +576 -0
- package/plugins/debate/lib/types/agent-frontmatter.d.ts +134 -0
- package/plugins/debate/lib/types/command-frontmatter.d.ts +107 -0
- package/plugins/debate/lib/types/hook-frontmatter.d.ts +115 -0
- package/plugins/debate/lib/types/index.d.ts +84 -0
- package/plugins/debate/lib/types/plugin-manifest.d.ts +102 -0
- package/plugins/debate/lib/types/skill-frontmatter.d.ts +89 -0
- package/plugins/debate/lib/utils/atomic-write.js +94 -0
- package/plugins/debate/lib/utils/cache-manager.js +159 -0
- package/plugins/debate/lib/utils/command-parser.js +0 -0
- package/plugins/debate/lib/utils/context-optimizer.js +300 -0
- package/plugins/debate/lib/utils/deprecation.js +37 -0
- package/plugins/debate/lib/utils/shell-escape.js +88 -0
- package/plugins/debate/lib/utils/state-helpers.js +61 -0
- package/plugins/debate/skills/debate/SKILL.md +264 -0
- package/plugins/deslop/.claude-plugin/plugin.json +1 -1
- package/plugins/deslop/lib/adapter-transforms.js +24 -4
- package/plugins/deslop/skills/deslop/SKILL.md +1 -1
- package/plugins/drift-detect/.claude-plugin/plugin.json +1 -1
- package/plugins/drift-detect/lib/adapter-transforms.js +24 -4
- package/plugins/drift-detect/skills/drift-analysis/SKILL.md +1 -1
- package/plugins/enhance/.claude-plugin/plugin.json +1 -1
- package/plugins/enhance/lib/adapter-transforms.js +24 -4
- package/plugins/enhance/skills/enhance-agent-prompts/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-claude-memory/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-cross-file/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-docs/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-hooks/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-orchestrator/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-plugins/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-prompts/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-skills/SKILL.md +1 -1
- package/plugins/learn/.claude-plugin/plugin.json +1 -1
- package/plugins/learn/agents/learn-agent.md +1 -1
- package/plugins/learn/lib/adapter-transforms.js +24 -4
- package/plugins/learn/skills/learn/SKILL.md +1 -1
- package/plugins/next-task/.claude-plugin/plugin.json +1 -1
- package/plugins/next-task/agents/exploration-agent.md +1 -1
- package/plugins/next-task/lib/adapter-transforms.js +24 -4
- package/plugins/next-task/skills/discover-tasks/SKILL.md +1 -1
- package/plugins/next-task/skills/validate-delivery/SKILL.md +1 -1
- package/plugins/perf/.claude-plugin/plugin.json +1 -1
- package/plugins/perf/lib/adapter-transforms.js +24 -4
- package/plugins/perf/skills/perf-analyzer/SKILL.md +1 -1
- package/plugins/perf/skills/perf-baseline-manager/SKILL.md +1 -1
- package/plugins/perf/skills/perf-benchmarker/SKILL.md +1 -1
- package/plugins/perf/skills/perf-code-paths/SKILL.md +1 -1
- package/plugins/perf/skills/perf-investigation-logger/SKILL.md +1 -1
- package/plugins/perf/skills/perf-profiler/SKILL.md +1 -1
- package/plugins/perf/skills/perf-theory-gatherer/SKILL.md +1 -1
- package/plugins/perf/skills/perf-theory-tester/SKILL.md +1 -1
- package/plugins/repo-map/.claude-plugin/plugin.json +1 -1
- package/plugins/repo-map/lib/adapter-transforms.js +24 -4
- package/plugins/ship/.claude-plugin/plugin.json +1 -1
- package/plugins/ship/lib/adapter-transforms.js +24 -4
- package/plugins/sync-docs/.claude-plugin/plugin.json +1 -1
- package/plugins/sync-docs/lib/adapter-transforms.js +24 -4
- package/plugins/sync-docs/skills/sync-docs/SKILL.md +1 -1
- package/scripts/gen-adapters.js +6 -7
- package/scripts/generate-docs.js +4 -2
- package/scripts/plugins.txt +1 -0
- package/site/content.json +6 -6
|
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
|
|
|
18
18
|
content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
|
|
19
19
|
content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
content = content.replace(/\.claude
|
|
21
|
+
// Replace .claude/ paths with .opencode/ but preserve platform documentation lists
|
|
22
|
+
// that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
|
|
23
|
+
// Also preserve {AI_STATE_DIR} references which are platform-agnostic
|
|
24
|
+
content = content.replace(/\.claude\//g, (match, offset) => {
|
|
25
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
26
|
+
// Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
|
|
27
|
+
if (/Claude Code:/.test(context)) return match;
|
|
28
|
+
return '.opencode/';
|
|
29
|
+
});
|
|
30
|
+
content = content.replace(/\.claude'/g, (match, offset) => {
|
|
31
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
32
|
+
if (/Claude Code:/.test(context)) return match;
|
|
33
|
+
return ".opencode'";
|
|
34
|
+
});
|
|
35
|
+
content = content.replace(/\.claude"/g, (match, offset) => {
|
|
36
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
37
|
+
if (/Claude Code:/.test(context)) return match;
|
|
38
|
+
return '.opencode"';
|
|
39
|
+
});
|
|
40
|
+
content = content.replace(/\.claude`/g, (match, offset) => {
|
|
41
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
42
|
+
if (/Claude Code:/.test(context)) return match;
|
|
43
|
+
return '.opencode`';
|
|
44
|
+
});
|
|
25
45
|
|
|
26
46
|
const plugins = discovery.discoverPlugins(repoRoot);
|
|
27
47
|
if (plugins.length > 0) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: perf-benchmarker
|
|
3
3
|
description: "Use when running performance benchmarks, establishing baselines, or validating regressions with sequential runs. Enforces 60s minimum runs (30s only for binary search) and no parallel benchmarks."
|
|
4
|
-
version: 5.0
|
|
4
|
+
version: 5.1.0
|
|
5
5
|
argument-hint: "[command] [duration]"
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
|
|
|
18
18
|
content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
|
|
19
19
|
content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
content = content.replace(/\.claude
|
|
21
|
+
// Replace .claude/ paths with .opencode/ but preserve platform documentation lists
|
|
22
|
+
// that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
|
|
23
|
+
// Also preserve {AI_STATE_DIR} references which are platform-agnostic
|
|
24
|
+
content = content.replace(/\.claude\//g, (match, offset) => {
|
|
25
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
26
|
+
// Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
|
|
27
|
+
if (/Claude Code:/.test(context)) return match;
|
|
28
|
+
return '.opencode/';
|
|
29
|
+
});
|
|
30
|
+
content = content.replace(/\.claude'/g, (match, offset) => {
|
|
31
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
32
|
+
if (/Claude Code:/.test(context)) return match;
|
|
33
|
+
return ".opencode'";
|
|
34
|
+
});
|
|
35
|
+
content = content.replace(/\.claude"/g, (match, offset) => {
|
|
36
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
37
|
+
if (/Claude Code:/.test(context)) return match;
|
|
38
|
+
return '.opencode"';
|
|
39
|
+
});
|
|
40
|
+
content = content.replace(/\.claude`/g, (match, offset) => {
|
|
41
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
42
|
+
if (/Claude Code:/.test(context)) return match;
|
|
43
|
+
return '.opencode`';
|
|
44
|
+
});
|
|
25
45
|
|
|
26
46
|
const plugins = discovery.discoverPlugins(repoRoot);
|
|
27
47
|
if (plugins.length > 0) {
|
|
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
|
|
|
18
18
|
content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
|
|
19
19
|
content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
content = content.replace(/\.claude
|
|
21
|
+
// Replace .claude/ paths with .opencode/ but preserve platform documentation lists
|
|
22
|
+
// that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
|
|
23
|
+
// Also preserve {AI_STATE_DIR} references which are platform-agnostic
|
|
24
|
+
content = content.replace(/\.claude\//g, (match, offset) => {
|
|
25
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
26
|
+
// Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
|
|
27
|
+
if (/Claude Code:/.test(context)) return match;
|
|
28
|
+
return '.opencode/';
|
|
29
|
+
});
|
|
30
|
+
content = content.replace(/\.claude'/g, (match, offset) => {
|
|
31
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
32
|
+
if (/Claude Code:/.test(context)) return match;
|
|
33
|
+
return ".opencode'";
|
|
34
|
+
});
|
|
35
|
+
content = content.replace(/\.claude"/g, (match, offset) => {
|
|
36
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
37
|
+
if (/Claude Code:/.test(context)) return match;
|
|
38
|
+
return '.opencode"';
|
|
39
|
+
});
|
|
40
|
+
content = content.replace(/\.claude`/g, (match, offset) => {
|
|
41
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
42
|
+
if (/Claude Code:/.test(context)) return match;
|
|
43
|
+
return '.opencode`';
|
|
44
|
+
});
|
|
25
45
|
|
|
26
46
|
const plugins = discovery.discoverPlugins(repoRoot);
|
|
27
47
|
if (plugins.length > 0) {
|
|
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
|
|
|
18
18
|
content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
|
|
19
19
|
content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
content = content.replace(/\.claude
|
|
21
|
+
// Replace .claude/ paths with .opencode/ but preserve platform documentation lists
|
|
22
|
+
// that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
|
|
23
|
+
// Also preserve {AI_STATE_DIR} references which are platform-agnostic
|
|
24
|
+
content = content.replace(/\.claude\//g, (match, offset) => {
|
|
25
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
26
|
+
// Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
|
|
27
|
+
if (/Claude Code:/.test(context)) return match;
|
|
28
|
+
return '.opencode/';
|
|
29
|
+
});
|
|
30
|
+
content = content.replace(/\.claude'/g, (match, offset) => {
|
|
31
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
32
|
+
if (/Claude Code:/.test(context)) return match;
|
|
33
|
+
return ".opencode'";
|
|
34
|
+
});
|
|
35
|
+
content = content.replace(/\.claude"/g, (match, offset) => {
|
|
36
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
37
|
+
if (/Claude Code:/.test(context)) return match;
|
|
38
|
+
return '.opencode"';
|
|
39
|
+
});
|
|
40
|
+
content = content.replace(/\.claude`/g, (match, offset) => {
|
|
41
|
+
const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
|
|
42
|
+
if (/Claude Code:/.test(context)) return match;
|
|
43
|
+
return '.opencode`';
|
|
44
|
+
});
|
|
25
45
|
|
|
26
46
|
const plugins = discovery.discoverPlugins(repoRoot);
|
|
27
47
|
if (plugins.length > 0) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sync-docs
|
|
3
3
|
description: "Sync documentation with code. Use when user asks to update docs, check docs, fix stale documentation, update changelog, or after code changes."
|
|
4
|
-
version: 5.0
|
|
4
|
+
version: 5.1.0
|
|
5
5
|
argument-hint: "[report|apply] [--scope=all|recent|before-pr] [--include-undocumented]"
|
|
6
6
|
allowed-tools: Bash(git:*), Read, Grep, Glob
|
|
7
7
|
---
|
package/scripts/gen-adapters.js
CHANGED
|
@@ -28,8 +28,7 @@ const transforms = require(path.join(__dirname, '..', 'lib', 'adapter-transforms
|
|
|
28
28
|
const ROOT_DIR = path.join(__dirname, '..');
|
|
29
29
|
const ADAPTERS_DIR = path.join(ROOT_DIR, 'adapters');
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
const GENERATED_HEADER = '<!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->\n';
|
|
31
|
+
|
|
33
32
|
|
|
34
33
|
// Codex uses a placeholder since it doesn't have runtime PLUGIN_ROOT
|
|
35
34
|
const CODEX_PLUGIN_ROOT_PLACEHOLDER = '{{PLUGIN_INSTALL_PATH}}';
|
|
@@ -57,7 +56,7 @@ function computeAdapters() {
|
|
|
57
56
|
content = transforms.transformCommandFrontmatterForOpenCode(content);
|
|
58
57
|
|
|
59
58
|
const relPath = normalizePath(path.join('adapters', 'opencode', 'commands', target));
|
|
60
|
-
files.set(relPath,
|
|
59
|
+
files.set(relPath, content);
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
for (const pluginName of plugins) {
|
|
@@ -73,7 +72,7 @@ function computeAdapters() {
|
|
|
73
72
|
content = transforms.transformAgentFrontmatterForOpenCode(content, { stripModels: true });
|
|
74
73
|
|
|
75
74
|
const relPath = normalizePath(path.join('adapters', 'opencode', 'agents', agentFile));
|
|
76
|
-
files.set(relPath,
|
|
75
|
+
files.set(relPath, content);
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
|
|
@@ -92,7 +91,7 @@ function computeAdapters() {
|
|
|
92
91
|
content = transforms.transformSkillBodyForOpenCode(content, ROOT_DIR);
|
|
93
92
|
|
|
94
93
|
const relPath = normalizePath(path.join('adapters', 'opencode', 'skills', skillName, 'SKILL.md'));
|
|
95
|
-
files.set(relPath,
|
|
94
|
+
files.set(relPath, content);
|
|
96
95
|
}
|
|
97
96
|
}
|
|
98
97
|
|
|
@@ -112,7 +111,7 @@ function computeAdapters() {
|
|
|
112
111
|
});
|
|
113
112
|
|
|
114
113
|
const relPath = normalizePath(path.join('adapters', 'codex', 'skills', skillName, 'SKILL.md'));
|
|
115
|
-
files.set(relPath,
|
|
114
|
+
files.set(relPath, content);
|
|
116
115
|
}
|
|
117
116
|
|
|
118
117
|
if (emptyDescSkills.length > 0) {
|
|
@@ -320,4 +319,4 @@ if (require.main === module) {
|
|
|
320
319
|
}
|
|
321
320
|
}
|
|
322
321
|
|
|
323
|
-
module.exports = { main, checkFreshness, computeAdapters, findOrphanedAdapters
|
|
322
|
+
module.exports = { main, checkFreshness, computeAdapters, findOrphanedAdapters };
|
package/scripts/generate-docs.js
CHANGED
|
@@ -55,7 +55,8 @@ const CATEGORY_MAP = {
|
|
|
55
55
|
'repo-map': 'Analysis',
|
|
56
56
|
'learn': 'Learning',
|
|
57
57
|
'agnix': 'Linting',
|
|
58
|
-
'consult': 'Productivity'
|
|
58
|
+
'consult': 'Productivity',
|
|
59
|
+
'debate': 'Analysis'
|
|
59
60
|
};
|
|
60
61
|
|
|
61
62
|
// Purpose mapping for architecture table
|
|
@@ -71,7 +72,8 @@ const PURPOSE_MAP = {
|
|
|
71
72
|
'sync-docs': 'Documentation sync',
|
|
72
73
|
'learn': 'Topic research and learning guides',
|
|
73
74
|
'agnix': 'Agent config linting',
|
|
74
|
-
'consult': 'Cross-tool AI consultation'
|
|
75
|
+
'consult': 'Cross-tool AI consultation',
|
|
76
|
+
'debate': 'Multi-perspective debate analysis'
|
|
75
77
|
};
|
|
76
78
|
|
|
77
79
|
// ---------------------------------------------------------------------------
|
package/scripts/plugins.txt
CHANGED
package/site/content.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"url": "https://avifenesh.github.io/agentsys",
|
|
6
6
|
"repo": "https://github.com/avifenesh/agentsys",
|
|
7
7
|
"npm": "https://www.npmjs.com/package/agentsys",
|
|
8
|
-
"version": "5.0
|
|
8
|
+
"version": "5.1.0",
|
|
9
9
|
"author": "Avi Fenesh",
|
|
10
10
|
"author_url": "https://github.com/avifenesh"
|
|
11
11
|
},
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
},
|
|
24
24
|
"stats": [
|
|
25
25
|
{
|
|
26
|
-
"value": "
|
|
26
|
+
"value": "13",
|
|
27
27
|
"label": "Plugins",
|
|
28
28
|
"suffix": ""
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
"value": "
|
|
31
|
+
"value": "42",
|
|
32
32
|
"label": "Agents",
|
|
33
33
|
"suffix": ""
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
|
-
"value": "
|
|
36
|
+
"value": "28",
|
|
37
37
|
"label": "Skills",
|
|
38
38
|
"suffix": ""
|
|
39
39
|
},
|
|
@@ -307,8 +307,8 @@
|
|
|
307
307
|
}
|
|
308
308
|
],
|
|
309
309
|
"agents": {
|
|
310
|
-
"total":
|
|
311
|
-
"file_based":
|
|
310
|
+
"total": 42,
|
|
311
|
+
"file_based": 32,
|
|
312
312
|
"role_based": 10,
|
|
313
313
|
"by_model": [
|
|
314
314
|
{
|