mirror of
https://github.com/MinaSaad1/pbi-cli
synced 2026-05-24 08:58:21 +00:00
* feat: add custom visual authoring (vibe-code .pbiviz) Ship the Power BI Custom Visuals workflow as a Claude skill plus three thin pbi-cli commands. The skill scaffolds a TypeScript project sibling to the .pbip via npx pbiviz new, iterates against the SDK with tsc --noEmit between every change, packages a .pbiviz, and embeds it into the report. Commands: - pbi visual import-custom <pbiviz> [--replace]: copy locally-built .pbiviz into StaticResources/RegisteredResources/ and register in report.json (customVisuals + resourcePackages). - pbi visual list-custom: list embedded and public custom visuals, distinguished by kind. - pbi visual remove-custom <guid-or-name>: deregister and physically delete the .pbiviz. Skill (power-bi-custom-visuals/): - Auto-installs Node and pbiviz with user consent on first run. - Pins powerbi-visuals-tools and powerbi-visuals-api to known-good versions matched against the AGENTS.md crib. - Sibling-directory scaffold; never contaminates PBIR folders. - Plan-then-code on fresh scaffolds (data roles + render approach). - Agent-driven inner loop on tsc --noEmit with 5-turn no-progress cap and oscillation detection. - Auto-bumps pbiviz.json patch on every package to invalidate Power BI Desktop's GUID+version cache; respects manual user version overrides. - npm allowlist baked into SKILL.md (D3, Lodash, date-fns, powerbi-visuals-utils-*); off-list installs require explicit approval with name + version + reason + bundle-size justification. Tests: - 25 unit tests with synthetic in-memory .pbiviz fixtures, no Node required. - New nightly + on-touch GitHub workflow runs the full pbiviz toolchain end-to-end on Windows runners to catch SDK-version drift. Out of scope (deferred): pbiviz start live preview, AppSource register-public flow, freeze-version publish helper, inspect-custom. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: bump version to 3.11.0 Minor version bump for the additive custom visual authoring feature (new power-bi-custom-visuals skill plus three new pbi visual commands). No breaking changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: visual names must be letters/digits only The pbiviz new command rejects names containing anything other than letters and digits, with the error "The visual name can contain only letters and numbers". The smoke workflow and docs used hyphenated names (smoke-visual, my-gauge-visual) that fail at scaffold time. - Rename smoke workflow's visual to smokevisual - Document the naming constraint in SKILL.md so Claude strips hyphens and underscores from user-provided names before scaffolding - Update README example to mygaugevisual Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| mocks | ||
| test_commands | ||
| __init__.py | ||
| conftest.py | ||
| test_bookmark_backend.py | ||
| test_bulk_backend.py | ||
| test_claude_md.py | ||
| test_config.py | ||
| test_connection_store.py | ||
| test_custom_visual_backend.py | ||
| test_e2e.py | ||
| test_errors.py | ||
| test_filter_backend.py | ||
| test_format_backend.py | ||
| test_hardening.py | ||
| test_helpers.py | ||
| test_output.py | ||
| test_pbir_path.py | ||
| test_pbir_validators.py | ||
| test_platform.py | ||
| test_preview.py | ||
| test_report_backend.py | ||
| test_skill_triggering.py | ||
| test_tmdl_diff.py | ||
| test_visual_backend.py | ||
| test_visual_calc.py | ||