devflow-kit 1.8.1 → 1.8.3
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/CHANGELOG.md +16 -0
- package/README.md +2 -0
- package/dist/hud/components/version-badge.js +3 -3
- package/package.json +1 -1
- package/plugins/devflow-accessibility/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-ambient/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +5 -3
- package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-code-review/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-core-skills/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-debug/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-frontend-design/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-go/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-implement/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-java/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-python/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-react/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-resolve/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-rust/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-self-review/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-specify/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-typescript/.claude-plugin/plugin.json +1 -1
- package/scripts/hooks/ambient-prompt +1 -1
- package/scripts/hud/components/version-badge.d.ts.map +1 -1
- package/scripts/hud/components/version-badge.js +3 -3
- package/scripts/hud/components/version-badge.js.map +1 -1
- package/shared/skills/ambient-router/SKILL.md +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to DevFlow will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.8.3] - 2026-03-22
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **HUD**: version upgrade notice persists after install — cache now stores only npm `latest`, reads installed version live
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## [1.8.2] - 2026-03-22
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- **Ambient mode**: skills not loading despite correct classification — reordered instructions so Skill tool invocations happen before any text output
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
8
22
|
## [1.8.1] - 2026-03-22
|
|
9
23
|
|
|
10
24
|
### Changed
|
|
@@ -976,6 +990,8 @@ devflow init
|
|
|
976
990
|
---
|
|
977
991
|
|
|
978
992
|
[Unreleased]: https://github.com/dean0x/devflow/compare/v1.4.0...HEAD
|
|
993
|
+
[1.8.3]: https://github.com/dean0x/devflow/compare/v1.8.2...v1.8.3
|
|
994
|
+
[1.8.2]: https://github.com/dean0x/devflow/compare/v1.8.1...v1.8.2
|
|
979
995
|
[1.8.1]: https://github.com/dean0x/devflow/compare/v1.8.0...v1.8.1
|
|
980
996
|
[1.8.0]: https://github.com/dean0x/devflow/compare/v1.7.0...v1.8.0
|
|
981
997
|
[1.7.0]: https://github.com/dean0x/devflow/compare/v1.6.1...v1.7.0
|
package/README.md
CHANGED
|
@@ -157,6 +157,8 @@ npx devflow-kit init --plugin=go
|
|
|
157
157
|
npx devflow-kit init
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
+
The interactive wizard walks through plugin selection, feature configuration (ambient mode, working memory, HUD, safe-delete), and security settings. In user scope, it discovers all projects Claude has worked on and batch-installs `.claudeignore` across them.
|
|
161
|
+
|
|
160
162
|
### Install Specific Plugins
|
|
161
163
|
|
|
162
164
|
```bash
|
|
@@ -61,16 +61,16 @@ export default async function versionBadge(ctx) {
|
|
|
61
61
|
const current = getCurrentVersion(ctx.devflowDir);
|
|
62
62
|
if (!current)
|
|
63
63
|
return null;
|
|
64
|
-
//
|
|
64
|
+
// Cache only the npm registry result (expensive); current is always live
|
|
65
65
|
let info = readCache(VERSION_CACHE_KEY);
|
|
66
66
|
if (!info) {
|
|
67
67
|
const latest = await fetchLatestVersion();
|
|
68
68
|
if (latest) {
|
|
69
|
-
info = {
|
|
69
|
+
info = { latest };
|
|
70
70
|
writeCache(VERSION_CACHE_KEY, info, VERSION_CACHE_TTL);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
if (info && compareVersions(
|
|
73
|
+
if (info && compareVersions(current, info.latest) < 0) {
|
|
74
74
|
const badge = `\u2726 Devflow v${info.latest} \u00B7 update: npx devflow-kit init`;
|
|
75
75
|
return { text: yellow(badge), raw: badge };
|
|
76
76
|
}
|
package/package.json
CHANGED
|
@@ -87,7 +87,9 @@ See `references/skill-catalog.md` for the full skill-to-intent mapping with file
|
|
|
87
87
|
<IMPORTANT>
|
|
88
88
|
When classification is GUIDED or ORCHESTRATED, skill loading is NON-NEGOTIABLE.
|
|
89
89
|
Do not rationalize skipping skills. Do not respond without loading them first.
|
|
90
|
-
BLOCKING REQUIREMENT:
|
|
90
|
+
BLOCKING REQUIREMENT: Your FIRST tool calls MUST be Skill tool invocations — before
|
|
91
|
+
writing ANY text about the task. Invoke all selected skills, THEN state classification,
|
|
92
|
+
THEN proceed with work. Do NOT write implementation text before all Skill tools return.
|
|
91
93
|
For IMPLEMENT intent, enforce TDD: write the failing test before ANY production code.
|
|
92
94
|
NOTE: Skills loaded in the main session via ambient mode are reference patterns only —
|
|
93
95
|
their allowed-tools metadata does NOT restrict your tool access. You retain full access
|
|
@@ -95,8 +97,8 @@ to all tools (Edit, Write, Bash, Agent, etc.) for implementation work.
|
|
|
95
97
|
</IMPORTANT>
|
|
96
98
|
|
|
97
99
|
- **QUICK:** Respond directly. No preamble, no classification statement.
|
|
98
|
-
- **GUIDED:**
|
|
99
|
-
- **ORCHESTRATED:**
|
|
100
|
+
- **GUIDED:** First, invoke each selected skill using the Skill tool. After all Skill tools return, state classification briefly: `Ambient: IMPLEMENT/GUIDED. Loading: implementation-patterns, search-first.` Then work directly in main session. After code changes, spawn Simplifier on changed files.
|
|
101
|
+
- **ORCHESTRATED:** First, invoke each selected skill using the Skill tool. After all Skill tools return, state classification briefly: `Ambient: IMPLEMENT/ORCHESTRATED. Loading: implementation-orchestration, implementation-patterns.` Then follow Step 5 for agent orchestration.
|
|
100
102
|
|
|
101
103
|
### GUIDED Behavior by Intent
|
|
102
104
|
|
|
@@ -40,7 +40,7 @@ fi
|
|
|
40
40
|
|
|
41
41
|
# Inject classification preamble
|
|
42
42
|
# SYNC: must match tests/integration/helpers.ts AMBIENT_PREAMBLE
|
|
43
|
-
PREAMBLE="AMBIENT MODE ACTIVE: Before responding, silently classify this prompt using the ambient-router skill already in your session context. If QUICK, respond normally without stating classification. If GUIDED or ORCHESTRATED,
|
|
43
|
+
PREAMBLE="AMBIENT MODE ACTIVE: Before responding, silently classify this prompt using the ambient-router skill already in your session context. If QUICK, respond normally without stating classification. If GUIDED or ORCHESTRATED, your FIRST tool calls MUST be Skill tool invocations for each selected skill — before writing ANY text about the task."
|
|
44
44
|
|
|
45
45
|
jq -n --arg ctx "$PREAMBLE" '{
|
|
46
46
|
"hookSpecificOutput": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-badge.d.ts","sourceRoot":"","sources":["../../../src/cli/hud/components/version-badge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"version-badge.d.ts","sourceRoot":"","sources":["../../../src/cli/hud/components/version-badge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAwElE,wBAA8B,YAAY,CACxC,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAqBjC"}
|
|
@@ -61,16 +61,16 @@ export default async function versionBadge(ctx) {
|
|
|
61
61
|
const current = getCurrentVersion(ctx.devflowDir);
|
|
62
62
|
if (!current)
|
|
63
63
|
return null;
|
|
64
|
-
//
|
|
64
|
+
// Cache only the npm registry result (expensive); current is always live
|
|
65
65
|
let info = readCache(VERSION_CACHE_KEY);
|
|
66
66
|
if (!info) {
|
|
67
67
|
const latest = await fetchLatestVersion();
|
|
68
68
|
if (latest) {
|
|
69
|
-
info = {
|
|
69
|
+
info = { latest };
|
|
70
70
|
writeCache(VERSION_CACHE_KEY, info, VERSION_CACHE_TTL);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
if (info && compareVersions(
|
|
73
|
+
if (info && compareVersions(current, info.latest) < 0) {
|
|
74
74
|
const badge = `\u2726 Devflow v${info.latest} \u00B7 update: npx devflow-kit init`;
|
|
75
75
|
return { text: yellow(badge), raw: badge };
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-badge.js","sourceRoot":"","sources":["../../../src/cli/hud/components/version-badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"version-badge.js","sourceRoot":"","sources":["../../../src/cli/hud/components/version-badge.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,9 @@ See `references/skill-catalog.md` for the full skill-to-intent mapping with file
|
|
|
87
87
|
<IMPORTANT>
|
|
88
88
|
When classification is GUIDED or ORCHESTRATED, skill loading is NON-NEGOTIABLE.
|
|
89
89
|
Do not rationalize skipping skills. Do not respond without loading them first.
|
|
90
|
-
BLOCKING REQUIREMENT:
|
|
90
|
+
BLOCKING REQUIREMENT: Your FIRST tool calls MUST be Skill tool invocations — before
|
|
91
|
+
writing ANY text about the task. Invoke all selected skills, THEN state classification,
|
|
92
|
+
THEN proceed with work. Do NOT write implementation text before all Skill tools return.
|
|
91
93
|
For IMPLEMENT intent, enforce TDD: write the failing test before ANY production code.
|
|
92
94
|
NOTE: Skills loaded in the main session via ambient mode are reference patterns only —
|
|
93
95
|
their allowed-tools metadata does NOT restrict your tool access. You retain full access
|
|
@@ -95,8 +97,8 @@ to all tools (Edit, Write, Bash, Agent, etc.) for implementation work.
|
|
|
95
97
|
</IMPORTANT>
|
|
96
98
|
|
|
97
99
|
- **QUICK:** Respond directly. No preamble, no classification statement.
|
|
98
|
-
- **GUIDED:**
|
|
99
|
-
- **ORCHESTRATED:**
|
|
100
|
+
- **GUIDED:** First, invoke each selected skill using the Skill tool. After all Skill tools return, state classification briefly: `Ambient: IMPLEMENT/GUIDED. Loading: implementation-patterns, search-first.` Then work directly in main session. After code changes, spawn Simplifier on changed files.
|
|
101
|
+
- **ORCHESTRATED:** First, invoke each selected skill using the Skill tool. After all Skill tools return, state classification briefly: `Ambient: IMPLEMENT/ORCHESTRATED. Loading: implementation-orchestration, implementation-patterns.` Then follow Step 5 for agent orchestration.
|
|
100
102
|
|
|
101
103
|
### GUIDED Behavior by Intent
|
|
102
104
|
|