From 1866c1335ac5c2430d84f3c43b8ad5d8977b00fa Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Thu, 7 May 2026 20:08:07 +0300 Subject: [PATCH] feat(plugins): Codex plugin support + Python plugin variant for Claude MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add 1c-skills-py to .claude-plugin/marketplace.json (→ port-claude-code-py) - New .agents/plugins/marketplace.json — Codex marketplace with PS + Py plugins - Templates .github/templates/{codex,claude}-plugin.json.tmpl rendered by CI - build-ports.yml: generate plugin manifests on port-codex/port-codex-py/port-claude-code-py; Codex version YYYY.M.D+sha7 auto-bumped per push - README: install instructions for Codex + Py variant for Claude - .gitignore: narrow .agents/ → .agents/skills/ so the marketplace is tracked Co-Authored-By: Claude Opus 4.7 (1M context) --- .agents/plugins/marketplace.json | 40 +++++++++++++++++++++++ .claude-plugin/marketplace.json | 11 ++++++- .github/templates/claude-plugin.json.tmpl | 31 ++++++++++++++++++ .github/templates/codex-plugin.json.tmpl | 36 ++++++++++++++++++++ .github/workflows/build-ports.yml | 28 ++++++++++++++++ .gitignore | 2 +- README.md | 10 +++++- 7 files changed, 155 insertions(+), 3 deletions(-) create mode 100644 .agents/plugins/marketplace.json create mode 100644 .github/templates/claude-plugin.json.tmpl create mode 100644 .github/templates/codex-plugin.json.tmpl diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json new file mode 100644 index 00000000..9cb92373 --- /dev/null +++ b/.agents/plugins/marketplace.json @@ -0,0 +1,40 @@ +{ + "name": "cc-1c-skills", + "interface": { + "displayName": "1C Skills" + }, + "plugins": [ + { + "name": "1c-skills", + "source": { + "source": "url", + "url": "https://github.com/Nikolay-Shirokov/cc-1c-skills.git", + "ref": "port-codex" + }, + "policy": { + "installation": "AVAILABLE", + "authentication": "OFF" + }, + "category": "Development", + "interface": { + "shortDescription": "PowerShell runtime (Windows-first)" + } + }, + { + "name": "1c-skills-py", + "source": { + "source": "url", + "url": "https://github.com/Nikolay-Shirokov/cc-1c-skills.git", + "ref": "port-codex-py" + }, + "policy": { + "installation": "AVAILABLE", + "authentication": "OFF" + }, + "category": "Development", + "interface": { + "shortDescription": "Python runtime (Linux/Mac/Windows)" + } + } + ] +} diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 297c102b..1e5fd457 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,7 +9,16 @@ { "name": "1c-skills", "source": "./", - "description": "Полный цикл разработки на платформе 1С:Предприятие 8.3 — от создания конфигураций, расширений, внешних обработок и отчётов до загрузки изменений в информационную базу, обновления, запуска, публикации на веб-сервере, тестирования через веб-клиент и записи видеоинструкций." + "description": "Полный цикл разработки на платформе 1С:Предприятие 8.3 — от создания конфигураций, расширений, внешних обработок и отчётов до загрузки изменений в информационную базу, обновления, запуска, публикации на веб-сервере, тестирования через веб-клиент и записи видеоинструкций. PowerShell runtime (Windows-first)." + }, + { + "name": "1c-skills-py", + "source": { + "source": "github", + "repo": "Nikolay-Shirokov/cc-1c-skills", + "ref": "port-claude-code-py" + }, + "description": "Полный цикл разработки на платформе 1С:Предприятие 8.3 — Python runtime (Linux/Mac или когда PowerShell недоступен)." } ] } diff --git a/.github/templates/claude-plugin.json.tmpl b/.github/templates/claude-plugin.json.tmpl new file mode 100644 index 00000000..fad9ca30 --- /dev/null +++ b/.github/templates/claude-plugin.json.tmpl @@ -0,0 +1,31 @@ +{ + "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", + "name": "{{PLUGIN_NAME}}", + "description": "Полный цикл разработки на платформе 1С:Предприятие 8.3 (Python runtime) — от создания конфигураций, расширений, внешних обработок и отчётов до загрузки изменений в информационную базу, обновления, запуска, публикации на веб-сервере, тестирования через веб-клиент и записи видеоинструкций.", + "author": { + "name": "Nikolay Shirokov" + }, + "homepage": "https://github.com/Nikolay-Shirokov/cc-1c-skills", + "repository": "https://github.com/Nikolay-Shirokov/cc-1c-skills", + "license": "MIT", + "keywords": [ + "1c", + "1c-dev", + "cf", + "cfe", + "epf", + "erf", + "metadata", + "configuration", + "extension", + "form", + "report", + "skd", + "data-processor", + "mxl", + "web-client", + "testing", + "test-automation" + ], + "skills": "./.claude/skills/" +} diff --git a/.github/templates/codex-plugin.json.tmpl b/.github/templates/codex-plugin.json.tmpl new file mode 100644 index 00000000..c5631de6 --- /dev/null +++ b/.github/templates/codex-plugin.json.tmpl @@ -0,0 +1,36 @@ +{ + "name": "{{PLUGIN_NAME}}", + "version": "{{VERSION}}", + "description": "Полный цикл разработки на платформе 1С:Предприятие 8.3 — от создания конфигураций, расширений, внешних обработок и отчётов до загрузки изменений в информационную базу, обновления, запуска, публикации на веб-сервере, тестирования через веб-клиент и записи видеоинструкций.", + "author": { + "name": "Nikolay Shirokov" + }, + "homepage": "https://github.com/Nikolay-Shirokov/cc-1c-skills", + "repository": "https://github.com/Nikolay-Shirokov/cc-1c-skills", + "license": "MIT", + "keywords": [ + "1c", + "1c-dev", + "cf", + "cfe", + "epf", + "erf", + "metadata", + "configuration", + "extension", + "form", + "report", + "skd", + "data-processor", + "mxl", + "web-client", + "testing", + "test-automation" + ], + "skills": "./.codex/skills/", + "interface": { + "displayName": "1C Skills ({{RUNTIME_LABEL}})", + "shortDescription": "{{SHORT_DESCRIPTION}}", + "category": "Development" + } +} diff --git a/.github/workflows/build-ports.yml b/.github/workflows/build-ports.yml index 213e1bb1..db55eb73 100644 --- a/.github/workflows/build-ports.yml +++ b/.github/workflows/build-ports.yml @@ -7,6 +7,8 @@ on: - '.claude/skills/**' - 'scripts/switch.py' - '.github/templates/README.port.md.tmpl' + - '.github/templates/codex-plugin.json.tmpl' + - '.github/templates/claude-plugin.json.tmpl' - '.github/workflows/build-ports.yml' - 'LICENSE' workflow_dispatch: @@ -178,6 +180,32 @@ jobs: -e "s|{{MAIN_REPO_URL}}|${MAIN_REPO_URL}|g" \ .github/templates/README.port.md.tmpl > build/README.md + - name: Render Codex plugin manifest + if: matrix.platform == 'codex' + env: + PLUGIN_NAME: ${{ matrix.runtime == 'python' && '1c-skills-py' || '1c-skills' }} + RUNTIME_LABEL: ${{ matrix.runtime == 'powershell' && 'PowerShell' || 'Python' }} + SHORT_DESCRIPTION: ${{ matrix.runtime == 'python' && 'Python runtime (Linux/Mac/Windows)' || 'PowerShell runtime (Windows-first)' }} + COMMIT_SHA: ${{ github.sha }} + run: | + VERSION="$(date -u +%Y.%-m.%-d)+${COMMIT_SHA::7}" + mkdir -p build/.codex-plugin + sed \ + -e "s|{{PLUGIN_NAME}}|${PLUGIN_NAME}|g" \ + -e "s|{{VERSION}}|${VERSION}|g" \ + -e "s|{{RUNTIME_LABEL}}|${RUNTIME_LABEL}|g" \ + -e "s|{{SHORT_DESCRIPTION}}|${SHORT_DESCRIPTION}|g" \ + .github/templates/codex-plugin.json.tmpl > build/.codex-plugin/plugin.json + + - name: Render Claude plugin manifest (Py variant) + if: matrix.platform == 'claude-code' && matrix.runtime == 'python' + env: + PLUGIN_NAME: 1c-skills-py + run: | + mkdir -p build/.claude-plugin + sed -e "s|{{PLUGIN_NAME}}|${PLUGIN_NAME}|g" \ + .github/templates/claude-plugin.json.tmpl > build/.claude-plugin/plugin.json + - name: Copy LICENSE run: cp LICENSE build/LICENSE diff --git a/.gitignore b/.gitignore index 3077e883..c965f39f 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,7 @@ __pycache__/ *.mp4 # Навыки, скопированные для других AI-платформ (генерируются scripts/switch.py) -.agents/ +.agents/skills/ .augment/ .cline/ .codex/ diff --git a/README.md b/README.md index 289e0ae6..155f6bc5 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,15 @@ ``` /plugin marketplace add https://github.com/Nikolay-Shirokov/cc-1c-skills -/plugin install 1c-skills@cc-1c-skills +/plugin install 1c-skills@cc-1c-skills # PowerShell (Windows) +/plugin install 1c-skills-py@cc-1c-skills # Python (Linux/Mac или если PS недоступен) +``` + +Или установите как плагин OpenAI Codex: + +``` +codex plugin marketplace add Nikolay-Shirokov/cc-1c-skills +codex /plugins # выберите 1c-skills (PowerShell) или 1c-skills-py (Python) и нажмите Install ``` Или используйте скрипт установки: