@every-env/compound-plugin 2.34.2 → 2.34.4
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/.releaserc.json +6 -1
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +21 -9
- package/CLAUDE.md +1 -0
- package/package.json +1 -1
- package/src/converters/claude-to-openclaw.ts +4 -0
- package/src/types/openclaw.ts +8 -6
- package/tests/openclaw-converter.test.ts +4 -0
- package/tests/openclaw-writer.test.ts +43 -0
package/.releaserc.json
CHANGED
|
@@ -6,7 +6,12 @@
|
|
|
6
6
|
"plugins": [
|
|
7
7
|
"@semantic-release/commit-analyzer",
|
|
8
8
|
"@semantic-release/release-notes-generator",
|
|
9
|
-
|
|
9
|
+
[
|
|
10
|
+
"@semantic-release/changelog",
|
|
11
|
+
{
|
|
12
|
+
"changelogTitle": "# Changelog\n\nAll notable changes to the `@every-env/compound-plugin` CLI tool will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\nRelease numbering now follows the repository `v*` tag line. Starting at `v2.34.0`, the root CLI package and this changelog stay on that shared version stream. Older entries below retain the previous `0.x` CLI numbering."
|
|
13
|
+
}
|
|
14
|
+
],
|
|
10
15
|
"@semantic-release/npm",
|
|
11
16
|
[
|
|
12
17
|
"@semantic-release/git",
|
package/AGENTS.md
CHANGED
|
@@ -7,7 +7,7 @@ This repository contains a Bun/TypeScript CLI that converts Claude Code plugins
|
|
|
7
7
|
- **Branching:** Create a feature branch for any non-trivial change. If already on the correct branch for the task, keep using it; do not create additional branches or worktrees unless explicitly requested.
|
|
8
8
|
- **Safety:** Do not delete or overwrite user data. Avoid destructive commands.
|
|
9
9
|
- **Testing:** Run `bun test` after changes that affect parsing, conversion, or output.
|
|
10
|
-
- **Release versioning:** The root CLI package (`package.json`, `CHANGELOG.md`, and repo `v*` tags) uses one shared release line managed by semantic-release on `main`. Do not start or maintain a separate root CLI version stream. Use conventional commits and let release automation write the next root package version. Embedded marketplace plugin metadata (`plugins/compound-engineering/.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json`) is a separate version surface and may differ.
|
|
10
|
+
- **Release versioning:** The root CLI package (`package.json`, `CHANGELOG.md`, and repo `v*` tags) uses one shared release line managed by semantic-release on `main`. Do not start or maintain a separate root CLI version stream. Use conventional commits and let release automation write the next root package version. Keep the root changelog header block in sync with `.releaserc.json` `changelogTitle` so generated release entries stay under the header. Embedded marketplace plugin metadata (`plugins/compound-engineering/.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json`) is a separate version surface and may differ.
|
|
11
11
|
- **Output Paths:** Keep OpenCode output at `opencode.json` and `.opencode/{agents,skills,plugins}`. For OpenCode, command go to `~/.config/opencode/commands/<name>.md`; `opencode.json` is deep-merged (never overwritten wholesale).
|
|
12
12
|
- **ASCII-first:** Use ASCII unless the file already contains Unicode.
|
|
13
13
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,25 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the `@every-env/compound-plugin` CLI tool will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
Release numbering now follows the repository `v*` tag line. Starting at `v2.34.0`, the root CLI package and this changelog stay on that shared version stream. Older entries below retain the previous `0.x` CLI numbering.
|
|
9
|
+
|
|
10
|
+
## [2.34.4](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.3...v2.34.4) (2026-03-04)
|
|
2
11
|
|
|
3
12
|
|
|
4
13
|
### Bug Fixes
|
|
5
14
|
|
|
6
|
-
* **
|
|
15
|
+
* **openclaw:** emit empty configSchema in plugin manifests ([4e9899f](https://github.com/EveryInc/compound-engineering-plugin/commit/4e9899f34693711b8997cf73eaa337f0da2321d6)), closes [#224](https://github.com/EveryInc/compound-engineering-plugin/issues/224)
|
|
7
16
|
|
|
8
|
-
## [2.34.
|
|
17
|
+
## [2.34.3](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.2...v2.34.3) (2026-03-03)
|
|
9
18
|
|
|
10
19
|
|
|
11
20
|
### Bug Fixes
|
|
12
21
|
|
|
13
|
-
* **release:**
|
|
22
|
+
* **release:** keep changelog header stable ([2fd29ff](https://github.com/EveryInc/compound-engineering-plugin/commit/2fd29ff6ed99583a8539b7a1e876194df5b18dd6))
|
|
14
23
|
|
|
15
|
-
|
|
24
|
+
## [2.34.2](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.1...v2.34.2) (2026-03-03)
|
|
16
25
|
|
|
17
|
-
|
|
26
|
+
### Bug Fixes
|
|
18
27
|
|
|
19
|
-
|
|
20
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
28
|
+
* **release:** add package repository metadata ([eab77bc](https://github.com/EveryInc/compound-engineering-plugin/commit/eab77bc5b5361dc73e2ec8aa4678c8bb6114f6e7))
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
## [2.34.1](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.34.0...v2.34.1) (2026-03-03)
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
* **release:** align cli versioning with repo tags ([7c58eee](https://github.com/EveryInc/compound-engineering-plugin/commit/7c58eeeec6cf33675cbe2b9639c7d69b92ecef60))
|
|
23
35
|
|
|
24
36
|
## [2.34.0] - 2026-03-03
|
|
25
37
|
|
package/CLAUDE.md
CHANGED
|
@@ -49,6 +49,7 @@ Rules:
|
|
|
49
49
|
|
|
50
50
|
- Do not start a separate root CLI version stream. The root CLI follows the repo tag line.
|
|
51
51
|
- Do not hand-bump the root CLI `package.json` or root `CHANGELOG.md` for routine feature work. Use conventional commits and let semantic-release write the released root version back to git.
|
|
52
|
+
- Keep the root `CHANGELOG.md` header block aligned with `.releaserc.json` `changelogTitle`. If they drift, semantic-release will prepend release notes above the header.
|
|
52
53
|
- Continue updating embedded plugin metadata when the plugin contents themselves change.
|
|
53
54
|
|
|
54
55
|
### Adding a New Plugin
|
package/package.json
CHANGED
|
@@ -64,6 +64,10 @@ function buildManifest(plugin: ClaudePlugin, skillDirs: string[]): OpenClawPlugi
|
|
|
64
64
|
id: plugin.manifest.name,
|
|
65
65
|
name: formatDisplayName(plugin.manifest.name),
|
|
66
66
|
kind: "tool",
|
|
67
|
+
configSchema: {
|
|
68
|
+
type: "object",
|
|
69
|
+
properties: {},
|
|
70
|
+
},
|
|
67
71
|
skills: skillDirs.map((dir) => `skills/${dir}`),
|
|
68
72
|
}
|
|
69
73
|
}
|
package/src/types/openclaw.ts
CHANGED
|
@@ -2,16 +2,18 @@ export type OpenClawPluginManifest = {
|
|
|
2
2
|
id: string
|
|
3
3
|
name: string
|
|
4
4
|
kind: "tool"
|
|
5
|
-
configSchema
|
|
6
|
-
type: "object"
|
|
7
|
-
additionalProperties: boolean
|
|
8
|
-
properties: Record<string, OpenClawConfigProperty>
|
|
9
|
-
required?: string[]
|
|
10
|
-
}
|
|
5
|
+
configSchema: OpenClawConfigSchema
|
|
11
6
|
uiHints?: Record<string, OpenClawUiHint>
|
|
12
7
|
skills?: string[]
|
|
13
8
|
}
|
|
14
9
|
|
|
10
|
+
export type OpenClawConfigSchema = {
|
|
11
|
+
type: "object"
|
|
12
|
+
properties: Record<string, OpenClawConfigProperty>
|
|
13
|
+
additionalProperties?: boolean
|
|
14
|
+
required?: string[]
|
|
15
|
+
}
|
|
16
|
+
|
|
15
17
|
export type OpenClawConfigProperty = {
|
|
16
18
|
type: string
|
|
17
19
|
description?: string
|
|
@@ -108,6 +108,10 @@ describe("convertClaudeToOpenClaw", () => {
|
|
|
108
108
|
expect(bundle.manifest.id).toBe("compound-engineering")
|
|
109
109
|
expect(bundle.manifest.name).toBe("Compound Engineering")
|
|
110
110
|
expect(bundle.manifest.kind).toBe("tool")
|
|
111
|
+
expect(bundle.manifest.configSchema).toEqual({
|
|
112
|
+
type: "object",
|
|
113
|
+
properties: {},
|
|
114
|
+
})
|
|
111
115
|
expect(bundle.manifest.skills).toContain("skills/agent-security-reviewer")
|
|
112
116
|
expect(bundle.manifest.skills).toContain("skills/cmd-workflows:plan")
|
|
113
117
|
expect(bundle.manifest.skills).toContain("skills/existing-skill")
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { describe, expect, test } from "bun:test"
|
|
2
|
+
import { promises as fs } from "fs"
|
|
3
|
+
import os from "os"
|
|
4
|
+
import path from "path"
|
|
5
|
+
import { writeOpenClawBundle } from "../src/targets/openclaw"
|
|
6
|
+
import type { OpenClawBundle } from "../src/types/openclaw"
|
|
7
|
+
|
|
8
|
+
describe("writeOpenClawBundle", () => {
|
|
9
|
+
test("writes openclaw.plugin.json with a configSchema", async () => {
|
|
10
|
+
const tempRoot = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-writer-"))
|
|
11
|
+
const bundle: OpenClawBundle = {
|
|
12
|
+
manifest: {
|
|
13
|
+
id: "compound-engineering",
|
|
14
|
+
name: "Compound Engineering",
|
|
15
|
+
kind: "tool",
|
|
16
|
+
configSchema: {
|
|
17
|
+
type: "object",
|
|
18
|
+
properties: {},
|
|
19
|
+
},
|
|
20
|
+
skills: [],
|
|
21
|
+
},
|
|
22
|
+
packageJson: {
|
|
23
|
+
name: "openclaw-compound-engineering",
|
|
24
|
+
version: "1.0.0",
|
|
25
|
+
},
|
|
26
|
+
entryPoint: "export default async function register() {}",
|
|
27
|
+
skills: [],
|
|
28
|
+
skillDirCopies: [],
|
|
29
|
+
commands: [],
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
await writeOpenClawBundle(tempRoot, bundle)
|
|
33
|
+
|
|
34
|
+
const manifest = JSON.parse(
|
|
35
|
+
await fs.readFile(path.join(tempRoot, "openclaw.plugin.json"), "utf8"),
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
expect(manifest.configSchema).toEqual({
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {},
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
})
|