Skip to content

Releases: JALAL591/compose-bridge

v1.1.2 - Complete Refactoring & Critical Fixes

Choose a tag to compare

@JALAL591 JALAL591 released this 22 Oct 18:03

🚀 What's New in v1.1.2

🏗️ Architectural Refactoring (5 Phases)

We have completely restructured the core of ComposeBridge for better maintainability, scalability, and performance:

  • Split Monolithic Files: 4 massive files were broken down into 25+ specialized modules:
    • source_analyzer.py: 2,116 lines → 72 lines
    • state_editor.py: 1,146 lines → 86 lines
    • mcp_server.py: 1,209 lines → 59 lines
    • server.py: 1,493 lines → 67 lines
  • New Modules: Introduced common/, analysis/, editor/, mcp/, network/, handlers/, and cli/ packages.
  • Zero Circular Imports: Cleaned up all interdependent imports.

🔧 Critical Bug Fixes (P0)

  • Text Editing Fixed: Resolved the issue where text editing failed after refactoring due to relative imports in text_editor.py.
  • AppStrings Resolution: Fixed text extraction that was showing AppStrings.Da instead of the actual rendered text.
  • Multi-Registry Dimensions: You can now edit padding/dimensions on lines that contain multiple BridgeDimensionRegistry.get calls.
  • Release Builds: Created a lightweight composebridge-runtime module to ensure assembleRelease works flawlessly without duplicate classes.
  • Auth Token: Added a dynamic token system with a --dev-token fallback for local testing.
  • Theme Indexer: Now dynamically discovers AppStrings.kt and DesignSystem.kt instead of relying on hardcoded paths.
  • Port Conflict: Unified all ports to 8711 to prevent connection drops.

✅ Verification

  • 100% of Python files compile without errors.
  • 15/15 Unit Tests passing.
  • End-to-End (E2E) integration tests passed 100%.
  • Verified text and dimension editing directly from the phone.

v1.1.1 - Critical Hotfix (Release Builds & Stability)

Choose a tag to compare

@JALAL591 JALAL591 released this 21 Oct 00:51

🚨 Critical Hotfix (v1.1.1)

Fixed

  • Release Build Failure (P0): Introduced a new lightweight composebridge-runtime module (9 KB) containing the design system registries. This separates debug-only tools from release builds. You must now add composebridge-runtime-release.aar to your implementation dependencies.
  • False Sync Error (P0): Fixed a NameError in apply_state_update that caused the server to report failure even when the file was successfully modified.
  • Hardcoded Paths: Removed all hardcoded paths (com.student.app, C:\Users\...). The tool now discovers the project structure dynamically.
  • Security: Replaced hardcoded auth tokens with dynamically generated tokens in .composebridge-state/auth.json.

Improved

  • MCP Tools Documentation: Rewrote all 17+ tool descriptions to include side effects, usage warnings, and parameter constraints (raising TDQS score from 3/5 to 5/5).
  • README: Updated installation instructions to reflect the new runtime + agent AAR setup.

v1.1.0 - Visual Text Editing & MCP Bridge

Choose a tag to compare

@JALAL591 JALAL591 released this 20 Oct 23:02

🚀 What's New in v1.1.0

✨ Added

  • Text Editing Mode with Live Preview (via BridgeTextRegistry)
  • On-the-Fly Auto-Migration: Any text you edit is automatically wrapped in BridgeTextRegistry.getText(...)
  • MCP Server Integration for AI agents (Cursor, Claude, Antigravity)
  • Architectural Roadmap in docs/architecture/RFC-001-vision.md

🔧 Fixed

  • Navigation backstack preservation (removed key(version) recomposition reset)
  • CRLF/LF line endings compatibility
  • Single-pattern text reference extraction (val unit @Composable get() = "...")
  • Hardcoded paths removed (now works with any project)

📦 Compatibility

  • Android Studio: Giraffe (2022.3.1) or newer
  • IntelliJ IDEA: 2023.1+
  • Android: minSdk 21+
  • Python: 3.10+

📥 Installation

  1. Download ComposeBridgeIntelliJ-1.1.0.zip below → Install in IDE
  2. Download composebridge-server-1.1.0.zip → Extract and run python server.py
  3. Download composebridge-agent-release.aar → Add to your Android project
  4. See README for full setup

📖 Documentation


Full Changelog: v1.0.0...v1.1.0

ComposeBridge v1.0.0 — Official Monorepo Release

Choose a tag to compare

@JALAL591 JALAL591 released this 17 Oct 23:35

🚀 ComposeBridge v1.0.0 — Official Release

