@luquimbo/bi-superpowers 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/.claude-plugin/marketplace.json +2 -24
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.claude-plugin/skill-manifest.json +2 -178
  4. package/.mcp.json +0 -16
  5. package/.plugin/plugin.json +1 -1
  6. package/AGENTS.md +37 -55
  7. package/CHANGELOG.md +44 -0
  8. package/README.md +74 -191
  9. package/bin/cli.js +42 -43
  10. package/bin/commands/install.js +37 -7
  11. package/bin/lib/generators/claude-plugin.js +6 -31
  12. package/bin/lib/generators/claude-plugin.test.js +12 -11
  13. package/bin/lib/mcp-config.js +242 -0
  14. package/bin/lib/mcp-config.test.js +184 -0
  15. package/bin/lib/microsoft-mcp.js +6 -20
  16. package/bin/lib/microsoft-mcp.test.js +25 -21
  17. package/bin/postinstall.js +18 -23
  18. package/bin/utils/mcp-detect.js +4 -20
  19. package/bin/utils/mcp-detect.test.js +9 -33
  20. package/package.json +1 -1
  21. package/skills/pbi-connect/SKILL.md +1 -1
  22. package/skills/project-kickoff/SKILL.md +1 -1
  23. package/commands/contributions.md +0 -265
  24. package/commands/data-model-design.md +0 -468
  25. package/commands/dax-doctor.md +0 -248
  26. package/commands/fabric-scripts.md +0 -452
  27. package/commands/migration-assistant.md +0 -290
  28. package/commands/model-documenter.md +0 -242
  29. package/commands/report-layout.md +0 -296
  30. package/commands/rls-design.md +0 -533
  31. package/commands/theme-tweaker.md +0 -624
  32. package/skills/contributions/SKILL.md +0 -267
  33. package/skills/data-model-design/SKILL.md +0 -470
  34. package/skills/data-modeling/SKILL.md +0 -280
  35. package/skills/data-quality/SKILL.md +0 -664
  36. package/skills/dax/SKILL.md +0 -746
  37. package/skills/dax-doctor/SKILL.md +0 -250
  38. package/skills/dax-udf/SKILL.md +0 -489
  39. package/skills/deployment/SKILL.md +0 -320
  40. package/skills/excel-formulas/SKILL.md +0 -463
  41. package/skills/fabric-scripts/SKILL.md +0 -454
  42. package/skills/fast-standard/SKILL.md +0 -509
  43. package/skills/governance/SKILL.md +0 -258
  44. package/skills/migration-assistant/SKILL.md +0 -292
  45. package/skills/model-documenter/SKILL.md +0 -244
  46. package/skills/power-query/SKILL.md +0 -406
  47. package/skills/query-performance/SKILL.md +0 -480
  48. package/skills/report-design/SKILL.md +0 -207
  49. package/skills/report-layout/SKILL.md +0 -298
  50. package/skills/rls-design/SKILL.md +0 -535
  51. package/skills/semantic-model/SKILL.md +0 -237
  52. package/skills/testing-validation/SKILL.md +0 -643
  53. package/skills/theme-tweaker/SKILL.md +0 -626
  54. package/src/content/skills/contributions.md +0 -259
  55. package/src/content/skills/data-model-design.md +0 -462
  56. package/src/content/skills/data-modeling.md +0 -272
  57. package/src/content/skills/data-quality.md +0 -656
  58. package/src/content/skills/dax-doctor.md +0 -242
  59. package/src/content/skills/dax-udf.md +0 -481
  60. package/src/content/skills/dax.md +0 -738
  61. package/src/content/skills/deployment.md +0 -312
  62. package/src/content/skills/excel-formulas.md +0 -455
  63. package/src/content/skills/fabric-scripts.md +0 -446
  64. package/src/content/skills/fast-standard.md +0 -501
  65. package/src/content/skills/governance.md +0 -250
  66. package/src/content/skills/migration-assistant.md +0 -284
  67. package/src/content/skills/model-documenter.md +0 -236
  68. package/src/content/skills/power-query.md +0 -398
  69. package/src/content/skills/query-performance.md +0 -472
  70. package/src/content/skills/report-design.md +0 -199
  71. package/src/content/skills/report-layout.md +0 -290
  72. package/src/content/skills/rls-design.md +0 -527
  73. package/src/content/skills/semantic-model.md +0 -229
  74. package/src/content/skills/testing-validation.md +0 -635
  75. package/src/content/skills/theme-tweaker.md +0 -618
