Copilot Engineering Configuration Plan¶
This document defines production-grade engineering configuration for plugin development with GitHub Copilot, Gemini CLI, and antigravity development mode.
1. Goals¶
- Standardize plugin engineering workflow for AI-assisted development.
- Support dual assistant stack:
- GitHub Copilot (primary in-editor agent)
- Gemini CLI (secondary external execution/research lane)
- Introduce antigravity development mode for safer, reversible, high-velocity iteration.
2. Scope¶
This plan applies to:
- Plugin development (
actions,filters,pipes,pipelines,tools) - Documentation synchronization
- File generation/delivery workflow in OpenWebUI
- Streaming/tool-call rendering compatibility
3. Engineering Configuration (Copilot-centered)¶
3.1 Source of truth¶
- Primary standard file:
.github/copilot-instructions.md - Agent workflow file:
.agent/workflows/plugin-development.md - Runtime guidance docs:
docs/development/plugin-guide.mddocs/development/plugin-guide.zh.md
3.2 Required development contract¶
- Single-file i18n plugin source.
- Bilingual README (
README.md+README_CN.md). - Safe context extraction (
_get_user_context,_get_chat_context). - Structured event handling (
status,notification,execute). - No silent failures; logging + user-visible status.
3.3 Tool definition contract (Copilot SDK)¶
- Define tool params explicitly with
pydantic.BaseModel. - Use
params_typein tool registration. - Preserve defaults by avoiding forced null overrides.
- Keep tool names normalized and deterministic.
4. Gemini CLI Compatibility Profile¶
Gemini CLI is treated as a parallel capability channel, not a replacement.
4.1 Usage boundary¶
- Use for:
- rapid drafts
- secondary reasoning
- cross-checking migration plans
- Do not bypass repository conventions or plugin contracts.
4.2 Output normalization¶
All Gemini CLI outputs must be normalized before merge:
- Match repository style and naming rules.
- Preserve OpenWebUI plugin signatures and context methods.
- Convert speculative outputs into explicit, testable implementation points.
4.3 Conflict policy¶
When Copilot and Gemini suggestions differ:
- Prefer repository standard compliance.
- Prefer safer fallback behavior.
- Prefer lower integration risk.
5. Antigravity Development Mode¶
Antigravity mode means high-speed delivery with strict reversibility.
5.1 Core principles¶
- Small, isolated edits
- Deterministic interfaces
- Multi-level fallback paths
- Roll-forward and rollback both feasible
5.2 Required patterns¶
- Timeout guards on frontend execution calls.
- Path sandbox validation for all workspace file operations.
- Dual-channel upload fallback (API first, local/DB fallback).
- Progressive status reporting for long-running tasks.
6. File Creation & Delivery Standard¶
6.1 Create files in controlled workspace¶
- Write artifacts in current workspace scope.
- Never use paths outside workspace boundary for deliverables.
6.2 Publish protocol¶
Use 3-step delivery:
- local write
- publish from workspace
- present
/api/v1/files/{id}/contentlink
6.3 Metadata policy¶
- Set
skip_rag=truefor generated downloadable artifacts where applicable. - Keep filename generation deterministic (
chat_title -> markdown_title -> user+date).
7. Plugin Development Norms for Multi-Agent Stack¶
- Compatible with GitHub Copilot and Gemini CLI under same coding contract.
- Keep streaming compatible with OpenWebUI native blocks (
<think>,<details type="tool_calls">). - Escape tool card attributes safely (
") for parser stability. - Preserve async non-blocking behavior.
8. Documentation Sync Rule¶
Any meaningful plugin engineering change must sync:
- plugin code
- plugin bilingual README
- docs plugin detail pages (EN/ZH)
- docs plugin indexes (EN/ZH)
- root README update badge/date when release is prepared
9. Acceptance Checklist¶
- Copilot config and workflow references are valid.
- Gemini CLI outputs can be merged without violating conventions.
- Antigravity safety mechanisms are present.
- File creation and publication flow is reproducible.
- Streaming/tool-card output format remains OpenWebUI-compatible.