Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
99e781c
feat(design): add DESIGN.md, agent design/QA skills, and staging PR w…
Ignaciobrenas Nov 14, 2026
10fb838
Merge pull request #20 from Ignaciobrenas/design/6-design-system-and-…
Ignaciobrenas Nov 14, 2026
88a16de
feat(design): add native UI primitives and audit zero deprecated tool…
Ignaciobrenas Nov 14, 2026
1a3a031
Merge pull request #21 from Ignaciobrenas/design/7-native-ui-primitives
Ignaciobrenas Nov 14, 2026
de7953b
feat(rebase): complete interactive Rebase Studio with fixup, drag-and…
Ignaciobrenas Nov 14, 2026
48d8513
Merge pull request #22 from Ignaciobrenas/feat/4-interactive-git-reba…
Ignaciobrenas Nov 14, 2026
1d9b887
feat(engine): add binary object/packfile/.git-index readers, SHA-256,…
Ignaciobrenas Nov 14, 2026
2cf4d76
Merge pull request #23 from Ignaciobrenas/feat/10-gitfsreader-binary-…
Ignaciobrenas Nov 14, 2026
8283ed4
perf(dag): add Web Worker + OffscreenCanvas engine, DOM row recycling…
Ignaciobrenas Nov 14, 2026
fd2f747
Merge pull request #24 from Ignaciobrenas/perf/12-dag-worker-virtual-…
Ignaciobrenas Nov 14, 2026
c4be419
feat(dag): add branch minimap, advanced filters (--first-parent/date/…
Ignaciobrenas Nov 14, 2026
a537068
Merge pull request #25 from Ignaciobrenas/feat/8-dag-minimap-filters-…
Ignaciobrenas Nov 14, 2026
b75b6b7
feat: add conflict studio, conventional commits builder, and GH/GL pr…
Ignaciobrenas Nov 14, 2026
949b1d4
Merge pull request #26 from Ignaciobrenas/feat/14-conflict-studio-com…
Ignaciobrenas Nov 14, 2026
880bf35
security: add IPC schema validator, MCP rate limiter, and audit log r…
Ignaciobrenas Nov 14, 2026
890e078
Merge pull request #27 from Ignaciobrenas/security/17-csp-ipc-schema-…
Ignaciobrenas Nov 14, 2026
82a7225
test(qa): add fuzzing, MCP E2E, 50k benchmark, WCAG 2.1 AA audits, an…
Ignaciobrenas Nov 14, 2026
d2183ab
Merge pull request #28 from Ignaciobrenas/test/18-qa-pyramid-a11y-fuz…
Ignaciobrenas Nov 14, 2026
d408f13
chore(release): release CommitFlow v1.0.0 Enterprise Edition
Ignaciobrenas Nov 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .claude/skills/commitflow-canvas-dag/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: commitflow-canvas-dag
description: Guía técnica para diseñar y optimizar el motor topológico del DAG, renderizado de splines Bézier, virtual scrolling (< 150 nodos DOM), minimapa de ramas, drag-and-drop y Web Workers / OffscreenCanvas en CommitFlow.
---

# CommitFlow DAG & Virtual Scroll Skill

Cuando trabajes en `src/graph/graphLayout.ts`, `src/graph/dagWorkerClient.ts` o el renderizado del grafo en `src/webview/main.ts`:
1. **Presupuesto de DOM y Rendimiento:**
- El scroll virtual (`updateVirtualWindow`) DEBE mantener `< 150` filas DOM montadas en el viewport en todo momento, reciclando elementos del pool cuando sea posible incluso con `100,000+` commits.
- Usa cálculos incrementales con `requestAnimationFrame` y evita reflows síncronos (`offsetHeight`/`getBoundingClientRect`) dentro de bucles por fila.
2. **Motor Topológico y Offload (`GraphLayout` & `DagWorkerEngine`):**
- Mantén el cálculo puro en funciones deterministas sin dependencias de `vscode` para poder ejecutarlas tanto en Node.js como dentro de un Web Worker.
- Al usar `OffscreenCanvas` (para el minimapa o carriles), provee siempre fallback limpio para entornos sin `OffscreenCanvas`.
- Soporta hashes SHA-1 (40 chars) y SHA-256 (64 chars), así como merges múltiples (octopus) y commits raíz huérfanos.
3. **Interactividad & A11y:**
- Todo nodo SVG/Canvas decorativo debe llevar `aria-hidden="true"`.
- Cada fila de commit debe mantener su `role="row"`, `aria-label` descriptivo con ramas/tags/padres y sincronización exacta con la navegación por teclado (`ArrowUp`, `ArrowDown`, `PageUp`, `PageDown`, `Home`, `End`).
- Las operaciones Drag-and-Drop sobre ramas/commits (reset, checkout, cherry-pick, rebase) DEBEN pedir confirmación explícita en modal seguro antes de mutar Git.
27 changes: 27 additions & 0 deletions .claude/skills/commitflow-issue-workflow/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: commitflow-issue-workflow
description: Flujo de trabajo GitFlow estricto de CommitFlow: main <- staging <- ramas por issue (feat|fix|design|test|perf/<id>-<slug>), enlace con gh issue develop, Conventional Commits y PRs hacia staging.
---

# CommitFlow Issue & Branch Workflow Skill

Sigue siempre este ciclo de vida GitFlow adaptado al repositorio `Ignaciobrenas/CommitFlow`:
1. **Jerarquía de Ramas:**
- `main`: Producción estable y releases del Marketplace. Solo recibe PRs desde `staging` (o `hotfix/*`).
- `staging`: Rama de integración continua. **Todas** las ramas de trabajo nacen de `staging` y regresan mediante PR hacia `staging`.
- Nomenclatura de ramas (compatible con `IssueBranchLinker`):
- `feat/<id>-<slug>` (nuevas funcionalidades)
- `fix/<id>-<slug>` (corrección de bugs)
- `design/<id>-<slug>` (UI/UX, `DESIGN.md`, `SKILL.md`, accesibilidad)
- `test/<id>-<slug>` (suites de tests, fuzzing, E2E, CI)
- `perf/<id>-<slug>` (rendimiento, Web Workers, `OffscreenCanvas`, watcher)
2. **Crear rama enlazada al Issue:**
```bash
git checkout staging && git pull origin staging
gh issue develop <ID> --base staging --name <tipo>/<ID>-<slug> --checkout
```
3. **Commits Convencionales:**
- Usa `type(scope): description (#ID)`, por ejemplo: `feat(engine): add binary packfile reader in GitFsReader (#10)`.
4. **Pull Request hacia `staging`:**
- Incluye siempre `Refs #<ID>` en el cuerpo del PR hacia `staging` (y `Closes #<ID>` en el PR de release `staging` -> `main` para cierre automático).
- Antes de abrir o mergear el PR, ejecuta `npm run compile`, `npm test` y `npm run build`.
20 changes: 20 additions & 0 deletions .claude/skills/commitflow-qa-testing/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: commitflow-qa-testing
description: Guía de la pirámide completa de QA para CommitFlow: tests unitarios, property-based fuzzing, pruebas E2E del servidor MCP (stdio + HTTP/SSE), auditoría responsiva y WCAG 2.1 AA en Chromium headless, benchmarks de 50k commits y smoke tests E2E de extensión VS Code.
---

# CommitFlow QA & Testing Pyramid Skill

Antes de dar por finalizada cualquier feature, bugfix o refactorización, valida las capas aplicables de la pirámide de calidad:
1. **Typecheck y Compilación (`npm run compile` & `npm run build`):**
- Cero errores de TypeScript estricto y bundle limpio en `dist/`.
2. **Tests Unitarios y de Integración (`npm test` -> `test/runTests.ts`):**
- Cubre lógica pura (`GraphLayout`, `GitFsReader`, `GitParser`, `SshConfigParser`, `IssueBranchLinker`, `ConventionalCommitsBuilder`, `IpcSchemaValidator`, `AdaptiveDebouncer`).
3. **Property-Based Fuzzing (`test/fuzzTests.ts`):**
- Ejecuta 1,000+ iteraciones deterministas inyectando `packed-refs` corruptos, reflogs truncados, buffers binarios aleatorios, alias SSH circulares, rutas Unicode y grafos complejos sin lanzar excepciones no controladas.
4. **E2E del Servidor MCP (`test/mcpE2eTests.ts`):**
- Prueba real contra repositorio temporal en disco: `stdio` (`dist/mcp.js`) y `CommitFlowHttpServer` (`/health`, `/sse`, `/mcp`), JSON-RPC 2.0 `initialize`, todas las tools y resources, scoping de repo, rechazo 401/403, rate-limiting 429 y log de auditoría.
5. **Webview Multi-Viewport, Temas y WCAG 2.1 AA (`scripts/verify-responsive.js`):**
- Verifica en Chromium/Edge headless los 4 breakpoints (`240px` Nano, `360px` Sidebar, `520px` Compact, `1100px` Wide Split) y temas (`dark`, `light`, `high-contrast`, `high-contrast-light`) con `0` overflows, `0` colisiones y `0` violaciones A11y.
6. **Benchmarks y Empaquetado (`scripts/benchmark-50k.js` & `npx vsce package`):**
- Verifica layout de 50,000 commits dentro del presupuesto de latencia/memoria y que el `.vsix` se empaquete sin errores.
19 changes: 19 additions & 0 deletions .claude/skills/commitflow-ui-design/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: commitflow-ui-design
description: Diseña e implementa interfaces Webview para CommitFlow siguiendo DESIGN.md, variables CSS de VS Code, Codicons, accesibilidad WCAG 2.1 AA y los 4 breakpoints responsivos multi-dock. Úsala al crear o modificar componentes UI, drawers, modales o temas.
---

# CommitFlow UI & Webview Design Skill

Antes de escribir código UI en `src/graph/graphWebviewProvider.ts`, `src/webview/main.ts`, `src/webview/primitives.ts` o `src/webview/style.css`:
1. Lee `DESIGN.md` en la raíz del proyecto.
2. Verifica que **NO** se importe ni se referencie `@vscode/webview-ui-toolkit` (deprecado en enero de 2025). Utiliza tokens `--vscode-*` y los primitivos nativos en `src/webview/primitives.ts` (`CfButton`, `CfBadge`, `CfDrawer`, `CfTabs`, `CfToast`, `CfSkeleton`, `clampPopoverToViewport`).
3. **Checklist obligatorio por componente:**
- [ ] Funciona en temas VS Code: Dark+, Light+, High Contrast Dark (`.vscode-high-contrast`) y High Contrast Light (`.vscode-high-contrast-light`).
- [ ] Verificado en los 4 viewports multi-dock: Nano (`240px`), Sidebar Compact (`360px`), Compact (`520px`), Wide Split (`1100px`) y Bottom Panel (`1000x250px`).
- [ ] Usa `tabular-nums` (`font-variant-numeric: tabular-nums`) para hashes SHA, timestamps y contadores `+N/-N`.
- [ ] Incluye roles ARIA semánticos (`treegrid`, `row`, `gridcell` en el grafo; `role="dialog"` y `trapModalFocus` en modales) y foco visible (`outline: 1px solid var(--vscode-focusBorder)`).
- [ ] Cero `innerHTML` con datos de commits/issues/usuarios sin escapar (`escapeHtml`); CSP estricto con `nonce`.
- [ ] Popovers/drawers usan `clampPopoverToViewport` y se cierran al hacer clic fuera o pulsar `Escape`.
- [ ] Mensajes de estado vacío claros con CTA accionable y `CfSkeleton` loaders no bloqueantes.
- [ ] Respeta `@media (prefers-reduced-motion: reduce)`.
10 changes: 8 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI & Quality Gate

on:
push:
branches: [ main ]
branches: [ main, staging ]
pull_request:
branches: [ main ]
branches: [ main, staging ]

jobs:
build-and-test:
Expand Down Expand Up @@ -38,5 +38,11 @@ jobs:
- name: Compile and Bundle Production Assets
run: npm run build

- name: Run Headless E2E Smoke Suite
run: npm run test:e2e

- name: Run 50k DAG Performance Benchmark
run: npm run benchmark

- name: Verify VSIX Package Creation
run: npx vsce package --no-git-tag-version
23 changes: 23 additions & 0 deletions .github/workflows/staging-pr-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Staging PR & Issue Link Gate

on:
pull_request:
branches: [ staging, main ]

jobs:
verify-issue-link:
name: Verify Issue Reference in PR
runs-on: ubuntu-latest
steps:
- name: Check PR references an Issue
uses: actions/github-script@v7
with:
script: |
const pr = context.payload.pull_request;
const text = `${pr.title}\n${pr.body || ''}`;
const hasIssueRef = /#\d+/.test(text);
if (!hasIssueRef) {
core.setFailed('El PR debe referenciar al menos un Issue (ej: "Refs #6" o "Closes #6").');
} else {
core.info(`PR #${pr.number} references issue(s) cleanly.`);
}
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@

All notable changes to the "commitflow" extension will be documented in this file.

## [1.0.0] - 2026-11-14

### Added
- **Design System & Agent Skills**: Created root `DESIGN.md` visual system and `.claude/skills/` suites (`commitflow-ui-design`, `commitflow-canvas-dag`, `commitflow-qa-testing`, `commitflow-issue-workflow`) plus custom `--vscode-*` UI primitives (`CfButton`, `CfBadge`, `CfDrawer`, `CfTabs`, `CfToast`, `CfSkeleton`) with zero deprecated `@vscode/webview-ui-toolkit` dependencies.
- **DAG Minimap, Filters, Drag-and-Drop & Onboarding**: Interactive canvas minimap, combined `--first-parent`/date/path/remote filters, quick `Jump to HEAD`/`Jump to Bisect Probe`, drag-and-drop branch reset & commit cherry-pick/rebase workflows, illustrated empty states, and initial skeleton loaders.
- **Offline Binary `.git` Engine & Submodules**: Completed binary loose object decompression, packfile v2 (`0xff744f63`) + `OFS_DELTA`/`REF_DELTA` decoding, `.git/index` (`DIRC` v2/v3/v4) staging inspection, `.gitmodules` nested submodule discovery, `gitdir:` worktree linking, SHA-256 detection, and `reftable` detection.
- **Web Worker / OffscreenCanvas & Virtualization**: Off-thread topological DAG computation via `DagWorkerEngine`, DOM row recycling pool, adaptive `FileSystemWatcher` debouncer, and batched webview IPC dispatch.
- **Conflict Resolution Studio, Conventional Commits & Remote Parity**: Interactive Conflict Resolution Studio integrated with VS Code 3-way Merge Editor (`git.openMergeEditor`), Conventional Commits Builder with `.gitmessage` loading and live `#issue` autocomplete, plus GitHub/GitLab/Forgejo TTL-cached PR/MR inline comments, approvals, CI status checks, and triage.
- **Security Hardening & MCP Audit Trail**: Strict CSP nonces, `IpcSchemaValidator` runtime command allowlist + path-traversal/prototype-pollution guard, sliding-window MCP HTTP rate limiter (`429 Retry-After`), and circular `McpAuditRingBuffer` exposed via `commitflow://mcp/audit-log`.
- **Enterprise QA Pyramid (50 Suites)**: Added 1,050 deterministic seeded fuzzing iterations (`test/fuzzTests.ts`), real-repo MCP stdio/HTTP/SSE end-to-end suite (`test/mcpE2eTests.ts`), 50,000-commit synthetic DAG benchmark (`scripts/benchmark-50k.js`), headless extension lifecycle smoke runner (`scripts/run-e2e-smoke.js`), and expanded Edge CDP audit matrix (`64/64` across 4 themes × 4 views × 4 breakpoints with WCAG 2.1 AA treegrid/ARIA validation).

### Fixed
- Eliminated an $O(N^2)$ converging-lane memory leak in `GraphLayout.compute` by clearing duplicate converging commit pointers across active lanes (50,000 commits now lay out in ~28 ms sync / ~15 ms worker with ~38 MB heap delta).
- Fixed `IssueBranchLinker.createSlug` leading-hyphen sanitization edge case and extended `IpcSchemaValidator` payload scanning across entire IPC message envelopes.

## [0.4.8] - 2026-11-04

### Added
Expand Down
61 changes: 61 additions & 0 deletions DESIGN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# CommitFlow Design System (DESIGN.md)

## 1. Visual Theme & Atmosphere
- **Philosophy:** **"Precision Developer Telemetry"**. High information density without visual noise; native VS Code integration that respects 100% of the user's active IDE theme (Light, Dark, High Contrast Dark, High Contrast Light) while delivering vivid semantic identity across the commit DAG via curated chromatic lane palettes.
- **Surface Hierarchy:** Strictly layered via native VS Code tokens with sensible fallbacks:
- Primary Canvas / Editor Surface: `var(--vscode-editor-background)` (`--bg-primary`)
- Secondary Chrome / Sidebar / Header: `var(--vscode-sideBar-background)` (`--bg-secondary`)
- Elevated / Tabs / Popovers / Modals: `var(--vscode-editorGroupHeader-tabsBackground)` / `var(--vscode-panel-background)` (`--bg-tertiary`)
- Interactive States: `var(--vscode-list-hoverBackground)` (`--bg-hover`), `var(--vscode-list-activeSelectionBackground)` (`--bg-active`)
- Borders & Focus: `var(--vscode-widget-border)` / `var(--vscode-panel-border)` (`--border-subtle`), `var(--vscode-focusBorder)` (`--focus-ring`)

## 2. Color Palette & Tokens
- **Base IDE Integration:**
- Foreground: `var(--vscode-editor-foreground)` / `var(--vscode-foreground)`
- Secondary Muted Text: `var(--vscode-descriptionForeground)`
- Focus Ring: `var(--vscode-focusBorder)` (must always remain visible on keyboard focus)
- High Contrast Borders: `var(--vscode-contrastBorder)`, `var(--vscode-contrastActiveBorder)`
- **Semantic Status Tokens:**
- `Success / Bisect Good / Valid Sig / Ready PR`: `#10b981` (`--accent-emerald` in Dark) / `#1a7f37` (Light)
- `Danger / Bisect Bad / Conflict / Drop`: `#ef4444` / `#f43f5e` (`--accent-rose` in Dark) / `#cf222e` (Light)
- `Warning / Untrusted / Dirty / Pending`: `#f59e0b` (`--accent-amber` in Dark) / `#9a6700` (Light)
- `Probe / Active Bisect / Primary Accent`: `#38bdf8` / `#06b6d4` (`--accent-cyan` in Dark) / `#0969da` (Light)
- `MCP / AI Studio / Rebase Accent`: `#8b5cf6` (`--accent-violet` in Dark) / `#8250df` (Light)
- **DAG Chromatic Lane Palettes (`GraphLayout.THEME_LANE_COLORS`):**
- Supported presets: `auto`, `dark`, `light`, `cyberpunk`, `dracula`, `github`, `neon-pink`, `neon-green`, `neon-blue`.
- Adjacent lanes must maintain clear perceptual color separation. In High Contrast themes (`vscode-high-contrast`, `vscode-high-contrast-light`), borders and focus outlines override subtle alpha fills.

## 3. Typography & Rhythm
- **UI Font:** `var(--vscode-font-family)` with adaptive sizing (`--font-size-base: 12px`, `--font-size-sm: 11px`, `--font-size-xs: 10px`).
- **Monospace Telemetry Font:** `var(--vscode-editor-font-family)` with mandatory `font-variant-numeric: tabular-nums` (`class="tabular-nums"`) for:
- Commit SHAs (`shortHash`, full 40/64-char SHA)
- Diff line deltas (`+N / -M`)
- Relative/absolute timestamps, branch pill counters, and stat bar counters
- File paths and bisect step estimators
- **Spacing & Radii:** `--radius-xs: 4px`, `--radius-sm: 6px`, `--radius-md: 8px`, `--radius-lg: 10px`, `--radius-xl: 12px`, `--radius-full: 9999px`.
- **Density Tiers (`commitflow.graph.density`):** `compact` (`22px` row height), `comfortable` (`26px`), `spacious` (`32px`).

## 4. Adaptive Multi-Dock Breakpoints
CommitFlow operates seamlessly across left/right Activity Bar sidebars, bottom terminal panel, and full Editor panels using container-aware layout classes:
- **Nano (`<= 260px` / `.layout-nano`):**
- Navigation tabs collapse to icon-only buttons with native `title` + `aria-label` tooltips.
- Secondary metadata (author email, timestamps, extra stats dividers) are hidden cleanly.
- Minimum touch/click target size `28x28px`.
- **Sidebar Compact (`261px - 440px` / `.layout-sidebar-compact`):**
- Single-column stacked layout for DAG rows and cards.
- Inspector drawer renders as a full-width overlay drawer clamped cleanly inside the viewport.
- **Compact (`441px - 600px` / `.layout-width-compact`):**
- Compact branch pills, abbreviated badges, wrapped flex toolbars with zero horizontal overflow.
- **Wide / Bottom Panel (`> 600px`):**
- Dual-pane split view (DAG + Minimap on the left, Commit/PR Inspector Drawer on the right) or horizontal bottom-dock layout (`>= 540px` width and `<= 380px` height -> `.auto-detected-bottom` / `.layout-height-short`).

## 5. Component Rules (Zero Deprecated Toolkits)
1. **ZERO `@vscode/webview-ui-toolkit`:** Officially deprecated and archived in January 2025. Never import or depend on it.
2. **Native UI Primitives (`src/webview/primitives.ts`):** All new UI elements use CommitFlow's lightweight zero-dependency primitives (`CfButton`, `CfBadge`, `CfDrawer`, `CfTabs`, `CfToast`, `CfSkeleton`) built exclusively with `--vscode-*` CSS variables and `@vscode/codicons`.
3. **Icons:** Use `@vscode/codicons` (`<i class="codicon codicon-...">`) or accessible inline SVGs marked with `aria-hidden="true"`.
4. **Viewport Clamping & Popover Dismissal:** All popovers, tooltips, context menus, and drawers must clamp against viewport edges (`clampPopoverToViewport`) and dismiss on outside click or `Escape`.
5. **Motion & Reduced Motion:** Use `--ease-spring` / `--duration-fast` for crisp transitions, and strictly disable animations, spinners, and pulse keyframes inside `@media (prefers-reduced-motion: reduce)`.
6. **Security & CSP:** Enforce `default-src 'none'` with cryptographic `nonce` per load; never inject untrusted user or commit strings via raw `innerHTML` without HTML escaping.
7. **Accessibility (WCAG 2.1 AA):**
- Graph container uses `role="treegrid"` with `role="row"` and `role="gridcell"`, descriptive `aria-label` per commit, and roving `tabindex` (`ArrowUp`, `ArrowDown`, `PageUp`, `PageDown`, `Home`, `End`).
- All modals trap `Tab`/`Shift+Tab` focus (`trapModalFocus`) and restore focus on close.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
</p>

<p align="center">
<a href="https://marketplace.visualstudio.com/items?itemName=Ignaciobrenas.commitflow"><img src="https://img.shields.io/badge/VS_Code_Marketplace-v0.4.8-0284c7?style=flat-square&logo=visualstudiocode&logoColor=white" alt="VS Code Marketplace" /></a>
<a href="https://marketplace.visualstudio.com/items?itemName=Ignaciobrenas.commitflow"><img src="https://img.shields.io/badge/VS_Code_Marketplace-v1.0.0-0284c7?style=flat-square&logo=visualstudiocode&logoColor=white" alt="VS Code Marketplace" /></a>
<a href="https://github.com/Ignaciobrenas/CommitFlow/actions/workflows/ci.yml"><img src="https://img.shields.io/badge/CI_Gate-Passing-10b981?style=flat-square&logo=githubactions&logoColor=white" alt="CI Status" /></a>
<a href="https://github.com/Ignaciobrenas/CommitFlow/actions/workflows/pr-approval-gate.yml"><img src="https://img.shields.io/badge/PR_Gate-Owner_Protected-6366f1?style=flat-square&logo=github&logoColor=white" alt="PR Approval Gate" /></a>
<a href="test/runTests.ts"><img src="https://img.shields.io/badge/Tests-42_Suites_Passing-10b981?style=flat-square&logo=jest&logoColor=white" alt="Tests Status" /></a>
<a href="test/runTests.ts"><img src="https://img.shields.io/badge/Tests-50_Suites_Passing-10b981?style=flat-square&logo=jest&logoColor=white" alt="Tests Status" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-f59e0b?style=flat-square" alt="License" /></a>
<a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-5.6_Strict-3178c6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" /></a>
<a href="PRIVACY.md"><img src="https://img.shields.io/badge/Telemetry-Zero_Private-14b8a6?style=flat-square" alt="Privacy" /></a>
Expand Down Expand Up @@ -368,7 +368,7 @@ CommitFlow includes a built-in Model Context Protocol server (`CommitFlowMcpServ
To install a pre-built `.vsix` release:

```bash
code --install-extension commitflow-0.4.8.vsix
code --install-extension commitflow-1.0.0.vsix
```

---
Expand Down Expand Up @@ -520,7 +520,7 @@ To connect external tools such as Claude Desktop, add CommitFlow to your client
"commitflow": {
"command": "node",
"args": [
"C:/Users/<Username>/.vscode/extensions/ignaciobrenas.commitflow-0.4.8/dist/mcp.js",
"C:/Users/<Username>/.vscode/extensions/ignaciobrenas.commitflow-1.0.0/dist/mcp.js",
"--repo",
"C:/Path/To/Your/Repository"
]
Expand Down
Loading
Loading