ComposeBridge connects live Jetpack Compose Android apps with IDEs (Android Studio / IntelliJ) and AI agents (Claude Desktop, Cursor, Antigravity) via the Model Context Protocol (MCP).

🌟 What's New in v1.0.0:

  • Unified Monorepo: Full codebase consolidated into agent/, plugin/, and server/.
  • JetBrains IDE Plugin: Compatible with Android Studio 2024.1+ and IntelliJ IDEA with full Kotlin K2 Mode support.
  • Runtime Agent AAR: Zero-rebuild live design token adjustments, inspection, and theme registries.
  • Standalone MCP Server: 17+ tools for AST-guided surgical Kotlin source code splicing and design token management.
  • M8ven Trust Verification: Integrated live trust monitoring badge.

📦 Attached Assets:

  • ComposeBridgeIntelliJ-1.0.0.zip (Plugin for Android Studio / IntelliJ)
  • composebridge-agent-release.aar (Android Compose Library)

ComposeBridge v0.4.0 — MCP Server for AI Agents

Choose a tag to compare

@JALAL591 JALAL591 released this 24 Sep 22:35

🎉 v0.4.0 — MCP Server for AI Agents

ComposeBridge now ships with a standalone MCP Server that lets AI agents
(Claude Desktop, Antigravity IDE, Cursor, Cline) edit Jetpack Compose code
surgically — without needing the phone.


🆕 What's New

🤖 MCP Server (Model Context Protocol)

A new standalone server that exposes Compose-aware tools to any MCP-compatible
AI client.

3 tools available:

Tool Description
find_token_by_color Reverse lookup: hex → token name
set_token Surgically edit a token value (single-line diff)
rollback_last Undo last edit (persistent across restarts)

Key feature: Works independently of the phone.

  • ❌ No adb reverse
  • ❌ No WebSocket bridge
  • ❌ No running app
  • ✅ Just Python + AI client + Compose project

📚 Documentation

  • Full MCP Guide: docs/mcp-guide.md
  • Updated README: new MCP section with setup for both Antigravity + Claude Desktop

🔒 Persistent Journal

Every edit is journaled to .composebridge-journal.json.
Rollback works even after process restarts.


✨ All Features (cumulative)

  • 🎯 Live Design Mode — tap any Composable to inspect
  • 🎨 Live Color Editing — <50ms latency
  • 📏 Live Dimension Editing — sliders on device
  • 💾 File Persistence — single-line git diff
  • 🔄 Rebuild Persistence — changes are permanent
  • 🧩 Dynamic UI Compiler — JSON → Compose screens
  • 🌳 Runtime Tree Navigation — parent → children
  • 🤖 MCP Server — AI agent integration (NEW)
  • 🔒 Token Auth — WebSocket handshake verification
  • 📓 Journal Rollback — persistent across restarts
  • 🌐 UTF-16 ↔ UTF-8 Mapper — 100% accuracy
  • 🚫 .bridgeignore — never touch generated code

🧪 Verified

Tested end-to-end in Antigravity IDE:
User: @composebridge set_token("welcomeCardHeight", "300")

Result in AppDimens.kt:

val welcomeCardHeight: Dp get() = BridgeDimensionRegistry.get("welcomeCardHeight", 240.dp)

val welcomeCardHeight: Dp get() = BridgeDimensionRegistry.get("welcomeCardHeight", 300.dp)

text

✅ Single-line git diff
✅ Rollback works
✅ No phone connected


📦 What's Included

  • CLI — Generate Android projects from JSON schemas
  • Agent — Android runtime library (:composebridge-agent)
  • Server — Python WebSocket daemon + AST source splicer
  • MCP Server — AI agent integration (NEW in v0.4.0)
  • Example — StudentApp reference project

✅ Compatibility

Component Version
Kotlin 2.1.20+
Jetpack Compose 1.7.3+
Gradle 8.5+
AGP 8.5+
Min SDK 24
Python 3.10+
MCP SDK 2.2.0+

🚀 Quick Start (MCP)

# 1. Install
cd server
pip install -r requirements.txt

# 2. Configure your AI client (Antigravity)
# Edit: ~/.gemini/config/mcp_config.json
{
  "mcpServers": {
    "composebridge": {
      "command": "python",
      "args": ["C:\\path\\to\\composebridge-en\\server\\mcp_server.py"]
    }
  }
}

# 3. Use from AI chat
@composebridge set_token("welcomeCardHeight", "300")
Full guide: [docs/mcp-guide.md](https://docs/mcp-guide.md)

📜 License
Apache 2.0