Files
mp-silma-ai-aide/manifest.llm.json
T
2026-07-18 10:17:06 -05:00

149 lines
5.9 KiB
JSON

{
"schema_version": "1.0",
"name": "mp-silma-ai-aide",
"description": "A Vite and TypeScript Chrome extension side panel for Gitea-backed Silma AI aide workflows.",
"project_type": "chrome-extension",
"language": "typescript",
"package_manager": "npm",
"deployable_output": {
"path": "dist/",
"type": "chrome-extension",
"description": "Build output is self-contained and can be loaded directly as an unpacked Chrome extension."
},
"entrypoints": {
"side_panel_html": "index.html",
"side_panel_script": "src/main.ts",
"background_service_worker": "src/background.ts",
"state_store": "src/store.ts",
"api_client": "src/api.ts",
"local_context_types": "src/localContext.ts",
"vite_config": "vite.config.ts",
"extension_icons": "public/icons/",
"local_context": "public/local-context.json",
"local_context_generator": "scripts/generate-local-context.mjs",
"generated_manifest": "dist/manifest.json"
},
"ui": {
"shell": "Chrome side panel",
"menu_items": [
{
"name": "Add URL",
"enabled": "when active tab base URL is not already known"
},
{
"name": "URLs",
"enabled": true
},
{
"name": "Gitea Repos",
"enabled": true
},
{
"name": "Workspaces",
"enabled": true
},
{
"name": "Agents",
"enabled": true
},
{
"name": "Add Issue",
"enabled": "when active tab base URL is known and linked to a Gitea repo"
}
],
"repo_ordering": "Gitea repos are ordered by latest default-branch commit timestamp.",
"agents_behavior": "The Agents view manages persisted agent files. The initial agent is GLOBAL AGENT backed by AGENTS.md, and agent markdown supports {{git}}, {{repo}}, {{workspace}}, {{url}}, {{baseUrl}}, {{profile}}, and {{issue}} template variables.",
"add_url_behavior": "The user must pick either a workspace or a Gitea repo. The app infers the linked counterpart from local context and stores the URL link in chrome.storage.local.",
"delete_url_behavior": "URLs can be deleted from the list. User-added URLs are removed from chrome.storage.local; generated known URLs are hidden by storing their base URL in silmaAide.deletedUrlBases.",
"add_issue_behavior": "The form shows the target repo and active URL for the active known URL, lets the user select an agent file, captures visible-tab screenshots with thumbnails, accepts accumulated file attachments, creates a Gitea issue with the Change Request label, uploads the rendered agent file plus all screenshots/files as issue assets, then applies the ready label after uploads when requested. Captured screenshots can be expanded, removed, or cropped with a plain draggable/resizable crop box. Issue bodies include Chrome profile: Silma and the selected agent. The view intentionally omits the redundant Add Issue header copy and keeps the Ready checkbox label short.",
"issue_comment_behavior": "The Add Issue view lists existing issues for the active URL's linked Gitea repo. Selecting an issue shows the original description, issue attachments, comment chain, and a comment form that accepts text, screenshots, and file attachments, uploads attachments as issue assets, and submits a Gitea issue comment with attachment links. Issue rows can apply the ready label or delete the issue after confirmation.",
"known_urls": [
{
"url": "http://100.66.226.22:23030/",
"workspace": "/Users/Tabitha/.openclaw/workspace_Father/workspace_Data",
"gitea_repo": "jacob-mathison/home-grown-llm-data"
}
]
},
"documentation": {
"agent_instructions": "AGENTS.md",
"llm_summary": "llm.txt",
"readme": "README.md",
"extension_management": "docs/extension-management.md"
},
"extension_management": {
"chrome_profile": "Silma",
"forbidden_profiles": ["Profile 1"],
"codex_chrome_extension_required": true,
"load_unpacked_path": "dist/",
"instructions": "Use the Codex Chrome extension with the Chrome profile named Silma. Do not use Profile 1."
},
"extension_permissions": [
"activeTab",
"sidePanel",
"storage",
"tabs"
],
"extension_host_permissions": [
"<all_urls>",
"Gitea host derived from VITE_GITEA_BASE_URL"
],
"commands": {
"install": "npm ci",
"codex_setup": "npm run codex:setup",
"dev": "npm run dev",
"codex_dev": "npm run dev:codex",
"build": "npm run build",
"codex_build": "npm run build:codex",
"preview": "npm run preview",
"verify_dist": "npm run verify:dist"
},
"environment": {
"example_file": ".env.example",
"local_file": ".env.local",
"variables": [
{
"name": "VITE_GITEA_BASE_URL",
"required": true,
"secret": false,
"description": "Base URL for the Gitea instance."
},
{
"name": "VITE_GITEA_TOKEN",
"required": true,
"secret": true,
"description": "Gitea API token used by the side panel client."
},
{
"name": "VITE_GITEA_REPO_OWNER",
"required": true,
"secret": false,
"description": "Owner for the target Gitea repository."
},
{
"name": "VITE_GITEA_REPO_NAME",
"required": true,
"secret": false,
"description": "Name of the target Gitea repository."
}
]
},
"generated_paths": [
"dist/",
"node_modules/"
],
"gitea_workflows": [
{
"path": ".gitea/workflows/build.yml",
"trigger": "push to main or pull request",
"purpose": "Build and verify the deployable extension output."
},
{
"path": ".gitea/workflows/issue-opened-placeholder.yml",
"trigger": "new issue opened",
"purpose": "Placeholder workflow that prints 200 okay."
}
],
"agent_guidance": "See AGENTS.md and docs/extension-management.md for coding, build, and Chrome profile instructions. Do not edit dist/ directly; rebuild from source instead."
}