@relipa/ai-flow-kit 0.1.0 → 0.1.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,334 +1,350 @@
1
- # Changelog
2
-
3
- All notable changes to **ai-flow-kit** will be documented in this file.
4
-
5
- Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
- Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ---
9
-
10
- ## [0.1.0] - 2026-05-28
11
-
12
- ### Added
13
-
14
- - **Multi-target `ak use`** — `ak use` now accepts variadic targets so multiple sources can be loaded in a single call. The first target becomes the primary context (drives Gate 1); the rest are appended to `current.json` as `supplementaryContext[]`. Targets can be ticket IDs, Backlog/Jira URLs, or local files.
15
- ```bash
16
- ak use PROJ-33 PROJ-10 docs/arch.md
17
- # PROJ-33 = primary, PROJ-10 + docs/arch.md = supplementary
18
- ```
19
- Backward compatible: `ak use PROJ-33` (single target) behaves exactly as before.
20
- - **Auto link resolution** — When the primary ticket's description contains Backlog/Jira URLs, `ak use` now auto-fetches them and appends to `supplementaryContext[]`. AI no longer misses linked context. Capped at **5 auto-resolved links per `use`** to keep loads fast; per-link errors are caught and logged without aborting the command.
21
- - **Comment-aware link resolution** — Comment URLs are resolved to that **single comment** instead of fetching the whole ticket. Recognised patterns:
22
- - Backlog: `https://*.backlog.com/view/PROJ-10#comment-456`
23
- - Jira: `https://*.atlassian.net/browse/PROJ-10?focusedCommentId=456`
24
- - **`ak fetch-links <url>` command** — Standalone command that fetches a single Backlog/Jira URL and prints a `SupplementaryContext` JSON object to stdout. Used by the `read-study-requirement` skill at runtime when AI encounters a link in the ticket description that wasn't already resolved at `use` time.
25
- ```bash
26
- ak fetch-links "https://company.backlog.com/view/PROJ-10#comment-456"
27
- ```
28
- - **`supplementaryContext[]` schema in `current.json`** — New top-level array; each item has shape `{ sourceType: 'ticket'|'comment'|'file'|'text', sourceUrl?, sourcePath?, ticketId?, commentId?, title?, description?, content?, author?, date? }`. Persisted across sessions and consumed by the SessionStart hook.
29
- - **SessionStart hook renders supplementary block** — `scripts/hooks/session-start.js` now emits a `**Supplementary Context (N source(s)):**` section in the AI context prompt, one line per item, content truncated at 1000 chars to keep token cost bounded.
30
- - **`read-study-requirement` skill integrates supplementary context** Gate 1 instruction file (custom + installed `.claude/skills/`) now has an explicit step to read `supplementaryContext[]` and use `ak fetch-links` for any unresolved links found while analysing the ticket.
31
- - **`scripts/link-resolver.js` module** — New CommonJS module that owns all URL classification and HTTPS fetching for Backlog/Jira. Exports: `classifyLink`, `scanLinks`, `fetchBacklogTicket`, `fetchBacklogComment`, `fetchJiraTicket`, `fetchJiraComment`, `fetchLink`, `resolveLinks`. Accepts credentials as parameters to keep `use.js` free of circular imports.
32
- - **Jest test suite** — Added Jest 30 as a dev dependency with `testMatch: ["<rootDir>/tests/**/*.test.js"]` to scope discovery to project tests (skips `upstream/tests/`). Suite includes `tests/smoke.test.js` and 20 unit tests in `tests/link-resolver.test.js` covering URL classification, scan, dedup, per-adapter fetch paths, and `resolveLinks` error isolation.
33
-
34
- ### Changed
35
-
36
- - **`use.js` exports as named const** — `module.exports` shifted from anonymous function to `useCommand` with a `loadCredentials` property attached, so other modules (CLI `fetch-links` handler) can reuse credential loading without re-implementing it. External call shape (`useCommand(targets, options)`) unchanged for backward compatibility.
37
-
38
- ---
39
-
40
- ## [0.0.9] - 2026-05-25
41
-
42
- ### Added
43
-
44
- - **`figma-desktop` adapter** — New MCP preset using the official `@figma/mcp-server` package (Figma Inc.). Requires Figma Desktop app installed and open. No API token needed authenticates via Desktop session. Run `ak init -a figma-desktop` to set up. See [`custom/mcp-presets/figma-desktop.json`](../../custom/mcp-presets/figma-desktop.json).
45
- - **Next.js App Router support in `figma-to-component` skill** — Detects App Router projects (via `nextjs-app-router` in `CLAUDE.md` or presence of `app/` directory). Defaults to Server Component (`export default async function`); adds `'use client'` directive only when the design has interactive states (hover, click handlers, form inputs).
46
- - **Angular support in `figma-to-component` skill** Detects Angular projects (via `angular` in `CLAUDE.md` or presence of `angular.json`). Generates standalone `@Component` class with `@Input() className` and computed `hostClasses` getter. Uses Tailwind if `tailwind.config.*` exists, otherwise CSS-in-component.
47
- - **4-tier framework detection in `figma-to-component` skill** Detection order: (1) `CLAUDE.md` identifier (2) project file scan (`app/` dir, `angular.json`, `nuxt.config.*`) (3) fallback to Next.js/React. Previously only supported React and Vue.
48
- - **Figma workflow guide** — New developer guide at [`docs/common/workflows/figma.md`](figma.md) covering prerequisites (REST API vs Desktop), how to get node URLs, trigger commands, expected output format, review checklist, and troubleshooting table.
49
- - **MCP presets documentation** — Added full Figma REST API and Figma Desktop sections to [`custom/mcp-presets/README.md`](../../custom/mcp-presets/README.md), including a side-by-side comparison table.
50
- - **`ak gate N start|approved` auto-syncs task state** — Calling `ak gate 1 start --ticket PROJ-33` now automatically advances `currentGate` in `task-state.json`, removing the need to always call `ak task next` for gate tracking. `approved` records the approval timestamp and advances to the next gate. Uses `Math.max()` guard to never regress gate progress.
51
- - **Session telemetry enrichment** — `session.start` now captures the active AI model name and user email from config. `session.stop` records model, input/output token counts, and a prompt summary extracted from the session transcript (`transcript_path` in hookData).
52
- - **`project-conventions.md`**New mandatory override file at `custom/rules/project-conventions.md`. Enforces that Gate 2 plans are always saved to `plan/[ticket-id]/plan.md` (overriding the skill default `docs/superpowers/plans/`). Includes a checklist and path table for all Gate outputs.
53
- - **Gate workflow: explicit plan output path** — Gate 2 instruction in `gate-workflow.md` now explicitly states that the plan must be saved to `plan/[ticket-id]/plan.md`, with a note that the `writing-plans` skill default path is overridden.
54
- - **WSL clipboard support in `ak prompt`** — `ak prompt` now correctly copies output to the Windows clipboard when running inside WSL using `powershell.exe Set-Clipboard`. Previously fell through to `xclip`/`xsel` which are unavailable on WSL without extra setup.
55
- - **`appscript.js`** — Google Apps Script source for the self-hosted telemetry backend. Receives HMAC-signed events from the `ak` CLI, validates them, and appends rows to Google Sheets.
56
- - **Telemetry `record()` returns result object** — `record()` now returns `{ok: true}` on success or `{ok: false, reason, error}` on failure, enabling `ak gate` and `ak telemetry log` to display ✓ / ⚠ feedback per event.
57
- - **`ak init` remembers previous framework selection** — Re-running `ak init` in an already-configured project now pre-selects the previously chosen frameworks (read from `.aiflow/state.json`) instead of falling back to auto-detection. A "Previously selected: ..." hint is shown above the checkbox list.
58
-
59
- ### Fixed
60
-
61
- - **Critical: `figma-to-component` skill used non-existent tool names** — The skill referenced `figma_get_file_nodes`, `figma_get_file_styles`, `figma_get_file_components`, and `figma_get_image` none of which exist in `figma-developer-mcp` or any other MCP package, causing the skill to silently fail on every run. Replaced with the correct tools: `get_figma_data(fileKey, nodeId, depth=2)` and `download_figma_images(fileKey, nodes, localPath)`.
62
- - **Figma API token verification using wrong auth header** `verifyFigma()` in `scripts/init.js` was sending `Authorization: Bearer <token>`, which is only valid for OAuth tokens. Figma Personal Access Tokens (`figd_...`) require `X-Figma-Token: <token>`. This caused every PAT to be rejected as invalid during `ak init -a figma` even when the token was correct.
63
- - **Critical: `currentGate` not advancing after gate transitions** `task-state.json` was not updating `currentGate` when the AI called `ak gate N start`, so resuming a task always restarted from the wrong gate. Added dedicated `updateTaskGateState()` and fixed `createOrActivateTaskState()` to use `Math.max()`.
64
- - **Duplicate `session.start` telemetry event** — `session-start.js` was calling `record()` before reading stdin, causing the event to fire twice in some hook configurations. Fixed by moving `record()` inside the `stdin.on('end')` handler.
65
- - **Short command aliases not resolving for telemetry** — `task` and `memory` subcommand short aliases (`t st`, `t ls`, `mem s`, etc.) were not being resolved before telemetry pre-processing, causing `unknown` in the command column. Fixed alias resolution in the pre-hook telemetry mapping.
66
- - **`ak telemetry log` silent on failure** — `ak telemetry log --event X` previously swallowed all errors silently (no output). Now shows on success and with reason (`disabled`, `opted-out`, `no-url`) on skip/failure.
67
- - **Gate telemetry blocked by bash redirect error** — AI was appending `2>$null` (PowerShell syntax) to `ak gate` commands when following "run silently" instructions, causing bash to fail with `/usr/bin/bash: $null: ambiguous redirect`. Added explicit "do NOT append shell redirects" instruction to `gate-workflow.md` for all gate telemetry commands.
68
-
69
- ---
70
-
71
- ## [0.0.8-beta.1] - 2026-05-14
72
-
73
- ### Fixed
74
-
75
- - **Auto-commit bug — actually fixed this time.** v0.0.7 claimed to remove "all automatic `git commit` and `git add` instructions from key AI skills" but the commit (`d490dab`) only added documentation/warning lines and left the active instructions in place. This release does the real work:
76
- - Removed `4. Commit your work` from [.claude/skills/subagent-driven-development/implementer-prompt.md](.claude/skills/subagent-driven-development/implementer-prompt.md) (synced from upstream which had already been fixed).
77
- - Removed the `### Commit Strategy` section, `Estimated commits: [N]` line, and `MUST plan small, focused commits` rule from [custom/skills/generate-spec/SKILL.md](custom/skills/generate-spec/SKILL.md) these were active in Gate 2 every run.
78
- - Removed `Commit the design document to git` and "and commit"/"committed to" wording from [upstream/skills/brainstorming/SKILL.md](upstream/skills/brainstorming/SKILL.md).
79
- - **Hard guarantee via PreToolUse hook.** Added [scripts/hooks/block-git-write.js](scripts/hooks/block-git-write.js) that intercepts every Bash tool call and blocks `git commit`, `git add`, `git push`, `git tag`, `git reset`, `git rebase`, `git revert`, `git cherry-pick`, `git am`, and `git merge`. Read operations (`git status`, `git rev-parse`, `git log`, `git diff`) and worktree operations (`git worktree add/list/remove`) remain allowed. `aiflow init`/`update` auto-installs the hook into `.claude/settings.json`. Override with `AIFLOW_ALLOW_GIT_WRITE=1` for kit maintenance scripts. Defense-in-depth: even if a future skill smuggles a commit instruction, the harness blocks it before it reaches git.
80
-
81
- ## [0.0.8] - 2026-05-14
82
-
83
- ### Added
84
-
85
- - **Short-hand CLI Command `ak`** — Added `ak` as an ultra-short alias for `aiflow` for faster developer workflow.
86
- - **Command Aliases** — All major commands now have short aliases to reduce keystrokes:
87
- - `init` → `i` · `use` → `u` · `prompt` → `p` · `detect` → `d` · `task` → `t` · `context` → `ctx`
88
- - `checkpoint` → `cp` · `validate` → `vl` · `memory` → `mem` · `guide` → `g`
89
- - `remove` → `rm` · `update` → `up` · `sync-skills` → `sync` · `doctor` → `dr` · `telemetry` → `tel`
90
- - **`task` sub-command aliases**: `status` → `st` · `list` → `ls` · `pause` → `p` · `switch` → `sw` · `resume` → `r` · `reset` → `rst` · `remove` → `rm` · `next` → `n`
91
- - **`memory` sub-command aliases**: `save` `s` · `get` `g` · `list` `ls` · `search` `sr` · `delete` `d` · `clear` `cl`
92
- - **New short options**:
93
- - `-v` short flag for `--version` at root (works alongside legacy `-V`)
94
- - `init --fw <types>` long alias for `--framework`
95
- - `use -F/--fast`, `-U/--full`
96
- - `prompt -L/--lang`, `-d/--detail`
97
- - `validate -x/--fix`
98
- - `context -l/--load`
99
- - `checkpoint -g/--gate`, `-s/--step`, `-n/--tokens`
100
- - `guide -f/--flow`, `-c/--commands`
101
- - `remove -g/--global`
102
- - `update -f/--force`
103
- - **Enhanced Comment Loading Options** Added granular control for fetching ticket comments in `ak use`:
104
- - `-c` or `--coms` Quick alias to load all comments.
105
- - `--cid <id>` Load a specific comment by its ID.
106
- - `--clast <n>` Load only the last N comments.
107
- - `--cfrom <id>` Load comments starting from a specific ID.
108
- - `--cto <id>` — Load comments up to a specific ID.
109
- - **Deprecation Warning** Added a friendly suggestion to use `ak` when the legacy `aiflow` command is invoked, preparing for future deprecation.
110
-
111
- ### Fixed
112
-
113
- - **Backlog Comment Pagination** — Fixed a critical bug where comments were not loading due to an invalid `offset` parameter in the Backlog API. Switched to `minId`-based pagination to ensure reliable and complete comment fetching.
114
- - **Robust Comment Filtering** — Centralized comment filtering logic to effectively exclude metadata-only comments (changelogs) and focus on actual discussions.
115
-
116
- ### Changed
117
-
118
- - **CLI Consistency** — Updated all command-line help descriptions and internal mappings to support the new shortened flags while maintaining backward compatibility with legacy long-form options.
119
- - **Documentation Alignment** — Updated all guides (QUICK_START, cli-reference) to reflect `ak` command and new short aliases.
120
-
121
- ---
122
-
123
- ## [0.0.7] - 2026-05-08
124
-
125
- ### Added
126
-
127
- - **`aiflow use --file` enhancements**:
128
- - Automatic `taskId` generation from filename (up to 5 words).
129
- - Full filename used as task `title`.
130
- - Interactive `taskType` selection prompt during file loading for better context.
131
- - **`documentation` task type** — Added support for documentation-specific tasks in `aiflow use` and task detection.
132
- - **Automatic `task-summary.md` generation** — `aiflow task next` now generates a cumulative progress report in `plan/[ticket-id]/task-summary.md` at each gate finish.
133
- - **Session Continuity Instructions** — Added explicit instructions on how to switch to a fresh chat session and resume tasks (including Gate 3 sub-tasks) to both CLI output and AI skill prompts.
134
- - **NestJS framework support** — Added `nestjs` to the framework selector (`aiflow init`), language rule mapping (`javascript`), and AI instruction template (`custom/templates/nestjs.md`).
135
- - **PHP Plain (no framework) support** — Added `php-plain` as a new framework option with a dedicated AI system prompt template covering strict types, PSR-12, PDO prepared statements, security best practices, Repository/Service/Controller layering, and PHPUnit testing.
136
- - **`investigate-bug` skill: NestJS and PHP plain data flows** — Added framework-specific data flow traces for NestJS (`Controller → Service → Repository → DB`) and PHP Plain (`index.php → Controller → Service → Repository/PDO → DB`).
137
- - **Intelligent AI Instruction Synchronization** — Marker-based (`<!-- aiflow-kit-start -->`) block updates for `CLAUDE.md`, `GEMINI.md`, and `.cursorrules`.
138
- - **Interactive Instruction Safety** — Granular confirmation prompts for all instruction file modifications (update block, overwrite, or create new).
139
- - **Automated Repository Hygiene** — Generated files and folders (`.aiflow/`, `plan/`, `.claude/`, `.rules/`, `.mcp.json`, and instruction files) are now automatically managed in `.gitignore`.
140
- - **`aiflow sync-skills` command** — Lightweight command to synchronize Skill Registry and Instruction files without a full version upgrade.
141
- - **Enhanced `aiflow guide --flow`** — Now dynamically displays the `## Workflow Overview` section directly from `AIFLOW.md` for up-to-date documentation.
142
- - **Token savings dashboard in `aiflow doctor`** — new "Token savings" section shows RTK status and estimated 60–90% reduction on bash outputs.
143
-
144
- ### Changed
145
-
146
- - **Robust Gate Detection** — Refactored `detectCurrentGate` to prioritize `task-state.json` as the source of truth for task progress.
147
- - **`aiflow gate approved` CLI output** — Now prints a session-refresh tip to help users maintain clean AI contexts.
148
- - **`aiflow update` efficiency** — Now automatically performs skill and instruction synchronization even if the version is unchanged (removes the need for `--force`).
149
- - **Safety First Development** — Removed all automatic `git commit` and `git add` instructions from key AI skills (`subagent-driven-development`, `using-git-worktrees`, `writing-plans`, `generate-spec`) to ensure developer-led commit management.
150
- - **Localized CLI** — All interactive prompts and confirmation messages translated to English for consistency.
151
- - **`aiflow init` RTK entry** — flag description updated to clarify RTK saves bash output tokens (60–90%).
152
- - **`aiflow doctor`**RTK section merged into new "Token savings" section.
153
- - **README.md / QUICK_START.md / AIFLOW.md** — Updated to reflect session continuity workflow, `sync-skills` command, and improved update flow.
154
-
155
- ### Fixed
156
-
157
- - **Automatic Git Commits Removed**Fully disabled automated version control actions across the entire Skill Registry. Developers now have full manual control over staging and commits, preventing unintended history pollution during AI implementation.
158
- - **NestJS auto-detection** `@nestjs/core` in `package.json` was incorrectly detected as `nodejs-express`; now correctly resolves to `nestjs`.
159
- - **PHP project auto-detection** — Projects with `composer.json` but no Laravel dependency now correctly auto-detect as `php-plain` instead of being skipped.
160
- - **Instruction Safety** — Fixed `.github/copilot-instructions.md` not being included in automated `.gitignore` rules.
161
-
162
- ---
163
-
164
- ## [0.0.6] - 2026-04-29
165
-
166
- ### Added
167
-
168
- - **Global Fast Mode (Default)** Optimize AI efficiency by prioritizing speed and minimizing token usage.
169
- - Gate 1: Fast track scan with max 1 clarifying question.
170
- - Gate 3: Disable subagents by default; implement all tasks in a single session.
171
- - Gate 4: Quick scan impact analysis based on git diffs; simplified review checklist.
172
- - **Improved `--file` loader** — `aiflow use --file` now supports plain-text files (JSON no longer required).
173
- - Auto-detects Ticket ID and Title from the text content.
174
- - **Gate-aware Injection** — Enhanced `session-start.js` hook to inject gate-appropriate "Fast Track" instructions during task resumption.
175
- - **Full Mode flag** — Added `--full` flag to bypass Fast mode optimizations for complex tasks.
176
- - **`aiflow task` command group** — Manage multiple tasks in the same repository without losing progress.
177
- - `aiflow task status`, `list`, `pause`, `switch`, `resume`.
178
- - **RTK token compression integration** — `aiflow init` automatically configures the RTK hook for 60–90% token savings on shell commands.
179
- - **`aiflow use --fast` / `--full` flags** — Control Gate 1 analysis depth per ticket.
180
- - **Spring Boot code examples extracted** — Java code examples moved to separate files to reduce `CLAUDE.md` size.
181
-
182
- ### Changed
183
-
184
- - **Default mode** for all new tasks is now `fast` instead of `auto`.
185
- - **`aiflow init` improvements** Supports multi-select framework and protects existing instruction files from being overwritten.
186
- - **CLAUDE.md Optimization** Reduced Spring Boot template size by ~70%, saving ~3-5k tokens per session.
187
- - **Documentation Synchronization** Fixed all documentation links on npmjs.com and updated Overview Flow in README.
188
- - **Automatic Task Pausing** — When loading a new ticket, the current task is automatically paused and its state is saved.
189
-
190
- ### Fixed
191
-
192
- - Broken 404 documentation links on the npmjs.com page.
193
-
194
- ---
195
-
196
- ## [0.0.4-beta.5] - 2026-04-21
197
-
198
- ### Added
199
-
200
- - Created a dedicated `docs/` folder to house all developer-facing documentation.
201
- - Integrated AI Skill Registry into all tool templates (Claude, Cursor, Gemini, Copilot) for better skill discovery.
202
-
203
- ### Changed
204
-
205
- - Moved `README.md`, `QUICK_START.md`, `AIFLOW.md`, `CHANGELOG.md`, and `IMPLEMENTATION_SUMMARY.md` into the `docs/` directory.
206
- - Updated `package.json` to exclude internal-only files (`CONTRIBUTING.md`, `plan.md`) from the NPM package distribution.
207
- - Updated `scripts/init.js` to source documentation from the new `docs/` location.
208
- - Updated all internal documentation links to reflect the new directory structure.
209
-
210
- ---
211
-
212
- ## [0.0.5-beta.0] - 2026-04-23
213
-
214
- ### Added
215
-
216
- - **`aiflow gate <n> <action>` command** — Called automatically by AI during gate transitions. Supports `start` and `approved` actions for gates 1-5. Options: `--ticket <id>`, `--ai-tool <tool>`.
217
- - **Telemetry gate logging** Gate workflow templates now emit `aiflow gate N start/approved --ticket [id]` telemetry calls at each gate transition for usage metrics.
218
- - **`aiflow telemetry flush` command** — Force-sends buffered telemetry events immediately.
219
-
220
- ### Changed
221
-
222
- - **`aiflow init` safe overwrite flow** When a project already has `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, etc., `aiflow init` now prompts before overwriting:
223
- - **No (default):** keeps existing file untouched; saves the aiflow template to `.aiflow/reference/<file>` for manual comparison/merge.
224
- - **Yes:** backs up the existing file to `.aiflow/backup/<file>` before overwriting nothing is permanently lost.
225
- - **`aiflow use --manual` pre-fill (Edit mode)** — Re-running `aiflow use --manual` when context already exists now pre-fills all fields (Ticket ID, Title, Description, Task type) with the current values; press Enter on any field to keep it unchanged.
226
- - **Fix TEAM_SECRET input** — Replaced `password()` prompt with `input()` using a masked hint `[Reli***!@#]`; pressing Enter retains the existing value.
227
- - **Fix Apps Script URL input** — Same pattern as TEAM_SECRET: masked hint `[https://script.google.com/macros/s/AKfy***xxxx/exec]`; pressing Enter retains the existing value.
228
- - **Downgrade dependencies for Node >=16 compatibility** — `@inquirer/prompts` downgraded from `^8.3.2` to `^3.0.0`; `commander` downgraded from `^14.0.3` to `^11.0.0`.
229
- - **`engines.node`** updated from `>=14.0.0` to `>=16.0.0`.
230
-
231
- ---
232
-
233
- ## [0.0.5] - 2026-04-23
234
-
235
- ### Added
236
-
237
- - **Telemetry System (MVP)**: Added anonymous usage tracking to measure command metrics and user adoption.
238
- - `aiflow telemetry enable/disable/status` commands to easily opt-in or opt-out.
239
- - Automatically captures environment metadata and Git email via `git config --global user.email`.
240
- - Secure payload signing natively using Node `crypto` HMAC-SHA256 to ensure data authenticity.
241
- - Asynchronous payload flusher to ensure zero impact on command execution time (`< 5ms` overhead).
242
- - Support tracking for multiple AI platforms including Cursor and Gemini via Command Execution events and the new Telemetry SDK.
243
-
244
- ### Security
245
-
246
- - **Strict Privacy**: Explicitly removed all prompt content and chat history tracking to ensure 100% confidentiality of company code and PII.
247
-
248
- ---
249
-
250
- ## [Unreleased]
251
-
252
- ## [0.0.3-beta.0] - 2026-04-13
253
-
254
- ### Security
255
-
256
- - Removed internal GitLab repository links and tracking information.
257
- - Cleaned `.npmrc` configuration.
258
- - Added helper scripts for beta and stable releases.
259
-
260
- ## [0.0.2] - 2026-04-13
261
-
262
- ### Changed
263
-
264
- - Updated package name in documentation and configuration.
265
- - Fixed installation guides in README and QUICK_START.
266
-
267
- ## [0.0.1] - 2026-04-13 — Initial Release
268
-
269
- ### Added
270
-
271
- #### CLI (`aiflow`)
272
-
273
- - `aiflow init` — scaffold AI workflow config into any project
274
- (supports `--framework` spring-boot/reactjs, `--adapter` jira/backlog)
275
- - `aiflow use <skill>` — activate a custom skill in the current project
276
- - `aiflow remove` — cleanly remove `ai-flow-kit` scaffolding from a project
277
- - `aiflow guide` — interactive onboarding guide
278
- - `aiflow update` — sync upstream skill/hook updates
279
- - `aiflow doctor` — validate config, detect missing keys, report issues
280
- - `aiflow --version` print installed version
281
-
282
- #### 5-Gate AI Workflow
283
-
284
- - **Gate 1 — AI Analyze Requirement**: Auto-starts when a ticket context exists
285
- in `.aiflow/context/current.json`; outputs `plan/[ticket-id]/requirement.md`
286
- - **Gate 2 — Implementation Plan**: TDD plan generation, gated by `APPROVED`
287
- - **Gate 3 — Code Generation**: TDD-only, test-first discipline enforced
288
- - **Gate 4 — AI Self-Review**: Verification + impact analysis + checklist, gated by `APPROVED`
289
- - **Gate 5Peer Review & PR**: Guided PR creation via `requesting-code-review` skill
290
-
291
- #### Custom Skills (7 skills)
292
-
293
- - `read-study-requirement` — Gate 1 requirement analysis with clarifying Q&A loop
294
- - `generate-spec` — Gate 2 TDD implementation spec generator
295
- - `impact-analysis` — breaking-change and dependency impact assessment
296
- - `investigate-bug` — systematic bug investigation (reproduce → root cause → fix)
297
- - `report-customer` — customer-facing incident report generator
298
- - `review-plan` — Gate 4 self-review orchestrator
299
- - `figma-to-component` — Figma design → UI component code generator
300
-
301
- #### Multi-AI Support
302
-
303
- - **Claude Code** integration via `CLAUDE.md` + `.claude/` directory structure
304
- - **Gemini CLI** integration via `GEMINI.md`
305
- - **GitHub Copilot** integration via agents config
306
- - Superpowers skill library bundled as `upstream/` (pinned to v5.0.5)
307
-
308
- #### Project Templates
309
-
310
- - `AIFLOW.md` — team workflow reference document
311
- - `QUICK_START.md` — 5-minute setup guide
312
- - `.aiflowrc.json.example` — configuration file reference
313
-
314
- ### Architecture Notes
315
-
316
- - Stateless per-ticket design — no persistent memory across sessions (planned: v0.1.x)
317
- - Manual skill sync model via `aiflow use` (managed `aiflow skill` CLI planned: v0.1.x)
318
- - Spring Boot (Java 17+) used as the reference framework in `CLAUDE.md` coding rules
319
-
320
- ---
321
-
322
- ## How to upgrade
323
-
324
- ```bash
325
- npm install -g @relipa/ai-flow-kit@latest
326
- aiflow --version
327
- ```
328
-
329
- After upgrading, run `aiflow update` inside your project to sync the latest skills and hooks:
330
-
331
- ```bash
332
- cd your-project
333
- aiflow update
334
- ```
1
+ # Changelog
2
+
3
+ All notable changes to **ai-flow-kit** will be documented in this file.
4
+
5
+ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
+ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ---
9
+
10
+ ## [0.1.1] - 2026-06-08
11
+
12
+ ### Added
13
+
14
+ - **Ubuntu / Linux clipboard support in `ak prompt`** — `ak prompt` now copies to the clipboard on native Linux. It auto-detects the display server (Wayland `wl-copy`, X11 `xclip` → `xsel`) and the package manager (`apt-get` / `dnf` / `pacman` / `zypper`). When no clipboard tool is installed it prints a clear warning (`⚠ Clipboard tool not found (need: xclip)`), shows the exact install command, and offers to install it via `sudo` then retries the copy. If the user declines or no package manager is found, it falls back to printing the full prompt for manual copy. Previously the command silently failed on Ubuntu when neither `xclip` nor `xsel` was present.
15
+ - **`figma-to-component`: image detection & export** — The skill now scans the Figma node tree for image nodes (`fills[].type === "IMAGE"`, `VECTOR`/`BOOLEAN_OPERATION`, complex non-CSS groups), exports them via `download_figma_images` into `public/assets/figma/`, and records an `imageMap`. Generated components render those nodes with `<Image>` (Next.js) / `<img>` (React/Vue) instead of CSS `background-image`.
16
+ - **`figma-to-component`: MCP availability pre-check (Step 0)** — The skill now verifies `mcp__figma__get_figma_data` / `mcp__figma__download_figma_images` are connected before running, and stops with setup instructions (`aiflow init -a figma` / `-a figma-desktop`) instead of guessing design values from the URL.
17
+ - **`figma-to-component`: CSS tooling detection + design tokens** — Detection now branches on the project's styling approach (Tailwind / CSS Modules / styled-components / vanilla CSS) instead of hardcoding Tailwind, and prefers mapping Figma Styles/Variables to existing project tokens (Tailwind theme keys or CSS custom properties), falling back to arbitrary values only when no token matches.
18
+ - **`figma-to-component`: troubleshooting table** — Added a troubleshooting section covering MCP-not-connected, `403`/token rejected, request timeout (lower `depth`), `404` node-id, empty fills, and unsupported `download_figma_images`.
19
+
20
+ ### Fixed
21
+
22
+ - **Critical: `figma-to-component` source/installed divergence** — The source skill (`custom/skills/figma-to-component/SKILL.md`) still referenced the non-existent tool names `figma_get_file_nodes` / `figma_get_file_styles` / `figma_get_image` and only had 2-tier framework detection, while the installed `.claude/` copy had been fixed in 0.0.9. The next `aiflow init` / `sync-skills` would have overwritten the working copy with the broken source — re-introducing the 0.0.9 bug. Both copies are now synced to a single canonical version: correct tool names (`get_figma_data` / `download_figma_images`), 4-tier framework detection (App Router / React / Vue / Angular), and the image-export step.
23
+
24
+ ---
25
+
26
+ ## [0.1.0] - 2026-05-28
27
+
28
+ ### Added
29
+
30
+ - **Multi-target `ak use`** `ak use` now accepts variadic targets so multiple sources can be loaded in a single call. The first target becomes the primary context (drives Gate 1); the rest are appended to `current.json` as `supplementaryContext[]`. Targets can be ticket IDs, Backlog/Jira URLs, or local files.
31
+ ```bash
32
+ ak use PROJ-33 PROJ-10 docs/arch.md
33
+ # PROJ-33 = primary, PROJ-10 + docs/arch.md = supplementary
34
+ ```
35
+ Backward compatible: `ak use PROJ-33` (single target) behaves exactly as before.
36
+ - **Auto link resolution** — When the primary ticket's description contains Backlog/Jira URLs, `ak use` now auto-fetches them and appends to `supplementaryContext[]`. AI no longer misses linked context. Capped at **5 auto-resolved links per `use`** to keep loads fast; per-link errors are caught and logged without aborting the command.
37
+ - **Comment-aware link resolution** — Comment URLs are resolved to that **single comment** instead of fetching the whole ticket. Recognised patterns:
38
+ - Backlog: `https://*.backlog.com/view/PROJ-10#comment-456`
39
+ - Jira: `https://*.atlassian.net/browse/PROJ-10?focusedCommentId=456`
40
+ - **`ak fetch-links <url>` command** — Standalone command that fetches a single Backlog/Jira URL and prints a `SupplementaryContext` JSON object to stdout. Used by the `read-study-requirement` skill at runtime when AI encounters a link in the ticket description that wasn't already resolved at `use` time.
41
+ ```bash
42
+ ak fetch-links "https://company.backlog.com/view/PROJ-10#comment-456"
43
+ ```
44
+ - **`supplementaryContext[]` schema in `current.json`** — New top-level array; each item has shape `{ sourceType: 'ticket'|'comment'|'file'|'text', sourceUrl?, sourcePath?, ticketId?, commentId?, title?, description?, content?, author?, date? }`. Persisted across sessions and consumed by the SessionStart hook.
45
+ - **SessionStart hook renders supplementary block** — `scripts/hooks/session-start.js` now emits a `**Supplementary Context (N source(s)):**` section in the AI context prompt, one line per item, content truncated at 1000 chars to keep token cost bounded.
46
+ - **`read-study-requirement` skill integrates supplementary context** Gate 1 instruction file (custom + installed `.claude/skills/`) now has an explicit step to read `supplementaryContext[]` and use `ak fetch-links` for any unresolved links found while analysing the ticket.
47
+ - **`scripts/link-resolver.js` module** New CommonJS module that owns all URL classification and HTTPS fetching for Backlog/Jira. Exports: `classifyLink`, `scanLinks`, `fetchBacklogTicket`, `fetchBacklogComment`, `fetchJiraTicket`, `fetchJiraComment`, `fetchLink`, `resolveLinks`. Accepts credentials as parameters to keep `use.js` free of circular imports.
48
+ - **Jest test suite** — Added Jest 30 as a dev dependency with `testMatch: ["<rootDir>/tests/**/*.test.js"]` to scope discovery to project tests (skips `upstream/tests/`). Suite includes `tests/smoke.test.js` and 20 unit tests in `tests/link-resolver.test.js` covering URL classification, scan, dedup, per-adapter fetch paths, and `resolveLinks` error isolation.
49
+
50
+ ### Changed
51
+
52
+ - **`use.js` exports as named const** `module.exports` shifted from anonymous function to `useCommand` with a `loadCredentials` property attached, so other modules (CLI `fetch-links` handler) can reuse credential loading without re-implementing it. External call shape (`useCommand(targets, options)`) unchanged for backward compatibility.
53
+
54
+ ---
55
+
56
+ ## [0.0.9] - 2026-05-25
57
+
58
+ ### Added
59
+
60
+ - **`figma-desktop` adapter** — New MCP preset using the official `@figma/mcp-server` package (Figma Inc.). Requires Figma Desktop app installed and open. No API token needed — authenticates via Desktop session. Run `ak init -a figma-desktop` to set up. See [`custom/mcp-presets/figma-desktop.json`](../../custom/mcp-presets/figma-desktop.json).
61
+ - **Next.js App Router support in `figma-to-component` skill** — Detects App Router projects (via `nextjs-app-router` in `CLAUDE.md` or presence of `app/` directory). Defaults to Server Component (`export default async function`); adds `'use client'` directive only when the design has interactive states (hover, click handlers, form inputs).
62
+ - **Angular support in `figma-to-component` skill** Detects Angular projects (via `angular` in `CLAUDE.md` or presence of `angular.json`). Generates standalone `@Component` class with `@Input() className` and computed `hostClasses` getter. Uses Tailwind if `tailwind.config.*` exists, otherwise CSS-in-component.
63
+ - **4-tier framework detection in `figma-to-component` skill** Detection order: (1) `CLAUDE.md` identifier (2) project file scan (`app/` dir, `angular.json`, `nuxt.config.*`) (3) fallback to Next.js/React. Previously only supported React and Vue.
64
+ - **Figma workflow guide** — New developer guide at [`docs/common/workflows/figma.md`](figma.md) covering prerequisites (REST API vs Desktop), how to get node URLs, trigger commands, expected output format, review checklist, and troubleshooting table.
65
+ - **MCP presets documentation** — Added full Figma REST API and Figma Desktop sections to [`custom/mcp-presets/README.md`](../../custom/mcp-presets/README.md), including a side-by-side comparison table.
66
+ - **`ak gate N start|approved` auto-syncs task state** — Calling `ak gate 1 start --ticket PROJ-33` now automatically advances `currentGate` in `task-state.json`, removing the need to always call `ak task next` for gate tracking. `approved` records the approval timestamp and advances to the next gate. Uses `Math.max()` guard to never regress gate progress.
67
+ - **Session telemetry enrichment** — `session.start` now captures the active AI model name and user email from config. `session.stop` records model, input/output token counts, and a prompt summary extracted from the session transcript (`transcript_path` in hookData).
68
+ - **`project-conventions.md`** — New mandatory override file at `custom/rules/project-conventions.md`. Enforces that Gate 2 plans are always saved to `plan/[ticket-id]/plan.md` (overriding the skill default `docs/superpowers/plans/`). Includes a checklist and path table for all Gate outputs.
69
+ - **Gate workflow: explicit plan output path** — Gate 2 instruction in `gate-workflow.md` now explicitly states that the plan must be saved to `plan/[ticket-id]/plan.md`, with a note that the `writing-plans` skill default path is overridden.
70
+ - **WSL clipboard support in `ak prompt`** — `ak prompt` now correctly copies output to the Windows clipboard when running inside WSL using `powershell.exe Set-Clipboard`. Previously fell through to `xclip`/`xsel` which are unavailable on WSL without extra setup.
71
+ - **`appscript.js`** — Google Apps Script source for the self-hosted telemetry backend. Receives HMAC-signed events from the `ak` CLI, validates them, and appends rows to Google Sheets.
72
+ - **Telemetry `record()` returns result object** — `record()` now returns `{ok: true}` on success or `{ok: false, reason, error}` on failure, enabling `ak gate` and `ak telemetry log` to display ✓ / ⚠ feedback per event.
73
+ - **`ak init` remembers previous framework selection** — Re-running `ak init` in an already-configured project now pre-selects the previously chosen frameworks (read from `.aiflow/state.json`) instead of falling back to auto-detection. A "Previously selected: ..." hint is shown above the checkbox list.
74
+
75
+ ### Fixed
76
+
77
+ - **Critical: `figma-to-component` skill used non-existent tool names** — The skill referenced `figma_get_file_nodes`, `figma_get_file_styles`, `figma_get_file_components`, and `figma_get_image` none of which exist in `figma-developer-mcp` or any other MCP package, causing the skill to silently fail on every run. Replaced with the correct tools: `get_figma_data(fileKey, nodeId, depth=2)` and `download_figma_images(fileKey, nodes, localPath)`.
78
+ - **Figma API token verification using wrong auth header** — `verifyFigma()` in `scripts/init.js` was sending `Authorization: Bearer <token>`, which is only valid for OAuth tokens. Figma Personal Access Tokens (`figd_...`) require `X-Figma-Token: <token>`. This caused every PAT to be rejected as invalid during `ak init -a figma` even when the token was correct.
79
+ - **Critical: `currentGate` not advancing after gate transitions** `task-state.json` was not updating `currentGate` when the AI called `ak gate N start`, so resuming a task always restarted from the wrong gate. Added dedicated `updateTaskGateState()` and fixed `createOrActivateTaskState()` to use `Math.max()`.
80
+ - **Duplicate `session.start` telemetry event** — `session-start.js` was calling `record()` before reading stdin, causing the event to fire twice in some hook configurations. Fixed by moving `record()` inside the `stdin.on('end')` handler.
81
+ - **Short command aliases not resolving for telemetry** — `task` and `memory` subcommand short aliases (`t st`, `t ls`, `mem s`, etc.) were not being resolved before telemetry pre-processing, causing `unknown` in the command column. Fixed alias resolution in the pre-hook telemetry mapping.
82
+ - **`ak telemetry log` silent on failure** — `ak telemetry log --event X` previously swallowed all errors silently (no output). Now shows ✓ on success and ⚠ with reason (`disabled`, `opted-out`, `no-url`) on skip/failure.
83
+ - **Gate telemetry blocked by bash redirect error** — AI was appending `2>$null` (PowerShell syntax) to `ak gate` commands when following "run silently" instructions, causing bash to fail with `/usr/bin/bash: $null: ambiguous redirect`. Added explicit "do NOT append shell redirects" instruction to `gate-workflow.md` for all gate telemetry commands.
84
+
85
+ ---
86
+
87
+ ## [0.0.8-beta.1] - 2026-05-14
88
+
89
+ ### Fixed
90
+
91
+ - **Auto-commit bug actually fixed this time.** v0.0.7 claimed to remove "all automatic `git commit` and `git add` instructions from key AI skills" but the commit (`d490dab`) only added documentation/warning lines and left the active instructions in place. This release does the real work:
92
+ - Removed `4. Commit your work` from [.claude/skills/subagent-driven-development/implementer-prompt.md](.claude/skills/subagent-driven-development/implementer-prompt.md) (synced from upstream which had already been fixed).
93
+ - Removed the `### Commit Strategy` section, `Estimated commits: [N]` line, and `MUST plan small, focused commits` rule from [custom/skills/generate-spec/SKILL.md](custom/skills/generate-spec/SKILL.md) — these were active in Gate 2 every run.
94
+ - Removed `Commit the design document to git` and "and commit"/"committed to" wording from [upstream/skills/brainstorming/SKILL.md](upstream/skills/brainstorming/SKILL.md).
95
+ - **Hard guarantee via PreToolUse hook.** Added [scripts/hooks/block-git-write.js](scripts/hooks/block-git-write.js) that intercepts every Bash tool call and blocks `git commit`, `git add`, `git push`, `git tag`, `git reset`, `git rebase`, `git revert`, `git cherry-pick`, `git am`, and `git merge`. Read operations (`git status`, `git rev-parse`, `git log`, `git diff`) and worktree operations (`git worktree add/list/remove`) remain allowed. `aiflow init`/`update` auto-installs the hook into `.claude/settings.json`. Override with `AIFLOW_ALLOW_GIT_WRITE=1` for kit maintenance scripts. Defense-in-depth: even if a future skill smuggles a commit instruction, the harness blocks it before it reaches git.
96
+
97
+ ## [0.0.8] - 2026-05-14
98
+
99
+ ### Added
100
+
101
+ - **Short-hand CLI Command `ak`** — Added `ak` as an ultra-short alias for `aiflow` for faster developer workflow.
102
+ - **Command Aliases** — All major commands now have short aliases to reduce keystrokes:
103
+ - `init` `i` · `use` `u` · `prompt` `p` · `detect` `d` · `task` → `t` · `context` → `ctx`
104
+ - `checkpoint` `cp` · `validate` `vl` · `memory` → `mem` · `guide` → `g`
105
+ - `remove` `rm` · `update` `up` · `sync-skills` → `sync` · `doctor` → `dr` · `telemetry` → `tel`
106
+ - **`task` sub-command aliases**: `status` `st` · `list` → `ls` · `pause` → `p` · `switch` → `sw` · `resume` → `r` · `reset` → `rst` · `remove` → `rm` · `next` → `n`
107
+ - **`memory` sub-command aliases**: `save` `s` · `get` `g` · `list` → `ls` · `search` → `sr` · `delete` → `d` · `clear` → `cl`
108
+ - **New short options**:
109
+ - `-v` short flag for `--version` at root (works alongside legacy `-V`)
110
+ - `init --fw <types>` — long alias for `--framework`
111
+ - `use -F/--fast`, `-U/--full`
112
+ - `prompt -L/--lang`, `-d/--detail`
113
+ - `validate -x/--fix`
114
+ - `context -l/--load`
115
+ - `checkpoint -g/--gate`, `-s/--step`, `-n/--tokens`
116
+ - `guide -f/--flow`, `-c/--commands`
117
+ - `remove -g/--global`
118
+ - `update -f/--force`
119
+ - **Enhanced Comment Loading Options** — Added granular control for fetching ticket comments in `ak use`:
120
+ - `-c` or `--coms` — Quick alias to load all comments.
121
+ - `--cid <id>` — Load a specific comment by its ID.
122
+ - `--clast <n>` — Load only the last N comments.
123
+ - `--cfrom <id>` — Load comments starting from a specific ID.
124
+ - `--cto <id>` — Load comments up to a specific ID.
125
+ - **Deprecation Warning** — Added a friendly suggestion to use `ak` when the legacy `aiflow` command is invoked, preparing for future deprecation.
126
+
127
+ ### Fixed
128
+
129
+ - **Backlog Comment Pagination** Fixed a critical bug where comments were not loading due to an invalid `offset` parameter in the Backlog API. Switched to `minId`-based pagination to ensure reliable and complete comment fetching.
130
+ - **Robust Comment Filtering** Centralized comment filtering logic to effectively exclude metadata-only comments (changelogs) and focus on actual discussions.
131
+
132
+ ### Changed
133
+
134
+ - **CLI Consistency** — Updated all command-line help descriptions and internal mappings to support the new shortened flags while maintaining backward compatibility with legacy long-form options.
135
+ - **Documentation Alignment** — Updated all guides (QUICK_START, cli-reference) to reflect `ak` command and new short aliases.
136
+
137
+ ---
138
+
139
+ ## [0.0.7] - 2026-05-08
140
+
141
+ ### Added
142
+
143
+ - **`aiflow use --file` enhancements**:
144
+ - Automatic `taskId` generation from filename (up to 5 words).
145
+ - Full filename used as task `title`.
146
+ - Interactive `taskType` selection prompt during file loading for better context.
147
+ - **`documentation` task type** — Added support for documentation-specific tasks in `aiflow use` and task detection.
148
+ - **Automatic `task-summary.md` generation** — `aiflow task next` now generates a cumulative progress report in `plan/[ticket-id]/task-summary.md` at each gate finish.
149
+ - **Session Continuity Instructions** — Added explicit instructions on how to switch to a fresh chat session and resume tasks (including Gate 3 sub-tasks) to both CLI output and AI skill prompts.
150
+ - **NestJS framework support** — Added `nestjs` to the framework selector (`aiflow init`), language rule mapping (`javascript`), and AI instruction template (`custom/templates/nestjs.md`).
151
+ - **PHP Plain (no framework) support** — Added `php-plain` as a new framework option with a dedicated AI system prompt template covering strict types, PSR-12, PDO prepared statements, security best practices, Repository/Service/Controller layering, and PHPUnit testing.
152
+ - **`investigate-bug` skill: NestJS and PHP plain data flows** Added framework-specific data flow traces for NestJS (`Controller → Service → Repository → DB`) and PHP Plain (`index.php → Controller → Service → Repository/PDO → DB`).
153
+ - **Intelligent AI Instruction Synchronization** — Marker-based (`<!-- aiflow-kit-start -->`) block updates for `CLAUDE.md`, `GEMINI.md`, and `.cursorrules`.
154
+ - **Interactive Instruction Safety** — Granular confirmation prompts for all instruction file modifications (update block, overwrite, or create new).
155
+ - **Automated Repository Hygiene** — Generated files and folders (`.aiflow/`, `plan/`, `.claude/`, `.rules/`, `.mcp.json`, and instruction files) are now automatically managed in `.gitignore`.
156
+ - **`aiflow sync-skills` command** — Lightweight command to synchronize Skill Registry and Instruction files without a full version upgrade.
157
+ - **Enhanced `aiflow guide --flow`**Now dynamically displays the `## Workflow Overview` section directly from `AIFLOW.md` for up-to-date documentation.
158
+ - **Token savings dashboard in `aiflow doctor`** new "Token savings" section shows RTK status and estimated 60–90% reduction on bash outputs.
159
+
160
+ ### Changed
161
+
162
+ - **Robust Gate Detection** — Refactored `detectCurrentGate` to prioritize `task-state.json` as the source of truth for task progress.
163
+ - **`aiflow gate approved` CLI output** — Now prints a session-refresh tip to help users maintain clean AI contexts.
164
+ - **`aiflow update` efficiency** — Now automatically performs skill and instruction synchronization even if the version is unchanged (removes the need for `--force`).
165
+ - **Safety First Development** — Removed all automatic `git commit` and `git add` instructions from key AI skills (`subagent-driven-development`, `using-git-worktrees`, `writing-plans`, `generate-spec`) to ensure developer-led commit management.
166
+ - **Localized CLI** — All interactive prompts and confirmation messages translated to English for consistency.
167
+ - **`aiflow init` RTK entry** — flag description updated to clarify RTK saves bash output tokens (60–90%).
168
+ - **`aiflow doctor`**RTK section merged into new "Token savings" section.
169
+ - **README.md / QUICK_START.md / AIFLOW.md** Updated to reflect session continuity workflow, `sync-skills` command, and improved update flow.
170
+
171
+ ### Fixed
172
+
173
+ - **Automatic Git Commits Removed** Fully disabled automated version control actions across the entire Skill Registry. Developers now have full manual control over staging and commits, preventing unintended history pollution during AI implementation.
174
+ - **NestJS auto-detection** — `@nestjs/core` in `package.json` was incorrectly detected as `nodejs-express`; now correctly resolves to `nestjs`.
175
+ - **PHP project auto-detection** — Projects with `composer.json` but no Laravel dependency now correctly auto-detect as `php-plain` instead of being skipped.
176
+ - **Instruction Safety** — Fixed `.github/copilot-instructions.md` not being included in automated `.gitignore` rules.
177
+
178
+ ---
179
+
180
+ ## [0.0.6] - 2026-04-29
181
+
182
+ ### Added
183
+
184
+ - **Global Fast Mode (Default)** Optimize AI efficiency by prioritizing speed and minimizing token usage.
185
+ - Gate 1: Fast track scan with max 1 clarifying question.
186
+ - Gate 3: Disable subagents by default; implement all tasks in a single session.
187
+ - Gate 4: Quick scan impact analysis based on git diffs; simplified review checklist.
188
+ - **Improved `--file` loader** — `aiflow use --file` now supports plain-text files (JSON no longer required).
189
+ - Auto-detects Ticket ID and Title from the text content.
190
+ - **Gate-aware Injection** — Enhanced `session-start.js` hook to inject gate-appropriate "Fast Track" instructions during task resumption.
191
+ - **Full Mode flag** — Added `--full` flag to bypass Fast mode optimizations for complex tasks.
192
+ - **`aiflow task` command group** Manage multiple tasks in the same repository without losing progress.
193
+ - `aiflow task status`, `list`, `pause`, `switch`, `resume`.
194
+ - **RTK token compression integration** — `aiflow init` automatically configures the RTK hook for 60–90% token savings on shell commands.
195
+ - **`aiflow use --fast` / `--full` flags** — Control Gate 1 analysis depth per ticket.
196
+ - **Spring Boot code examples extracted** — Java code examples moved to separate files to reduce `CLAUDE.md` size.
197
+
198
+ ### Changed
199
+
200
+ - **Default mode** for all new tasks is now `fast` instead of `auto`.
201
+ - **`aiflow init` improvements** Supports multi-select framework and protects existing instruction files from being overwritten.
202
+ - **CLAUDE.md Optimization** — Reduced Spring Boot template size by ~70%, saving ~3-5k tokens per session.
203
+ - **Documentation Synchronization** — Fixed all documentation links on npmjs.com and updated Overview Flow in README.
204
+ - **Automatic Task Pausing** — When loading a new ticket, the current task is automatically paused and its state is saved.
205
+
206
+ ### Fixed
207
+
208
+ - Broken 404 documentation links on the npmjs.com page.
209
+
210
+ ---
211
+
212
+ ## [0.0.4-beta.5] - 2026-04-21
213
+
214
+ ### Added
215
+
216
+ - Created a dedicated `docs/` folder to house all developer-facing documentation.
217
+ - Integrated AI Skill Registry into all tool templates (Claude, Cursor, Gemini, Copilot) for better skill discovery.
218
+
219
+ ### Changed
220
+
221
+ - Moved `README.md`, `QUICK_START.md`, `AIFLOW.md`, `CHANGELOG.md`, and `IMPLEMENTATION_SUMMARY.md` into the `docs/` directory.
222
+ - Updated `package.json` to exclude internal-only files (`CONTRIBUTING.md`, `plan.md`) from the NPM package distribution.
223
+ - Updated `scripts/init.js` to source documentation from the new `docs/` location.
224
+ - Updated all internal documentation links to reflect the new directory structure.
225
+
226
+ ---
227
+
228
+ ## [0.0.5-beta.0] - 2026-04-23
229
+
230
+ ### Added
231
+
232
+ - **`aiflow gate <n> <action>` command** — Called automatically by AI during gate transitions. Supports `start` and `approved` actions for gates 1-5. Options: `--ticket <id>`, `--ai-tool <tool>`.
233
+ - **Telemetry gate logging** — Gate workflow templates now emit `aiflow gate N start/approved --ticket [id]` telemetry calls at each gate transition for usage metrics.
234
+ - **`aiflow telemetry flush` command** — Force-sends buffered telemetry events immediately.
235
+
236
+ ### Changed
237
+
238
+ - **`aiflow init` safe overwrite flow** — When a project already has `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, etc., `aiflow init` now prompts before overwriting:
239
+ - **No (default):** keeps existing file untouched; saves the aiflow template to `.aiflow/reference/<file>` for manual comparison/merge.
240
+ - **Yes:** backs up the existing file to `.aiflow/backup/<file>` before overwriting nothing is permanently lost.
241
+ - **`aiflow use --manual` pre-fill (Edit mode)** Re-running `aiflow use --manual` when context already exists now pre-fills all fields (Ticket ID, Title, Description, Task type) with the current values; press Enter on any field to keep it unchanged.
242
+ - **Fix TEAM_SECRET input** Replaced `password()` prompt with `input()` using a masked hint `[Reli***!@#]`; pressing Enter retains the existing value.
243
+ - **Fix Apps Script URL input** — Same pattern as TEAM_SECRET: masked hint `[https://script.google.com/macros/s/AKfy***xxxx/exec]`; pressing Enter retains the existing value.
244
+ - **Downgrade dependencies for Node >=16 compatibility** — `@inquirer/prompts` downgraded from `^8.3.2` to `^3.0.0`; `commander` downgraded from `^14.0.3` to `^11.0.0`.
245
+ - **`engines.node`** updated from `>=14.0.0` to `>=16.0.0`.
246
+
247
+ ---
248
+
249
+ ## [0.0.5] - 2026-04-23
250
+
251
+ ### Added
252
+
253
+ - **Telemetry System (MVP)**: Added anonymous usage tracking to measure command metrics and user adoption.
254
+ - `aiflow telemetry enable/disable/status` commands to easily opt-in or opt-out.
255
+ - Automatically captures environment metadata and Git email via `git config --global user.email`.
256
+ - Secure payload signing natively using Node `crypto` HMAC-SHA256 to ensure data authenticity.
257
+ - Asynchronous payload flusher to ensure zero impact on command execution time (`< 5ms` overhead).
258
+ - Support tracking for multiple AI platforms including Cursor and Gemini via Command Execution events and the new Telemetry SDK.
259
+
260
+ ### Security
261
+
262
+ - **Strict Privacy**: Explicitly removed all prompt content and chat history tracking to ensure 100% confidentiality of company code and PII.
263
+
264
+ ---
265
+
266
+ ## [Unreleased]
267
+
268
+ ## [0.0.3-beta.0] - 2026-04-13
269
+
270
+ ### Security
271
+
272
+ - Removed internal GitLab repository links and tracking information.
273
+ - Cleaned `.npmrc` configuration.
274
+ - Added helper scripts for beta and stable releases.
275
+
276
+ ## [0.0.2] - 2026-04-13
277
+
278
+ ### Changed
279
+
280
+ - Updated package name in documentation and configuration.
281
+ - Fixed installation guides in README and QUICK_START.
282
+
283
+ ## [0.0.1] - 2026-04-13 — Initial Release
284
+
285
+ ### Added
286
+
287
+ #### CLI (`aiflow`)
288
+
289
+ - `aiflow init`scaffold AI workflow config into any project
290
+ (supports `--framework` spring-boot/reactjs, `--adapter` jira/backlog)
291
+ - `aiflow use <skill>` — activate a custom skill in the current project
292
+ - `aiflow remove` — cleanly remove `ai-flow-kit` scaffolding from a project
293
+ - `aiflow guide` — interactive onboarding guide
294
+ - `aiflow update` — sync upstream skill/hook updates
295
+ - `aiflow doctor` — validate config, detect missing keys, report issues
296
+ - `aiflow --version` — print installed version
297
+
298
+ #### 5-Gate AI Workflow
299
+
300
+ - **Gate 1 — AI Analyze Requirement**: Auto-starts when a ticket context exists
301
+ in `.aiflow/context/current.json`; outputs `plan/[ticket-id]/requirement.md`
302
+ - **Gate 2 — Implementation Plan**: TDD plan generation, gated by `APPROVED`
303
+ - **Gate 3 Code Generation**: TDD-only, test-first discipline enforced
304
+ - **Gate 4 AI Self-Review**: Verification + impact analysis + checklist, gated by `APPROVED`
305
+ - **Gate 5 Peer Review & PR**: Guided PR creation via `requesting-code-review` skill
306
+
307
+ #### Custom Skills (7 skills)
308
+
309
+ - `read-study-requirement` — Gate 1 requirement analysis with clarifying Q&A loop
310
+ - `generate-spec` — Gate 2 TDD implementation spec generator
311
+ - `impact-analysis` — breaking-change and dependency impact assessment
312
+ - `investigate-bug`systematic bug investigation (reproduce → root cause → fix)
313
+ - `report-customer` — customer-facing incident report generator
314
+ - `review-plan` — Gate 4 self-review orchestrator
315
+ - `figma-to-component` — Figma design → UI component code generator
316
+
317
+ #### Multi-AI Support
318
+
319
+ - **Claude Code** integration via `CLAUDE.md` + `.claude/` directory structure
320
+ - **Gemini CLI** integration via `GEMINI.md`
321
+ - **GitHub Copilot** integration via agents config
322
+ - Superpowers skill library bundled as `upstream/` (pinned to v5.0.5)
323
+
324
+ #### Project Templates
325
+
326
+ - `AIFLOW.md` — team workflow reference document
327
+ - `QUICK_START.md` — 5-minute setup guide
328
+ - `.aiflowrc.json.example` — configuration file reference
329
+
330
+ ### Architecture Notes
331
+
332
+ - Stateless per-ticket design — no persistent memory across sessions (planned: v0.1.x)
333
+ - Manual skill sync model via `aiflow use` (managed `aiflow skill` CLI planned: v0.1.x)
334
+ - Spring Boot (Java 17+) used as the reference framework in `CLAUDE.md` coding rules
335
+
336
+ ---
337
+
338
+ ## How to upgrade
339
+
340
+ ```bash
341
+ npm install -g @relipa/ai-flow-kit@latest
342
+ aiflow --version
343
+ ```
344
+
345
+ After upgrading, run `aiflow update` inside your project to sync the latest skills and hooks:
346
+
347
+ ```bash
348
+ cd your-project
349
+ aiflow update
350
+ ```