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 a local, release-pinned Code Confluence Docker Compose deployment, including its Flow Bridge, query engine, and frontend services. It also connects Git repositories through provider credentials, triggers repository refresh and AGENTS.md-generation workflows that raise pull requests, and verifies model-provider configuration for AI-assisted code knowledge workflows.

### References

Expand Down
22 changes: 20 additions & 2 deletions unoplat-code-confluence-cli/app_interfaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,29 @@ Format: `path: L<line>: <match_text>` where path is codebase-relative.

## Inbound Constructs

No inbound constructs detected.
### cli_command (click)

- `src/unoplat_code_confluence_cli/cli_app/repo_commands.py`: L15: @repo_group.command(name="add")
- `src/unoplat_code_confluence_cli/cli_app/repo_commands.py`: L27: @click.command(name="add-repository")
- `src/unoplat_code_confluence_cli/cli_app/repo_commands.py`: L42: @click.command(name="agent-md")
- `src/unoplat_code_confluence_cli/cli_app/service_commands.py`: L20: @service_group.command(name="run")
- `src/unoplat_code_confluence_cli/cli_app/service_commands.py`: L28: @service_group.command(name="status")
- `src/unoplat_code_confluence_cli/cli_app/service_commands.py`: L47: @service_group.command(name="update")
- `src/unoplat_code_confluence_cli/cli_app/service_commands.py`: L55: @service_group.command(name="stop")
- `src/unoplat_code_confluence_cli/cli_app/service_commands.py`: L63: @service_group.command(name="destroy")
- `src/unoplat_code_confluence_cli/cli_app/setup_commands.py`: L16: @setup_group.command(name="token-repo-provider")
- `src/unoplat_code_confluence_cli/cli_app/setup_commands.py`: L28: @setup_group.command(name="model-provider")

## Outbound Constructs

No outbound constructs detected.
### http_client (httpx2)

- `src/unoplat_code_confluence_cli/adapters/httpx2_client.py`: L37: httpx2.get( f"{candidate_base_url}{path}", params=params, headers=headers, follow_redirects=follow_redirects, timeout=timeout, )
- `src/unoplat_code_confluence_cli/adapters/httpx2_client.py`: L73: httpx2.post( f"{candidate_base_url}{path}", json=json, timeout=timeout, )

## Bidirectional Constructs

No bidirectional constructs detected.

## Internal Constructs

Expand Down
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 a local, release-pinned Code Confluence Docker Compose deployment, including its Flow Bridge, query engine, and frontend services. It connects Git repositories through provider credentials, triggers repository refresh and AGENTS.md-generation workflows that raise pull requests, and verifies model-provider configuration for AI-assisted code knowledge workflows.

## 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.
- **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.
12 changes: 6 additions & 6 deletions unoplat-code-confluence-commons/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,23 @@ 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>

## Engineering Workflow
### Install
- `uv sync` (config: `pyproject.toml`, `Taskfile.yml`)
- `uv sync` (config: `pyproject.toml`; working directory: repository root)
### Build
- `uv build` (config: `pyproject.toml`)
- `uv build` (config: `pyproject.toml`; working directory: repository root)
### Dev
- Not detected
### Test
- `uv run pytest -v tests/` (config: `pyproject.toml`, `Taskfile.yml`)
- `uv run pytest -v tests/` (config: `pyproject.toml`; working directory: repository root)
### Lint
- Not detected
- `uv run --with ruff ruff check .` (config: `ruff.toml`; working directory: repository root)
### Type Check
- `uv run --group dev pyrefly check src/` (config: `pyproject.toml`, `Taskfile.yml`)
- `uv run --group dev pyrefly check src/` (config: `pyproject.toml`; working directory: repository root)

## Dependency Guide
See [`dependencies_overview.md`](./dependencies_overview.md) for the full dependency catalog and usage notes.
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. It models Git repositories, codebases, source files, package metadata, framework feature definitions, and detected source-code spans, using configurable queries to identify library capabilities. It also orchestrates and audits repository/codebase workflows through run statuses, errors, progress events, agent output snapshots, credentials, and AGENTS.md publication metadata.

## 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
6 changes: 3 additions & 3 deletions 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 All @@ -46,10 +46,10 @@ Reference details: see `business_logic_references.md`.
- `bun run dev` (working directory: repo root; config: `package.json`)

### Test
- Not detected
- `vp test` (working directory: repo root; config: `package.json`)

### Lint
- Not detected
- `vp check` (working directory: repo root; config: `vite.config.ts`)

### Type Check
- `bun run types:check` (working directory: repo root; config: `package.json`)
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 serves the documentation site for Unoplat Code Confluence, a developer tool for AI-assisted code understanding and AGENTS.md generation. Its models support documentation delivery and product communication through framework catalog entries, searchable/filterable data tables, release changelogs, announcement banners, SEO metadata, and documentation/search routes. The dominant domain is developer-facing product documentation and release communication for a code-context engine targeting Python and TypeScript projects.

## Data Model References
### `/opt/unoplat/repositories/unoplat-code-confluence/unoplat-code-confluence-docs/src/components/data-table-filter/core/filters.ts`
Expand Down
Loading
Loading