Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 4 additions & 3 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
> Swift コードの構造と呼び出し関係をグラフ分析するツールです。AI が生成したコード変更の検証に特に役立ちます。

[![CI](https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/actions/workflows/ci.yml/badge.svg)](https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/actions/workflows/ci.yml)
[![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/SeungMinLee.flowmap-ai-swift-guard?label=VS%20Code%20Marketplace)](https://marketplace.visualstudio.com/items?itemName=SeungMinLee.flowmap-ai-swift-guard)

[English](README.md) · [한국어](README.ko.md)

Expand Down Expand Up @@ -66,15 +67,15 @@ FlowMap は誤リンクを抑えるため、cross-file 呼び出し解決を保

### Overview モード

![Overview mode](docs/screenshots/overview.jpg)
![Overview mode](editor/vscode/resources/screenshot_overview.png)

### File Detail モード

![File detail mode](docs/screenshots/file-detail.jpg)
![File detail mode](editor/vscode/resources/screenshot_detail.png)

### Calls モード

![Calls mode](docs/screenshots/calls.jpg)
![Calls mode](editor/vscode/resources/screenshot_calls.png)

## インストール

Expand Down
7 changes: 4 additions & 3 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
> Swift 코드의 구조와 호출 관계를 그래프로 분석하는 도구입니다. AI가 생성한 코드 변경을 검증할 때 특히 유용합니다.

[![CI](https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/actions/workflows/ci.yml/badge.svg)](https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/actions/workflows/ci.yml)
[![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/SeungMinLee.flowmap-ai-swift-guard?label=VS%20Code%20Marketplace)](https://marketplace.visualstudio.com/items?itemName=SeungMinLee.flowmap-ai-swift-guard)

[English](README.md) · [日本語](README.ja.md)

Expand Down Expand Up @@ -66,15 +67,15 @@ FlowMap은 false link를 줄이기 위해 cross-file 호출을 보수적으로

### Overview 모드

![Overview mode](docs/screenshots/overview.jpg)
![Overview mode](editor/vscode/resources/screenshot_overview.png)

### File Detail 모드

![File detail mode](docs/screenshots/file-detail.jpg)
![File detail mode](editor/vscode/resources/screenshot_detail.png)

### Calls 모드

![Calls mode](docs/screenshots/calls.jpg)
![Calls mode](editor/vscode/resources/screenshot_calls.png)

## 설치

Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
> Swift code graph and impact analysis tool — understand and verify code structure, especially when reviewing AI-generated changes.

[![CI](https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/actions/workflows/ci.yml/badge.svg)](https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/actions/workflows/ci.yml)
[![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/SeungMinLee.flowmap-ai-swift-guard?label=VS%20Code%20Marketplace)](https://marketplace.visualstudio.com/items?itemName=SeungMinLee.flowmap-ai-swift-guard)

[한국어](README.ko.md) · [日本語](README.ja.md)

Expand Down Expand Up @@ -67,15 +68,15 @@ This behavior is expected in current public beta and is being expanded increment

### Overview mode

![Overview mode](docs/screenshots/overview.jpg)
![Overview mode](editor/vscode/resources/screenshot_overview.png)

### File detail mode

![File detail mode](docs/screenshots/file-detail.jpg)
![File detail mode](editor/vscode/resources/screenshot_detail.png)

### Calls mode

![Calls mode](docs/screenshots/calls.jpg)
![Calls mode](editor/vscode/resources/screenshot_calls.png)

## Installation

Expand Down
7 changes: 6 additions & 1 deletion editor/vscode/.vscodeignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# Keep package minimal for release VSIX
# Keep package minimal for release VSIX.
**/*

!package.json
!LICENSE
!README.md
!CHANGELOG.md
!out/**
!webview/**
!resources/**
.DS_Store
**/.DS_Store
!node_modules/cytoscape/**
15 changes: 15 additions & 0 deletions editor/vscode/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Changelog

## 0.1.3

- Improved graph layout to reduce node overlap.
- Improved readability for dense graph views.
- Added right-click actions for Swift files and folders.
- Added Marketplace screenshots for Overview, File Detail, and Calls modes.
- Added Marketplace icon.
- Improved Marketplace README for public beta users.

## 0.1.2

- Added public beta Marketplace listing metadata.
- Updated extension branding to FlowMap Hallucination Guard for Swift.
87 changes: 87 additions & 0 deletions editor/vscode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# FlowMap Hallucination Guard for Swift

**Public Beta**

FlowMap is a graph-based review tool for Swift projects. It helps you inspect AI-generated changes by showing the real structure of your code: files, types, functions, calls, graph diffs, and impacted nodes.

AI coding tools can produce changes that look plausible in a text diff while quietly breaking call relationships or moving logic into the wrong place. FlowMap adds a visual review layer so you can catch those structural mistakes faster.

Repository: https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift

Issues: https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/issues

## What's New in 0.1.3

- Improved graph layout to reduce node overlap.
- Improved readability for dense Swift projects.
- Added right-click actions for analyzing Swift files and folders directly from VS Code.
- Added Marketplace screenshots for Overview, File Detail, and Calls views.
- Kept public beta positioning explicit: FlowMap is a review aid, not a compiler or test replacement.

## See the Code Shape Before You Trust the Change

FlowMap turns a Swift workspace into a visual graph. Use it when an AI assistant edits code and you want to verify whether the resulting structure still makes sense.

It highlights:

- Added nodes and edges.
- Removed nodes and edges.
- Changed functions.
- Impacted nodes reached through call relationships.
- File, type, function, and call-level structure.

## Overview Mode

Use Overview Mode to inspect the broad project shape. Folders and Swift files are grouped into a workspace-level graph, making unexpected file additions or large structural shifts easier to spot.

![Overview Mode](resources/screenshot_overview.png)

## File Detail Mode

Use File Detail Mode to inspect the inside of a Swift file. FlowMap groups types and functions so you can check whether an AI-generated edit changed the structure of a file in a suspicious way.

![File Detail Mode](resources/screenshot_detail.png)

## Calls Mode

Use Calls Mode to trace function-level relationships across the workspace. The improved layout reduces overlap and keeps call paths easier to read, especially when reviewing changed or removed links.

![Calls Mode](resources/screenshot_calls.png)

## Faster VS Code Workflow

FlowMap can be launched from the command palette, and 0.1.3 also adds right-click entry points:

- Right-click a Swift file and run `FlowMap: Analyze Workspace`.
- Right-click a Swift file and run `FlowMap: Show Graph Diff`.
- Right-click a folder in Explorer and run `FlowMap: Analyze Workspace`.
- Save a Swift file to trigger auto-analysis when enabled.

## Quick Start

1. Install the extension.
2. Build the FlowMap engine from the GitHub repository.
3. Set `flowmap.binaryPath` to the built `flowmap` binary.
4. Open a Swift workspace in VS Code.
5. Run `FlowMap: Analyze Workspace`.
6. Open `FlowMap: Show Graph Diff`.

## Requirements

- macOS.
- Swift toolchain / Xcode Command Line Tools.
- A built FlowMap engine binary.

## Configuration

| Setting | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `flowmap.binaryPath` | `string` | `""` | Path to the `flowmap` analyzer binary. |
| `flowmap.autoAnalyzeOnSave` | `boolean` | `true` | Automatically re-analyze workspace when a Swift file is saved. |
| `flowmap.autoAnalyzeDebounceMs` | `number` | `500` | Delay in ms after save before triggering auto-analysis. |

## Public Beta Notes

FlowMap is not a compiler, type checker, or replacement for tests. It is a graph-based review aid for spotting suspicious structural changes faster.

Cross-file call resolution is intentionally conservative in the current beta. Protocols, extensions, and generic-heavy code may resolve to interface-level relationships instead of a single concrete implementation.
8 changes: 4 additions & 4 deletions editor/vscode/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 31 additions & 4 deletions editor/vscode/package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
{
"name": "flowmap",
"displayName": "FlowMap",
"description": "Call-graph visualization for AI-generated Swift code",
"version": "0.1.0",
"name": "flowmap-ai-swift-guard",
"publisher": "SeungMinLee",
"displayName": "FlowMap Hallucination Guard for Swift",
"description": "Detect risky AI-generated Swift changes with graph diff and impact analysis",
"version": "0.1.3",
"icon": "resources/icon.png",
"repository": {
"type": "git",
"url": "https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift.git"
},
"homepage": "https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift",
"bugs": {
"url": "https://github.com/adgk2349/FlowMap-AI_Code_Hallucination_Guard_for_Swift/issues"
},
"engines": {
"vscode": "^1.85.0"
},
Expand Down Expand Up @@ -66,6 +72,27 @@
"title": "FlowMap: Pro Feature Preview"
}
],
"menus": {
"editor/context": [
{
"command": "flowmap.analyzeWorkspace",
"when": "resourceLangId == swift",
"group": "navigation"
},
{
"command": "flowmap.showGraphDiff",
"when": "resourceLangId == swift",
"group": "navigation"
}
],
"explorer/context": [
{
"command": "flowmap.analyzeWorkspace",
"when": "explorerResourceIsFolder || resourceExtname == .swift",
"group": "navigation"
}
]
},
"configuration": {
"title": "FlowMap",
"properties": {
Expand Down
Binary file added editor/vscode/resources/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added editor/vscode/resources/screenshot_calls.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added editor/vscode/resources/screenshot_detail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added editor/vscode/resources/screenshot_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading