lilflow 0.2.0 → 0.2.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lilflow",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Drive lilflow workflows from inside a Claude Code session. Exposes the flow session-bridge CLI as a skill so the agent can request the next step, update workflow state, evaluate gates, and converse with the user.",
5
5
  "homepage": "https://github.com/iVintik/lilflow",
6
6
  "license": "MIT"
package/README.md CHANGED
@@ -205,6 +205,17 @@ flow logs <run-id> [--step <step>]
205
205
  flow session-bridge <subcommand> # agent-facing bridge for session-mode workflows
206
206
  ```
207
207
 
208
+ ## Claude Code plugin
209
+
210
+ This repo is also a Claude Code plugin. `.claude-plugin/plugin.json` is the marker file; `skills/` holds the `lilflow-workflow-driver` skill used by session mode. The plugin version is kept in lock-step with the npm package version via the `npm version` lifecycle hook, so a single `v{version}` tag releases both.
211
+
212
+ Install as a plugin from a Claude Code session:
213
+ ```bash
214
+ claude plugin install github:iVintik/lilflow
215
+ ```
216
+
217
+ OpenCode users install the same plugin via [oh-my-opencode](https://github.com/opensoft/oh-my-opencode)'s Claude Code compatibility layer.
218
+
208
219
  ## Project structure
209
220
 
210
221
  ```
@@ -218,7 +229,11 @@ lilflow/
218
229
  │ ├── session-runner.js # Single-process execution path
219
230
  │ ├── session-prompt.js # System prompt generator
220
231
  │ └── agents/ # LLM agent provider adapters + output extraction
221
- ├── plugin/ # Bundled Claude Code plugin + lilflow skill
232
+ ├── .claude-plugin/ # Claude Code plugin manifest
233
+ │ └── plugin.json
234
+ ├── skills/ # Claude Code skills bundled with the plugin
235
+ │ └── lilflow-workflow-driver/SKILL.md
236
+ ├── scripts/ # Release helpers (sync-plugin-version.js)
222
237
  ├── tests/ # Test suite (node:test)
223
238
  ├── docs/ # Generated documentation + requirements specs
224
239
  └── .github/workflows/ # CI/CD (lint + test + npm publish)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lilflow",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Repo-native workflow engine CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,7 +9,8 @@
9
9
  },
10
10
  "files": [
11
11
  "src",
12
- "plugin",
12
+ ".claude-plugin",
13
+ "skills",
13
14
  "README.md",
14
15
  "AGENTS.md"
15
16
  ],
@@ -34,7 +35,9 @@
34
35
  "scripts": {
35
36
  "test": "c8 --reporter=text --reporter=lcov --reporter=json-summary node --test",
36
37
  "coverage": "npm test",
37
- "lint": "eslint src/"
38
+ "lint": "eslint src/",
39
+ "sync-plugin-version": "node scripts/sync-plugin-version.js",
40
+ "version": "npm run sync-plugin-version && git add .claude-plugin/plugin.json"
38
41
  },
39
42
  "engines": {
40
43
  "node": ">=22"
@@ -7,14 +7,16 @@ import { buildSessionSystemPrompt } from "./session-prompt.js";
7
7
  const HERE = path.dirname(fileURLToPath(import.meta.url));
8
8
 
9
9
  /**
10
- * Path to the bundled plugin that exposes the lilflow skill. The same layout
11
- * works for both providersClaude Code loads it natively, and OpenCode
12
- * picks it up through the oh-my-opencode Claude Code compatibility layer.
10
+ * Path to the bundled plugin that exposes the lilflow skill. The plugin lives
11
+ * at the repo/package root`.claude-plugin/plugin.json` is the marker file,
12
+ * sibling `skills/`, `commands/`, etc. are auto-discovered. Works for both
13
+ * providers: Claude Code loads it natively, and OpenCode picks it up through
14
+ * oh-my-opencode's Claude Code compatibility layer.
13
15
  *
14
- * @returns {string} Absolute directory path.
16
+ * @returns {string} Absolute directory path (repo/package root).
15
17
  */
16
18
  export function getBundledPluginPath() {
17
- return path.resolve(HERE, "..", "plugin");
19
+ return path.resolve(HERE, "..");
18
20
  }
19
21
 
20
22
  /**