@@ -1,312 +0,0 @@
1
- # Deployment Skill
2
-
3
- ## Trigger
4
- Activate this skill when user mentions:
5
- - "deploy", "deployment", "release", "publish"
6
- - "CI/CD", "pipeline", "GitHub Actions", "Azure DevOps"
7
- - "ALM", "application lifecycle", "DevOps"
8
- - "git integration", "version control", "PBIP git"
9
- - "environment", "dev/test/prod", "promotion"
10
- - "desplegar", "pipeline de CI/CD", "publicar"
11
-
12
- ## Identity
13
- You are a **BI DevOps Engineer** specializing in CI/CD pipelines for Power BI and Microsoft Fabric projects. You help teams set up version control, automated testing, deployment pipelines, and environment management for their BI assets.
14
-
15
- ## MANDATORY RULES
16
- 1. **AUTOMATE EVERYTHING.** Manual deployments are error-prone — script it.
17
- 2. **TEST BEFORE DEPLOY.** Every pipeline must include validation steps.
18
- 3. **ENVIRONMENT PARITY.** Dev, Test, and Prod should mirror each other structurally.
19
- 4. **ROLLBACK PLAN.** Every deployment must have a documented rollback procedure.
20
- 5. **SECRETS MANAGEMENT.** Never hardcode credentials — use environment variables or vaults.
21
-
22
- ---
23
-
24
- ## Git Integration for Power BI
25
-
26
- ### PBIP Project Structure
27
-
28
- ```
29
- my-bi-project/
30
- ├── .gitignore
31
- ├── README.md
32
- ├── my-report.pbip
33
- ├── my-report.Report/
34
- │ ├── report.json
35
- │ └── ... (pages, visuals)
36
- ├── my-model.SemanticModel/
37
- │ ├── definition/
38
- │ │ ├── model.tmdl
39
- │ │ ├── tables/
40
- │ │ ├── relationships.tmdl
41
- │ │ └── expressions.tmdl
42
- │ └── ...
43
- └── .bi-superpowers.json
44
- ```
45
-
46
- ### Recommended .gitignore
47
-
48
- ```gitignore
49
- # Power BI
50
- *.pbix
51
- .pbi/
52
- localSettings.json
53
- *.pbir.bak
54
- .cache/
55
-
56
- # Credentials
57
- *.credential
58
- localSettings.json
59
-
60
- # IDE
61
- .vs/
62
- .vscode/settings.json
63
-
64
- # OS
65
- .DS_Store
66
- Thumbs.db
67
- ```
68
-
69
- ### Branching Strategy
70
-
71
- ```
72
- main (production)
73
- └── develop (integration)
74
- ├── feature/add-sales-measures
75
- ├── feature/update-date-table
76
- └── fix/margin-calculation
77
- ```
78
-
79
- ---
80
-
81
- ## GitHub Actions Pipeline
82
-
83
- ### Basic Validation Pipeline
84
-
85
- ```yaml
86
- # .github/workflows/bi-validation.yml
87
- name: BI Model Validation
88
-
89
- on:
90
- pull_request:
91
- paths:
92
- - '**.tmdl'
93
- - '**.dax'
94
- - '**.Report/**'
95
-
96
- jobs:
97
- validate:
98
- runs-on: ubuntu-latest
99
- steps:
100
- - uses: actions/checkout@v4
101
-
102
- - name: Validate TMDL Structure
103
- run: |
104
- # Check for common issues
105
- echo "Checking for orphan tables..."
106
- echo "Checking relationship integrity..."
107
- echo "Validating measure syntax..."
108
-
109
- - name: Check Naming Conventions
110
- run: |
111
- # Validate naming standards
112
- echo "Checking table naming..."
113
- echo "Checking measure naming..."
114
-
115
- - name: Run DAX Tests (if available)
116
- run: |
117
- # Run any automated DAX tests
118
- echo "Running DAX validation tests..."
119
- ```
120
-
121
- ### Deployment Pipeline
122
-
123
- ```yaml
124
- # .github/workflows/bi-deploy.yml
125
- name: Deploy to Fabric
126
-
127
- on:
128
- push:
129
- branches: [main]
130
- paths:
131
- - '**.SemanticModel/**'
132
-
133
- jobs:
134
- deploy:
135
- runs-on: ubuntu-latest
136
- environment: production
137
- steps:
138
- - uses: actions/checkout@v4
139
-
140
- - name: Authenticate to Fabric
141
- run: |
142
- # Use service principal
143
- az login --service-principal \
144
- -u ${{ secrets.AZURE_CLIENT_ID }} \
145
- -p ${{ secrets.AZURE_CLIENT_SECRET }} \
146
- --tenant ${{ secrets.AZURE_TENANT_ID }}
147
-
148
- - name: Deploy Semantic Model
149
- run: |
150
- # Deploy using Fabric REST API or Tabular Editor CLI
151
- echo "Deploying model to workspace..."
152
-
153
- - name: Validate Deployment
154
- run: |
155
- # Run post-deployment checks
156
- echo "Verifying model deployed successfully..."
157
- echo "Testing data refresh..."
158
- ```
159
-
160
- ---
161
-
162
- ## Azure DevOps Pipeline
163
-
164
- ### Template
165
-
166
- ```yaml
167
- # azure-pipelines.yml
168
- trigger:
169
- branches:
170
- include:
171
- - main
172
- paths:
173
- include:
174
- - '**.SemanticModel/**'
175
-
176
- pool:
177
- vmImage: 'ubuntu-latest'
178
-
179
- stages:
180
- - stage: Validate
181
- jobs:
182
- - job: ValidateModel
183
- steps:
184
- - script: echo "Validating TMDL structure..."
185
- - script: echo "Running naming convention checks..."
186
-
187
- - stage: DeployTest
188
- dependsOn: Validate
189
- jobs:
190
- - deployment: DeployToTest
191
- environment: Test
192
- strategy:
193
- runOnce:
194
- deploy:
195
- steps:
196
- - script: echo "Deploying to Test workspace..."
197
-
198
- - stage: DeployProd
199
- dependsOn: DeployTest
200
- condition: succeeded()
201
- jobs:
202
- - deployment: DeployToProd
203
- environment: Production
204
- strategy:
205
- runOnce:
206
- deploy:
207
- steps:
208
- - script: echo "Deploying to Production workspace..."
209
- ```
210
-
211
- ---
212
-
213
- ## Fabric Deployment Pipelines
214
-
215
- ### Native Fabric Pipeline Setup
216
-
217
- ```
218
- Development Workspace → Test Workspace → Production Workspace
219
- (Dev) (UAT) (Prod)
220
-
221
- Content: Semantic models, reports, dashboards
222
- Rules: Auto-assign data sources per environment
223
- ```
224
-
225
- ### Configuration
226
-
227
- | Setting | Dev | Test | Prod |
228
- |---------|-----|------|------|
229
- | Server | dev-sql.database.windows.net | test-sql.database.windows.net | prod-sql.database.windows.net |
230
- | Database | AdventureWorks_Dev | AdventureWorks_Test | AdventureWorks |
231
- | Refresh | Manual | Scheduled (daily) | Scheduled (every 4h) |
232
- | RLS | Dev team only | Test users | All authorized users |
233
-
234
- ---
235
-
236
- ## Environment Management
237
-
238
- ### Parameterized Connections
239
-
240
- ```powerquery
241
- // In Power Query, use parameters for environment switching
242
- let
243
- Server = #"prmServerName", // Parameter: server address
244
- Database = #"prmDatabaseName", // Parameter: database name
245
- Source = Sql.Database(Server, Database)
246
- in
247
- Source
248
- ```
249
-
250
- ### Deployment Rules
251
-
252
- | Rule | Purpose |
253
- |------|---------|
254
- | Data source rules | Point to correct server per environment |
255
- | Parameter rules | Override parameter values per environment |
256
- | Sensitivity labels | Inherit or override per environment |
257
- | App audience | Different distribution per environment |
258
-
259
- ---
260
-
261
- ## Pre-Commit Validation
262
-
263
- ### Checks to Automate
264
-
265
- | Check | Tool | Purpose |
266
- |-------|------|---------|
267
- | TMDL syntax | Tabular Editor CLI | Catch syntax errors |
268
- | Naming conventions | Custom script | Enforce standards |
269
- | Measure formatting | Custom script | Consistent style |
270
- | No PII in calculated columns | Custom script | Security |
271
- | Relationship integrity | Tabular Editor CLI | No orphans |
272
- | DAX best practices | Custom script | Performance |
273
-
274
- ---
275
-
276
- ## Rollback Procedures
277
-
278
- ### For Fabric Deployments
279
-
280
- 1. **Deployment Pipeline rollback**: Use "Deploy previous version" in Fabric UI
281
- 2. **Git rollback**: Revert commit and redeploy
282
- 3. **Model rollback**: Restore from previous TMDL files in git history
283
-
284
- ### For Direct Publishing
285
-
286
- 1. Keep a copy of previous .pbix before publishing
287
- 2. Document current state before changes
288
- 3. Use workspace backup if available
289
-
290
- ---
291
-
292
- ## Complexity Adaptation
293
-
294
- Adjust depth based on `config.json → experienceLevel`:
295
- - **beginner**: Step-by-step with explanations, reference library examples
296
- - **intermediate**: Standard depth, explain non-obvious decisions
297
- - **advanced**: Concise, skip basics, focus on edge cases and optimization
298
-
299
- ## Related Skills
300
-
301
- - `/fabric-scripts` — Fabric automation scripts
302
- - `/migration-assistant` — Migration to new environments
303
- - `/governance` — Deployment standards and documentation
304
-
305
- ---
306
-
307
- ## Related Resources
308
-
309
- - [Fabric Scripts Skill](/fabric-scripts) — Automate Fabric operations
310
- - [Migration Assistant Skill](/migration-assistant) — Environment migrations
311
- - [Governance Skill](/governance) — Standards enforcement
312
- - [Testing & Validation Skill](/testing-validation) — Automated testing patterns