Skip to content
Open
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 unoplat-code-confluence-cli/AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!-- UNOPLAT_CODE_CONFLUENCE_CONTEXT:BEGIN -->
<CRITICAL_INSTRUCTION>

> Generated from branch `dev` at commit `3bbc2c8ae5f6fc7e94628c3b07a936ca5bdbcd02` (2026-06-09). Content may become stale as new commits land.
> Generated from branch `dev` at commit `05234b1efe5762f633f9b3367f217c3b0fe2659b` (2026-07-15). Content may become stale as new commits land.

</CRITICAL_INSTRUCTION>

Expand All @@ -13,7 +13,7 @@
- `uv build` — `pyproject.toml`

### Dev
- `uv run unoplat` — `pyproject.toml` (project script entry point)
- `uv run ucc` — `pyproject.toml` (project script entry point)

### Test
- Not detected
Expand All @@ -29,7 +29,8 @@ See [`dependencies_overview.md`](./dependencies_overview.md) for the full depend

## Business Domain
### Description
Unoplat Code Confluence CLI manages the local Code Confluence Docker Compose stack: it fetches and pins GitHub releases, installs or repairs release assets, starts the Flow Bridge/query engine/frontend services, and opens browser setup pages for repository token and model-provider configuration.

Unoplat Code Confluence CLI manages the Code Confluence platform’s local Docker Compose deployment, including versioned release manifests and the Flow Bridge, query engine, and frontend components. It registers and refreshes Git repositories for automated AGENTS.md generation, while checking repository-provider credentials and AI model-provider configuration and reporting application lifecycle results.

### References

Expand Down
4 changes: 4 additions & 0 deletions unoplat-code-confluence-cli/app_interfaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ No inbound constructs detected.

No outbound constructs detected.

## Bidirectional Constructs

No bidirectional constructs detected.

## Internal Constructs

No internal constructs detected.
53 changes: 38 additions & 15 deletions unoplat-code-confluence-cli/business_domain_references.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,43 @@
# Business Domain References

## Domain Summary
This codebase is a CLI for running and maintaining the local Unoplat Code Confluence application. It manages GitHub release discovery, pins and repairs Docker Compose assets for the Flow Bridge, query engine, and frontend services, and opens browser-based setup pages for repository token and model-provider configuration.
Unoplat Code Confluence CLI manages the Code Confluence platform’s local Docker Compose deployment, including versioned release manifests and the Flow Bridge, query engine, and frontend components. It registers and refreshes Git repositories for automated AGENTS.md generation, while checking repository-provider credentials and AI model-provider configuration and reporting application lifecycle results.

## Data Model References
### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L27-L32`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L35-L40`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L43-L46`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L49-L53`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L56-L61`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L64-L70`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L73-L80`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L83-L97`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L100-L114`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/app_runtime.py#L117-L120`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/setup_runtime.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/setup_runtime.py#L11-L18`
### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/backend/flow_bridge_client.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/backend/flow_bridge_client.py#L16-L20`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/backend/flow_bridge_client.py#L23-L29`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/cli_app/context.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/cli_app/context.py#L19-L23`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L14-L19`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L22-L27`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L30-L33`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L36-L40`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L43-L48`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L51-L57`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L60-L67`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L70-L73`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/release.py#L76-L79`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/repository.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/repository.py#L10-L72`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L9-L18`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L21-L29`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L32-L38`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L41-L51`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L54-L66`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L69-L75`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L78-L86`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L89-L95`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/results.py#L98-L105`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/setup.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/domain/setup.py#L6-L11`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/ports/http_client.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-cli/src/unoplat_code_confluence_cli/ports/http_client.py#L8-L15`
4 changes: 2 additions & 2 deletions unoplat-code-confluence-cli/dependencies_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
- **Package management**: Use `uv` as the package manager for this codebase.
- **click**: Purpose: A Python package for building composable command-line interfaces with minimal code. It provides automatic help-page generation, nested commands, and support for lazy-loaded subcommands.
- **httpx2**: Purpose: A next-generation HTTP client for Python. It provides synchronous and asynchronous APIs, with support for both HTTP/1.1 and HTTP/2. Official docs: https://httpx2.pydantic.dev/ ; PyPI: https://pypi.org/project/httpx2/
- **platformdirs**: Purpose: A Python library for determining platform-specific system directories, such as user data, configuration, cache, and log locations. It resolves the correct paths for macOS, Windows, Linux/Unix, and Android, with `_dir` and `_path` variants for each directory.
- **platformdirs**: Purpose: A Python library for determining platform-specific system directories, such as user data, configuration, cache, and log locations. It resolves the correct paths for macOS, Windows, Linux/Unix, and Android, with _dir and _path variants for each directory.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Escape the _dir and _path identifiers.

