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
53 changes: 53 additions & 0 deletions .github/workflows/bundle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Bundle Desktop App

on:
push:

jobs:
bundle:
name: Bundle (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
- macos-latest
- windows-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Install Linux build dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf

- name: Install frontend dependencies
run: npm ci

- name: Build and bundle app
run: npm run tauri build

- name: Upload bundle artifacts
uses: actions/upload-artifact@v4
with:
name: tauri-bundle-${{ matrix.os }}
path: src-tauri/target/release/bundle/
if-no-files-found: error
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,26 @@ This is the expected measurable signal for the Detect -> Fix -> Verify loop.
npm run tauri dev
```

## CI Bundling

Every commit push triggers GitHub Actions workflow `.github/workflows/bundle.yml` to build desktop bundles for:

- macOS
- Linux
- Windows

Bundle artifacts are uploaded per platform from `src-tauri/target/release/bundle/`.
Desktop bundle icons are sourced from `src-tauri/icons/` (including `icon.ico` and `icon.icns`).

### Icon Source Of Truth

- Primary source image: `src-tauri/icons/icon-source.png` (`1024x1024`, transparent background)
- Regenerate all platform icon targets (macOS/Windows/Linux/iOS/Android):

```bash
npm run tauri -- icon src-tauri/icons/icon-source.png -o src-tauri/icons
```

## Documentation

- Health checks and error properties: `docs/health-checks.md`
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Code Health Monitor</title>
<title>Structa</title>
</head>
<body>
<div id="root"></div>
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

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

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "code-health-monitor",
"name": "structa",
"private": true,
"version": "0.1.0",
"type": "module",
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[project]
name = "code-health-monitor-python"
name = "structa-python"
version = "0.1.0"
description = "Python analysis and SQLite graph layer for Code Health Monitor"
description = "Python analysis and SQLite graph layer for Structa"
requires-python = ">=3.10"
dependencies = [
"anthropic>=0.84.0",
Expand Down
2 changes: 1 addition & 1 deletion python/analyzer/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"""Python AST analyzer package for Code Health Monitor."""
"""Python AST analyzer package for Structa."""
2 changes: 1 addition & 1 deletion python/graph/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"""SQLite graph access layer for Code Health Monitor."""
"""SQLite graph access layer for Structa."""
2 changes: 1 addition & 1 deletion python/insights/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"""Health insight queries for Code Health Monitor."""
"""Health insight queries for Structa."""
2 changes: 1 addition & 1 deletion python/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def command_graph(project_path: Path) -> dict[str, Any]:


def parse_args(argv: list[str]) -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Code Health Monitor Python backend")
parser = argparse.ArgumentParser(description="Structa Python backend")
subparsers = parser.add_subparsers(dest="command", required=True)

analyze_parser = subparsers.add_parser("analyze", help="Scan project and ingest graph into SQLite")
Expand Down
22 changes: 11 additions & 11 deletions src-tauri/Cargo.lock

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

4 changes: 2 additions & 2 deletions src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "code-health-monitor"
name = "structa"
version = "0.1.0"
description = "Code Health Monitor"
description = "Structa"
authors = ["Code Health Team"]
license = "MIT"
repository = ""
Expand Down
Binary file added src-tauri/icons/128x128.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 src-tauri/icons/128x128@2x.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 src-tauri/icons/32x32.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 src-tauri/icons/64x64.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 src-tauri/icons/Square107x107Logo.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 src-tauri/icons/Square142x142Logo.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 src-tauri/icons/Square150x150Logo.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 src-tauri/icons/Square284x284Logo.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 src-tauri/icons/Square30x30Logo.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 src-tauri/icons/Square310x310Logo.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 src-tauri/icons/Square44x44Logo.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 src-tauri/icons/Square71x71Logo.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 src-tauri/icons/Square89x89Logo.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 src-tauri/icons/StoreLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<background android:drawable="@color/ic_launcher_background"/>
</adaptive-icon>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions src-tauri/icons/android/values/ic_launcher_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#fff</color>
</resources>
Binary file added src-tauri/icons/icon-source.png
Binary file added src-tauri/icons/icon.icns
Binary file not shown.
Binary file added src-tauri/icons/icon.ico
Binary file not shown.
Binary file modified src-tauri/icons/icon.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@1x.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@2x-1.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@2x.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@3x.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@1x.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@2x-1.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@2x.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@3x.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@1x.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@2x-1.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@2x.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@3x.png
Binary file added src-tauri/icons/ios/AppIcon-512@2x.png
Binary file added src-tauri/icons/ios/AppIcon-60x60@2x.png
Binary file added src-tauri/icons/ios/AppIcon-60x60@3x.png
Binary file added src-tauri/icons/ios/AppIcon-76x76@1x.png
Binary file added src-tauri/icons/ios/AppIcon-76x76@2x.png
Binary file added src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png
15 changes: 11 additions & 4 deletions src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Code Health Monitor",
"productName": "Structa",
"version": "0.1.0",
"identifier": "com.example.codehealthmonitor",
"identifier": "com.example.structa",
"build": {
"beforeDevCommand": "npm run dev",
"beforeBuildCommand": "npm run build",
Expand All @@ -12,7 +12,7 @@
"app": {
"windows": [
{
"title": "Code Health Monitor",
"title": "Structa",
"width": 1280,
"height": 820,
"minWidth": 900,
Expand All @@ -24,6 +24,13 @@
}
},
"bundle": {
"active": false
"active": true,
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
]
}
}
5 changes: 0 additions & 5 deletions src/code_health_monitor_python.egg-info/PKG-INFO

This file was deleted.

6 changes: 0 additions & 6 deletions src/code_health_monitor_python.egg-info/SOURCES.txt

This file was deleted.

2 changes: 1 addition & 1 deletion src/frontend/app/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ export default function App() {

return (
<main className="app-shell">
<h1>Code Health Monitor</h1>
<h1>Structa</h1>
<Controls
projectPath={state.projectPath}
status={state.status}
Expand Down
5 changes: 5 additions & 0 deletions src/structa_python.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Metadata-Version: 2.4
Name: structa-python
Version: 0.1.0
Summary: Python analysis and SQLite graph layer for Structa
Requires-Python: >=3.10
6 changes: 6 additions & 0 deletions src/structa_python.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
README.md
pyproject.toml
src/structa_python.egg-info/PKG-INFO
src/structa_python.egg-info/SOURCES.txt
src/structa_python.egg-info/dependency_links.txt
src/structa_python.egg-info/top_level.txt
2 changes: 1 addition & 1 deletion uv.lock

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