{"id":47979207,"url":"https://github.com/wieslawsoltes/development-plugin-for-avalonia","last_synced_at":"2026-04-04T11:01:13.838Z","repository":{"id":338594309,"uuid":"1158404312","full_name":"wieslawsoltes/development-plugin-for-avalonia","owner":"wieslawsoltes","description":"Development Plugin for Avalonia","archived":false,"fork":false,"pushed_at":"2026-03-27T11:39:26.000Z","size":1891,"stargazers_count":53,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-27T22:38:57.797Z","etag":null,"topics":["agents","ai","avalonia","avaloniaui","chatgpt","claude","codex","copilot","gemini","openai","plugin","skill"],"latest_commit_sha":null,"homepage":"https://wieslawsoltes.github.io/development-plugin-for-avalonia/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wieslawsoltes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-15T10:10:11.000Z","updated_at":"2026-03-27T13:28:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wieslawsoltes/development-plugin-for-avalonia","commit_stats":null,"previous_names":["wieslawsoltes/avalonia-app-development","wieslawsoltes/development-plugin-for-avalonia"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wieslawsoltes/development-plugin-for-avalonia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2Fdevelopment-plugin-for-avalonia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2Fdevelopment-plugin-for-avalonia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2Fdevelopment-plugin-for-avalonia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2Fdevelopment-plugin-for-avalonia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wieslawsoltes","download_url":"https://codeload.github.com/wieslawsoltes/development-plugin-for-avalonia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2Fdevelopment-plugin-for-avalonia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31397056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","avalonia","avaloniaui","chatgpt","claude","codex","copilot","gemini","openai","plugin","skill"],"created_at":"2026-04-04T11:00:36.121Z","updated_at":"2026-04-04T11:01:13.797Z","avatar_url":"https://github.com/wieslawsoltes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Development Plugin for Avalonia\n\nCodex plugin for building, reviewing, designing, porting, and migrating Avalonia applications with focused skills instead of one oversized catch-all skill.\n\n## License\n\nThis repository is licensed under the MIT License. See `LICENSE` for the full terms.\n\n## Plugin Identity\n\n- Plugin name: `development-plugin-for-avalonia`\n- Plugin manifest: [`.codex-plugin/plugin.json`](.codex-plugin/plugin.json)\n- Canonical umbrella workflow: [`SKILL.md`](SKILL.md)\n- Repo-local umbrella skill: [`.agents/skills/development-plugin-for-avalonia/SKILL.md`](.agents/skills/development-plugin-for-avalonia/SKILL.md)\n- Specialist skills: [`skills/`](skills)\n- Shared reference index: [`references/compendium.md`](references/compendium.md)\n- Avalonia upstream repository: [AvaloniaUI/Avalonia](https://github.com/AvaloniaUI/Avalonia)\n\n## Discovery Model\n\nThis repo now supports both Codex discovery paths at the same time:\n\n- Repo-local skill discovery uses [`.agents/skills/development-plugin-for-avalonia/SKILL.md`](.agents/skills/development-plugin-for-avalonia/SKILL.md) as the broad entrypoint when Codex is working inside this checkout.\n- Plugin discovery uses [`.codex-plugin/plugin.json`](.codex-plugin/plugin.json), which exposes the focused skills under [`skills/`](skills).\n- Repo marketplace discovery can use [`.agents/plugins/marketplace.json`](.agents/plugins/marketplace.json), which points back to this repo root as the plugin directory.\n\nThe repo-local skill is intentionally thin. It forwards broad requests into the focused plugin skills and shared references instead of duplicating the full guidance.\nThe root [`SKILL.md`](SKILL.md) is the canonical umbrella workflow source, not the repo-local discovery entrypoint.\n\n## Local Install\n\nThis repository now includes a repo marketplace file at [`.agents/plugins/marketplace.json`](.agents/plugins/marketplace.json).\n\nThat makes local testing easier:\n\n- from this checkout, Codex can read the repo marketplace and find the plugin without creating a separate personal marketplace just for local testing\n- for personal install, you can still copy the plugin to `~/.codex/plugins/` and add an entry to `~/.agents/plugins/marketplace.json`\n\nThis repo intentionally uses the repository root as the plugin root, so the repo marketplace keeps `source.path` at `./` instead of copying the plugin under `./plugins/`.\n\nThe repo marketplace keeps a distinct internal `name` for catalog and cache identity while preserving the visible `displayName` used by the plugin brand.\n\nThe plugin manifest now uses plugin-specific PNG assets for `composerIcon` and `logo` so the plugin directory can render branded artwork from common image formats.\n\n## Avalonia Version Coverage\n\nThis plugin is pinned to Avalonia **11.3.12** for default implementation guidance.\n\n- API references and guidance are aligned to `11.3.12`.\n- Generated stable API indexing is expected to use `--git-ref 11.3.12`.\n- Guidance should avoid relying on `master`-only APIs unless a document explicitly states that exception.\n\nThis repository also carries a dedicated Avalonia 12 migration lane:\n\n- curated migration chapter: [`references/68-avalonia-12-migration-guide.md`](references/68-avalonia-12-migration-guide.md)\n- generated break/new API catalog: [`references/69-avalonia-12-breaking-changes-and-new-api-catalog.md`](references/69-avalonia-12-breaking-changes-and-new-api-catalog.md)\n- generated Avalonia 12 API index: [`references/api-index-12.0.0-rc1-generated.md`](references/api-index-12.0.0-rc1-generated.md)\n\n## Skill Catalog\n\n### Umbrella\n\n- [`.agents/skills/development-plugin-for-avalonia/SKILL.md`](.agents/skills/development-plugin-for-avalonia/SKILL.md): broad repo-local routing skill\n- [`SKILL.md`](SKILL.md): canonical umbrella workflow source shared by the repo-local wrapper, not a repo-local discovery path\n- [`.agents/plugins/marketplace.json`](.agents/plugins/marketplace.json): repo marketplace entry exposing this repo itself as the plugin directory\n\n### Core Avalonia Skills\n\n- [`avalonia-bootstrap-and-lifetime`](skills/avalonia-bootstrap-and-lifetime/SKILL.md): `AppBuilder`, lifetimes, platform bootstrap, build setup\n- [`avalonia-bindings-and-xaml`](skills/avalonia-bindings-and-xaml/SKILL.md): compiled bindings, runtime XAML, converters, markup behavior\n- [`avalonia-threading-and-dispatcher`](skills/avalonia-threading-and-dispatcher/SKILL.md): dispatcher, timers, reactive UI-thread discipline\n- [`avalonia-styling-and-resources`](skills/avalonia-styling-and-resources/SKILL.md): styles, resources, themes, property system, packaging\n- [`avalonia-views-and-templating`](skills/avalonia-views-and-templating/SKILL.md): view location, templates, logical/visual tree patterns\n- [`avalonia-input-and-commands`](skills/avalonia-input-and-commands/SKILL.md): routed input, commands, focus, drag/drop, text editing\n- [`avalonia-controls-and-windowing`](skills/avalonia-controls-and-windowing/SKILL.md): templated controls, windows, menus, popups, tray, notifications\n- [`avalonia-layout-and-virtualization`](skills/avalonia-layout-and-virtualization/SKILL.md): layout authoring, measure/arrange, virtualization\n- [`avalonia-rendering-and-graphics`](skills/avalonia-rendering-and-graphics/SKILL.md): animation, compositor, drawing, Skia, rendering interop\n- [`avalonia-platform-services`](skills/avalonia-platform-services/SKILL.md): storage provider, clipboard, launcher, screens, external integration\n- [`avalonia-accessibility-and-validation`](skills/avalonia-accessibility-and-validation/SKILL.md): validation, accessibility, automation\n- [`avalonia-testing-diagnostics-and-performance`](skills/avalonia-testing-diagnostics-and-performance/SKILL.md): test stack, profiling, troubleshooting, performance\n\n### Design Skills\n\n- [`avalonia-design-systems`](skills/avalonia-design-systems/SKILL.md): professional design tokens, layout language, dense workflow UX\n- [`avalonia-fluent-design`](skills/avalonia-fluent-design/SKILL.md): FluentTheme, palette customization, Fluent shells and motion\n\n### Migration Skills\n\n- [`html-css-to-avalonia`](skills/html-css-to-avalonia/SKILL.md): HTML/CSS mental-model and UI pattern migration\n- [`winforms-to-avalonia`](skills/winforms-to-avalonia/SKILL.md): WinForms control, layout, owner-draw, and workflow migration\n- [`wpf-to-avalonia`](skills/wpf-to-avalonia/SKILL.md): WPF property, binding, layout, styling, and rendering migration\n- [`winui-to-avalonia`](skills/winui-to-avalonia/SKILL.md): WinUI shell, state, composition, and platform-integration migration\n- [`avalonia-12-migration`](skills/avalonia-12-migration/SKILL.md): move existing Avalonia 11 code to Avalonia 12 safely\n\n## Shared References\n\nThe skills share one reference corpus instead of duplicating docs inside every skill:\n\n- [`references/compendium.md`](references/compendium.md): top-level navigation\n- [`references/00-api-map.md`](references/00-api-map.md): curated app-facing API map\n- [`references/api-index-generated.md`](references/api-index-generated.md): broad signature lookup\n- [`references/professional-design/README.md`](references/professional-design/README.md): professional design lane\n- [`references/fluent-design/README.md`](references/fluent-design/README.md): Fluent design lane\n- [`references/html-to-avalonia/README.md`](references/html-to-avalonia/README.md): HTML/CSS migration lane\n- [`references/winforms-to-avalonia/README.md`](references/winforms-to-avalonia/README.md): WinForms migration lane\n- [`references/wpf-to-avalonia/README.md`](references/wpf-to-avalonia/README.md): WPF migration lane\n- [`references/winui-to-avalonia/README.md`](references/winui-to-avalonia/README.md): WinUI migration lane\n\n## Repository Structure\n\n- [`SKILL.md`](SKILL.md): canonical umbrella workflow source\n- [`.agents/plugins/marketplace.json`](.agents/plugins/marketplace.json): repo marketplace for loading this repo as a local plugin, with the repo root acting as the plugin root\n- [`.agents/skills/development-plugin-for-avalonia/SKILL.md`](.agents/skills/development-plugin-for-avalonia/SKILL.md): repo-local skill entrypoint for this checkout\n- [`skills/`](skills): focused skill folders with their own `SKILL.md` and `agents/openai.yaml`\n- [`references/`](references): shared reference corpus\n- [`scripts/generate_api_index.py`](scripts/generate_api_index.py): stable API index generator\n- [`scripts/generate_api_migration_report.py`](scripts/generate_api_migration_report.py): Avalonia 12 migration report generator\n- [`assets/`](assets): shared plugin and skill imagery\n\n## Regenerating API Index (Pinned)\n\n```bash\npython3 scripts/generate_api_index.py \\\n  --repo \u003cpath-to-avalonia-repo\u003e \\\n  --git-ref 11.3.12 \\\n  --output references/api-index-generated.md\n```\n\nAvalonia 12 lane regeneration:\n\n```bash\npython3 scripts/generate_api_index.py \\\n  --repo \u003cpath-to-avalonia-repo\u003e \\\n  --git-ref 12.0.0-rc1 \\\n  --output references/api-index-12.0.0-rc1-generated.md \\\n  --max-per-file 100000\n\npython3 scripts/generate_api_migration_report.py \\\n  --repo \u003cpath-to-avalonia-repo\u003e \\\n  --from-ref 11.3.12 \\\n  --to-ref 12.0.0-rc1 \\\n  --output references/69-avalonia-12-breaking-changes-and-new-api-catalog.md\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieslawsoltes%2Fdevelopment-plugin-for-avalonia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwieslawsoltes%2Fdevelopment-plugin-for-avalonia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieslawsoltes%2Fdevelopment-plugin-for-avalonia/lists"}