The removed backticks cause markdownlint MD037 and can render the identifiers as malformed emphasis. Keep them as inline code.

Proposed fix
-- **platformdirs**: Purpose: A Python library for determining platform-specific system directories, such as user data, configuration, cache, and log locations. It resolves the correct paths for macOS, Windows, Linux/Unix, and Android, with _dir and _path variants for each directory.
+- **platformdirs**: Purpose: A Python library for determining platform-specific system directories, such as user data, configuration, cache, and log locations. It resolves the correct paths for macOS, Windows, Linux/Unix, and Android, with `_dir` and `_path` variants for each directory.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **platformdirs**: Purpose: A Python library for determining platform-specific system directories, such as user data, configuration, cache, and log locations. It resolves the correct paths for macOS, Windows, Linux/Unix, and Android, with _dir and _path variants for each directory.
- **platformdirs**: Purpose: A Python library for determining platform-specific system directories, such as user data, configuration, cache, and log locations. It resolves the correct paths for macOS, Windows, Linux/Unix, and Android, with `_dir` and `_path` variants for each directory.
🧰 Tools
🪛 markdownlint-cli2 (0.23.0)

[warning] 6-6: Spaces inside emphasis markers

(MD037, no-space-in-emphasis)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@unoplat-code-confluence-cli/dependencies_overview.md` at line 6, Restore
inline-code backticks around each `_dir` and `_path` identifier in the
platformdirs dependency description, preserving the surrounding prose and
ensuring Markdown renders them as code.

Source: Linters/SAST tools

- **pydantic**: Purpose: Python data validation and settings management library built around type hints. It validates, parses, and serializes structured data using Python models and can generate JSON Schema.
- **pydantic-settings**: Purpose: Provides Pydantic’s settings management via `BaseSettings`, letting you load configuration from environment variables, dotenv files, and secrets files. It also supports custom settings sources and priority control for how values are resolved.
- **pydantic-settings**: Purpose: Provides Pydantic’s settings management via BaseSettings, letting you load configuration from environment variables, dotenv files, and secrets files. It also supports custom settings sources and priority control for how values are resolved.
- **python-on-whales**: Purpose: A Docker client for Python with a 1:1 mapping to the Docker CLI. It provides a typed, object-oriented API for common Docker operations like run, build, compose, and swarm management.
4 changes: 2 additions & 2 deletions unoplat-code-confluence-commons/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ This project uses Backlog.md MCP for all task and project management. Before cre
<!-- UNOPLAT_CODE_CONFLUENCE_CONTEXT:BEGIN -->
<CRITICAL_INSTRUCTION>

> Generated from branch `dev` at commit `3bbc2c8ae5f6fc7e94628c3b07a936ca5bdbcd02` (2026-06-09). Content may become stale as new commits land.
> Generated from branch `dev` at commit `05234b1efe5762f633f9b3367f217c3b0fe2659b` (2026-07-15). Content may become stale as new commits land.

</CRITICAL_INSTRUCTION>

Expand All @@ -44,7 +44,7 @@ This project uses Backlog.md MCP for all task and project management. Before cre
### Test
- `uv run pytest -v tests/` (config: `pyproject.toml`, `Taskfile.yml`)
### Lint
- Not detected
- `uv run ruff check src/` (config: `ruff.toml`)
### Type Check
- `uv run --group dev pyrefly check src/` (config: `pyproject.toml`, `Taskfile.yml`)

Expand Down
4 changes: 4 additions & 0 deletions unoplat-code-confluence-commons/app_interfaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ No inbound constructs detected.

No outbound constructs detected.

## Bidirectional Constructs

No bidirectional constructs detected.

## Internal Constructs

No internal constructs detected.
14 changes: 7 additions & 7 deletions unoplat-code-confluence-commons/business_domain_references.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Business Domain References

## Domain Summary
This codebase supports Code Confluence, a repository ingestion and code-intelligence platform. It centers on persisting Git repositories, codebases, workflow runs, and agent execution state while cataloging framework features, language/package-manager metadata, and detected source-code spans. It also includes supporting operational models for credentials, feature flags, and AGENTS.md PR/publication tracking.
This package supports Code Confluence, a repository ingestion and code-intelligence platform that models Git repositories, codebases, source files, programming-language and package-manager metadata, and framework relationships. It detects configurable framework features and data-model locations in source code, recording matched spans, confidence, validation evidence, and detection outcomes. It also tracks repository and codebase workflow execution, agent progress and events, generated AGENTS.md snapshots and PR metadata, credentials, and feature flags.

## Data Model References
### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/data_model_position.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/data_model_position.py#L8-L14`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L51-L76`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L99-L169`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L172-L218`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L221-L239`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L242-L268`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L271-L290`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L58-L99`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L135-L206`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L209-L256`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L259-L277`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L280-L306`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/engine_models.py#L309-L328`

### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/framework_models.py`
- `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-commons/src/unoplat_code_confluence_commons/base_models/framework_models.py#L32-L54`
Expand Down
2 changes: 1 addition & 1 deletion unoplat-code-confluence-docs/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Reference details: see `business_logic_references.md`.
<!-- UNOPLAT_CODE_CONFLUENCE_CONTEXT:BEGIN -->
<CRITICAL_INSTRUCTION>

> Generated from branch `dev` at commit `3bbc2c8ae5f6fc7e94628c3b07a936ca5bdbcd02` (2026-06-09). Content may become stale as new commits land.
> Generated from branch `dev` at commit `05234b1efe5762f633f9b3367f217c3b0fe2659b` (2026-07-15). Content may become stale as new commits land.

</CRITICAL_INSTRUCTION>

Expand Down
4 changes: 4 additions & 0 deletions unoplat-code-confluence-docs/app_interfaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ No inbound constructs detected.

No outbound constructs detected.

## Bidirectional Constructs

No bidirectional constructs detected.

## Internal Constructs

No internal constructs detected.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Business Domain References

## Domain Summary
This codebase powers the documentation site for Unoplat Code Confluence, a developer tool for AI-assisted code understanding and AGENTS.md generation. Its data models mostly cover docs-site content and presentation metadata—changelog entries, announcement banners, SEO settings, route definitions, and framework catalog rows—plus reusable data-table filtering primitives used to navigate that content. The dominant domain is product documentation and release communication for a code-context engine aimed at Python and TypeScript codebases.
This codebase supports a developer documentation site for Unoplat Code Confluence, a code-understanding and developer tooling product. Its models manage framework catalog entries, searchable and faceted data tables, release changelogs, announcement banners, SEO metadata, and documentation routes, emphasizing product education and release communication.

## Data Model References
### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-docs/src/components/data-table-filter/core/filters.ts`
Expand Down
2 changes: 1 addition & 1 deletion unoplat-code-confluence-docs/dependencies_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
- **postcss**: Purpose: A tool for transforming CSS with JavaScript. It uses plugins to lint, transpile, and otherwise transform CSS.
- **Radix UI React Primitives**: Purpose: An open-source low-level UI component library for building accessible, unstyled, customizable design systems and web apps. It includes primitives such as Separator for visual/semantic separation and Slot for merging props onto a child element.
- **radix-ui**: Purpose: An open-source, low-level UI component library for building accessible, customizable design systems and web apps. It provides fully typed, unstyled primitives with built-in WAI-ARIA behavior and incremental adoption via import { ... } from "radix-ui".
- **react**: Purpose: A JavaScript library for building user interfaces from reusable components. It uses JSX and state to create interactive screens, and supports TypeScript via @types/react and @types/react-dom.
- **react-day-picker**: Purpose: React DayPicker is a React component for creating date pickers, calendars, and date inputs for web applications. It provides a minimal, customizable UI and supports single, multiple, range, or custom selections.
- **react-dom**: Purpose: The react-dom package contains methods supported only for web applications running in the browser DOM environment, not React Native. It provides client/server entry points and APIs such as createRoot, hydrateRoot, createPortal, flushSync, and resource preloading.
- **tailwind-merge**: Purpose: Utility function to efficiently merge Tailwind CSS classes in JavaScript/TypeScript without style conflicts. It ships with TypeScript declarations and provides twMerge.
- **vite**: Purpose: Vite is a blazing fast frontend build tool for modern web applications. It provides an instant dev server with native ESM and fast HMR, plus an optimized production build with full TypeScript typing support.
- **react**: Purpose: A JavaScript library for building user interfaces from reusable components. It uses JSX and state to create interactive screens, and supports TypeScript via @types/react and @types/react-dom.
2 changes: 1 addition & 1 deletion unoplat-code-confluence-frontend/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Before substantial work:
<!-- UNOPLAT_CODE_CONFLUENCE_CONTEXT:BEGIN -->
<CRITICAL_INSTRUCTION>

> Generated from branch `dev` at commit `3bbc2c8ae5f6fc7e94628c3b07a936ca5bdbcd02` (2026-06-09). Content may become stale as new commits land.
> Generated from branch `dev` at commit `05234b1efe5762f633f9b3367f217c3b0fe2659b` (2026-07-15). Content may become stale as new commits land.

</CRITICAL_INSTRUCTION>

Expand Down
Loading
Loading