@chappibunny/repolens 1.9.1 → 1.9.3

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.
@@ -0,0 +1,311 @@
1
+ # Migration Guide
2
+
3
+ This guide helps you upgrade RepoLens across breaking changes and major versions.
4
+
5
+ **Current Version:** 1.5.0
6
+ **Last Updated:** March 2026
7
+
8
+ ---
9
+
10
+ ## Migrating to v0.6.x
11
+
12
+ ### Package Rename
13
+
14
+ The npm package was renamed from `@rabitai/repolens` to `@chappibunny/repolens` in v0.6.1.
15
+
16
+ **Update your workflows:**
17
+ ```yaml
18
+ # Old
19
+ run: npx @rabitai/repolens@latest publish
20
+
21
+ # New
22
+ run: npx @chappibunny/repolens@latest publish
23
+ ```
24
+
25
+ **Update global installs:**
26
+ ```bash
27
+ npm uninstall -g @rabitai/repolens
28
+ npm install -g @chappibunny/repolens
29
+ ```
30
+
31
+ Or run `npx @chappibunny/repolens migrate` to auto-update workflow files.
32
+
33
+ ### Confluence Publisher (New in v0.6.0+)
34
+
35
+ Add Confluence to your publishers if you want to publish to Atlassian Confluence:
36
+
37
+ ```yaml
38
+ # .repolens.yml
39
+ publishers:
40
+ - markdown
41
+ - notion
42
+ - confluence
43
+
44
+ confluence:
45
+ branches:
46
+ - main
47
+ ```
48
+
49
+ **Required environment variables:**
50
+ ```bash
51
+ CONFLUENCE_URL=https://your-company.atlassian.net/wiki
52
+ CONFLUENCE_EMAIL=trades@rabitaitrades.com
53
+ CONFLUENCE_API_TOKEN=your-api-token
54
+ CONFLUENCE_SPACE_KEY=DOCS
55
+ CONFLUENCE_PARENT_PAGE_ID=123456789
56
+ ```
57
+
58
+ ### Dashboard Removed (v0.6.2)
59
+
60
+ The interactive HTML dashboard (`renderDashboard.js`) and GitHub Pages deployment workflow (`deploy-dashboard.yml`) have been removed. If you had dashboard configuration in `.repolens.yml`, you can safely remove it:
61
+
62
+ ```yaml
63
+ # Remove these if present (no longer used)
64
+ # dashboard:
65
+ # enabled: true
66
+ # githubPages: true
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Migrating from v0.3.x to v0.4.0+
72
+
73
+ ### Critical: Update GitHub Actions Workflow
74
+
75
+ **If you see this error:**
76
+ ```
77
+ Run cd tools/repolens
78
+ cd: tools/repolens: No such file or directory
79
+ ```
80
+
81
+ **Your workflow has an outdated format.** Run `npx @chappibunny/repolens migrate` or update manually:
82
+
83
+ **Old format (v0.3.0 and earlier):**
84
+ ```yaml
85
+ - name: Generate documentation
86
+ run: |
87
+ cd tools/repolens
88
+ npm install
89
+ npx @chappibunny/repolens publish
90
+ ```
91
+
92
+ **New format (v0.4.0+):**
93
+ ```yaml
94
+ - name: Setup Node.js
95
+ uses: actions/setup-node@v4
96
+ with:
97
+ node-version: 20
98
+
99
+ - name: Generate and publish documentation
100
+ env:
101
+ NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
102
+ NOTION_PARENT_PAGE_ID: ${{ secrets.NOTION_PARENT_PAGE_ID }}
103
+ REPOLENS_AI_API_KEY: ${{ secrets.REPOLENS_AI_API_KEY }}
104
+ run: npx @chappibunny/repolens@latest publish
105
+ ```
106
+
107
+ ### AI Features (Optional, added in v0.4.0)
108
+
109
+ AI features are opt-in. Add to `.repolens.yml`:
110
+
111
+ ```yaml
112
+ ai:
113
+ enabled: true
114
+ mode: hybrid
115
+ max_tokens: 2500
116
+
117
+ features:
118
+ executive_summary: true
119
+ business_domains: true
120
+ architecture_overview: true
121
+ data_flows: true
122
+ developer_onboarding: true
123
+ change_impact: true
124
+ ```
125
+
126
+ Add a GitHub secret for your AI provider:
127
+ ```bash
128
+ # Settings → Secrets → Actions
129
+ REPOLENS_AI_API_KEY=sk-...
130
+ ```
131
+
132
+ **Available AI document types:**
133
+ - `executive_summary` — Non-technical project overview for leadership
134
+ - `business_domains` — Functional area descriptions
135
+ - `architecture_overview` — Layered technical analysis
136
+ - `data_flows` — How information moves through the system
137
+ - `developer_onboarding` — Getting started guide for new contributors
138
+ - `change_impact` — Architecture diff with natural language context
139
+
140
+ **Cost:** ~$0.10-$0.40 per run with gpt-5-mini
141
+
142
+ ### Backward Compatibility
143
+
144
+ v0.4.0 is 100% backward compatible:
145
+ - Existing `.repolens.yml` configs work without modification
146
+ - AI features are opt-in (deterministic mode is default)
147
+ - All 6 original document types unchanged
148
+ - No new required dependencies
149
+
150
+ ---
151
+
152
+ ## Using the Migration Tool
153
+
154
+ ```bash
155
+ # Preview changes without applying
156
+ npx @chappibunny/repolens migrate --dry-run
157
+
158
+ # Apply migration with confirmation
159
+ npx @chappibunny/repolens migrate
160
+
161
+ # Apply without confirmation
162
+ npx @chappibunny/repolens migrate --force
163
+ ```
164
+
165
+ The migration tool:
166
+ - Auto-detects legacy patterns (`cd tools/repolens`, missing `@latest`, etc.)
167
+ - Updates package references to `@chappibunny/repolens@latest`
168
+ - Adds missing Node.js setup steps
169
+ - Adds missing environment variables
170
+ - Creates `.backup` files before modifying
171
+ - Shows diff preview before applying
172
+
173
+ ---
174
+
175
+ ## How Updates Work
176
+
177
+ ### Automatic Notifications
178
+
179
+ RepoLens checks for updates automatically:
180
+
181
+ ```
182
+ ┌────────────────────────────────────────────────────────────┐
183
+ │ 📦 Update Available │
184
+ ├────────────────────────────────────────────────────────────┤
185
+ │ Current: 0.5.0 → Latest: 1.5.0 │
186
+ │ │
187
+ │ Run one of these commands to update: │
188
+ │ │
189
+ │ • npm install -g @chappibunny/repolens@latest (global) │
190
+ │ • npm install @chappibunny/repolens@latest (local) │
191
+ │ • npx @chappibunny/repolens@latest <command> (latest) │
192
+ └────────────────────────────────────────────────────────────┘
193
+ ```
194
+
195
+ ### Manual Version Check
196
+
197
+ ```bash
198
+ npx @chappibunny/repolens doctor
199
+ ```
200
+
201
+ ### Installation Methods
202
+
203
+ **GitHub Actions (recommended):**
204
+ ```yaml
205
+ run: npx @chappibunny/repolens@latest publish
206
+ ```
207
+
208
+ **Global:**
209
+ ```bash
210
+ npm install -g @chappibunny/repolens@latest
211
+ ```
212
+
213
+ **Local:**
214
+ ```bash
215
+ npm install @chappibunny/repolens@latest
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Version History
221
+
222
+ ### v1.2.0 (March 2026)
223
+ - `repolens migrate` now also patches `.repolens.yml` (adds `configVersion: 1` if missing)
224
+ - Documentation version references updated across all files
225
+
226
+ ### v1.1.0 (March 2026)
227
+ - GitHub Wiki publisher with audience-grouped Home, sidebar, and page metadata
228
+ - Temperature bug fix for GPT-5 compatibility
229
+
230
+ ### v1.0.1 (March 2026)
231
+ - GPT-5 API compatibility (`max_completion_tokens`, temperature handling)
232
+
233
+ ### v1.0.0 (March 2026)
234
+ - Stable release with frozen CLI, config schema, and plugin interface
235
+ - 185 tests across 15 files
236
+ - Semver guarantees (see STABILITY.md)
237
+
238
+ ### v0.9.0
239
+ - Plugin system for custom renderers, publishers, and lifecycle hooks
240
+ - Plugin loader, manager, and config validation
241
+
242
+ ### v0.8.0
243
+ - Extended analysis: GraphQL, TypeScript type graph, dependency graph, architecture drift
244
+ - 15 document types (4 new extended-analysis)
245
+
246
+ ### v0.7.0
247
+ - Structured context builder (three-layer architecture: scan → artifacts → AI)
248
+ - Zero-hallucination AI pipeline
249
+
250
+ ### v0.6.x (July 2025)
251
+ - Confluence publisher, Discord notifications, metrics system
252
+ - Package renamed to `@chappibunny/repolens`
253
+ - Dashboard removed
254
+ - CI/CD fixes for cross-platform dependency resolution
255
+
256
+ ### v0.5.0
257
+ - Security hardening: secret detection, input validation, rate limiting
258
+ - 43 security tests added (90 total)
259
+ - GitHub Actions pinned to commit SHAs
260
+
261
+ ### v0.4.0
262
+ - AI-assisted documentation (11 document types)
263
+ - Business domain inference, data flow analysis
264
+ - Migration tool (`repolens migrate`)
265
+
266
+ ### v0.3.0
267
+ - Unicode architecture diagrams (replaced Mermaid)
268
+ - Automatic update notifications
269
+ - Interactive credential collection
270
+
271
+ ### v0.2.0
272
+ - Branch-aware publishing, package.json metadata extraction
273
+ - Interactive onboarding
274
+
275
+ ### v0.1.1
276
+ - Initial release: `init`, `doctor`, `publish` commands
277
+ - Notion and Markdown publishers
278
+
279
+ ---
280
+
281
+ ## Troubleshooting
282
+
283
+ ### Update notification not showing
284
+
285
+ **Cause:** Checks are cached for 24 hours.
286
+ **Fix:** Run `npx @chappibunny/repolens doctor` to force a check.
287
+
288
+ ### "Command not found: repolens"
289
+
290
+ ```bash
291
+ # Use npx (no install needed)
292
+ npx @chappibunny/repolens@latest publish
293
+
294
+ # Or install globally
295
+ npm install -g @chappibunny/repolens@latest
296
+ ```
297
+
298
+ ### Old version still running after update
299
+
300
+ ```bash
301
+ npm cache clean --force
302
+ npm uninstall -g repolens
303
+ npm install -g @chappibunny/repolens@latest
304
+ ```
305
+
306
+ ### GitHub Actions using old version
307
+
308
+ Update workflow to use `@latest`:
309
+ ```yaml
310
+ run: npx @chappibunny/repolens@latest publish
311
+ ```
@@ -0,0 +1,382 @@
1
+ # RepoLens — Onboarding Guide
2
+
3
+ Complete step-by-step setup for RepoLens: publishers, AI enhancement, Notion, Confluence, GitHub Wiki, Discord notifications, and CI/CD automation.
4
+
5
+ > **Quick start:** For a 60-second setup, see the [Quick Start](README.md#-quick-start-60-seconds) in the README.
6
+
7
+ ---
8
+
9
+ ## Step 1: Initialize RepoLens
10
+
11
+ Run this in your project root:
12
+
13
+ ```bash
14
+ npx @chappibunny/repolens init
15
+ ```
16
+
17
+ **What it creates:**
18
+ - `.repolens.yml` — Configuration file
19
+ - `.github/workflows/repolens.yml` — Auto-publishing workflow
20
+ - `.env.example` — Environment variable template
21
+ - `README.repolens.md` — Quick reference guide
22
+
23
+ **Default configuration works for:**
24
+ - Next.js projects
25
+ - React applications
26
+ - Node.js backends
27
+ - Monorepos with common structure
28
+
29
+ ---
30
+
31
+ ## Step 2: Configure Publishers
32
+
33
+ Open `.repolens.yml` and verify the `publishers` section:
34
+
35
+ ```yaml
36
+ publishers:
37
+ - markdown # Always works, no setup needed
38
+ - notion # Requires NOTION_TOKEN and NOTION_PARENT_PAGE_ID
39
+ - confluence # Requires CONFLUENCE_URL, CONFLUENCE_EMAIL, CONFLUENCE_API_TOKEN, CONFLUENCE_SPACE_KEY
40
+ ```
41
+
42
+ **Markdown Only** (simplest):
43
+ ```yaml
44
+ publishers:
45
+ - markdown
46
+ ```
47
+
48
+ **Notion Only**:
49
+ ```yaml
50
+ publishers:
51
+ - notion
52
+ ```
53
+
54
+ **Confluence Only**:
55
+ ```yaml
56
+ publishers:
57
+ - confluence
58
+ ```
59
+ Documentation lands in `.repolens/` directory. Commit these files or ignore them.
60
+
61
+ **Notion + Markdown** (recommended):
62
+ ```yaml
63
+ publishers:
64
+ - notion
65
+ - markdown
66
+ ```
67
+ Docs published to Notion for team visibility, plus local Markdown backups.
68
+
69
+ **Confluence + Markdown**:
70
+ ```yaml
71
+ publishers:
72
+ - confluence
73
+ - markdown
74
+ ```
75
+ Docs published to Confluence for enterprise teams, plus local Markdown backups.
76
+
77
+ **All Publishers**:
78
+ ```yaml
79
+ publishers:
80
+ - notion
81
+ - confluence
82
+ - markdown
83
+ ```
84
+ Maximum visibility: Notion for async collaboration, Confluence for enterprise docs, Markdown for local backups.
85
+
86
+ **GitHub Wiki** (ideal for open source):
87
+ ```yaml
88
+ publishers:
89
+ - github_wiki
90
+ - markdown
91
+ ```
92
+ Docs live alongside your code — accessible from the repo's Wiki tab. Requires `GITHUB_TOKEN`.
93
+
94
+ ---
95
+
96
+ ## Step 3: Enable AI Features (Optional)
97
+
98
+ AI-enhanced documentation adds natural language explanations for non-technical audiences.
99
+
100
+ ### Choose an AI Provider
101
+
102
+ RepoLens works with multiple AI providers:
103
+ - **GitHub Models** (free tier — recommended for GitHub Actions, uses `GITHUB_TOKEN`)
104
+ - **OpenAI** (gpt-5-mini, gpt-5.4, gpt-5-nano)
105
+ - **Anthropic Claude** (native adapter)
106
+ - **Google Gemini** (native adapter)
107
+ - **Azure OpenAI** (enterprise deployments)
108
+ - **Local Models** (Ollama, LM Studio, etc.)
109
+
110
+ ### Option A: GitHub Models (Free — Recommended)
111
+
112
+ Every GitHub repo gets free access to AI models. No API key signup needed.
113
+
114
+ In your GitHub Actions workflow:
115
+ ```yaml
116
+ env:
117
+ REPOLENS_AI_ENABLED: true
118
+ REPOLENS_AI_PROVIDER: github
119
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
120
+ ```
121
+
122
+ For local development, create a [personal access token](https://github.com/settings/tokens) and add to `.env`:
123
+ ```bash
124
+ REPOLENS_AI_ENABLED=true
125
+ REPOLENS_AI_PROVIDER=github
126
+ GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
127
+ ```
128
+
129
+ ### Option B: OpenAI / Other Providers
130
+
131
+ Create `.env` in your project root:
132
+ ```bash
133
+ # Enable AI features
134
+ REPOLENS_AI_ENABLED=true
135
+ REPOLENS_AI_API_KEY=sk-xxxxxxxxxxxxx
136
+
137
+ # Optional: Customize provider
138
+ REPOLENS_AI_BASE_URL=https://api.openai.com/v1
139
+ REPOLENS_AI_MODEL=gpt-5-mini
140
+ REPOLENS_AI_MAX_TOKENS=2000
141
+ ```
142
+
143
+ ### Configure AI in .repolens.yml
144
+
145
+ ```yaml
146
+ ai:
147
+ enabled: true # Enable AI features
148
+ mode: hybrid # hybrid, full, or off
149
+ max_tokens: 2000 # Token limit per request
150
+
151
+ features:
152
+ executive_summary: true # Non-technical overview
153
+ business_domains: true # Functional area descriptions
154
+ architecture_overview: true # Layered technical analysis
155
+ data_flows: true # System data flow explanations
156
+ developer_onboarding: true # Getting started guide
157
+ change_impact: true # Architecture diff with context
158
+ ```
159
+
160
+ **Cost Estimates** (with gpt-5-mini):
161
+ - Small repo (<50 files): $0.10–$0.30 per run
162
+ - Medium repo (50–200 files): $0.30–$0.80 per run
163
+ - Large repo (200+ files): $0.80–$2.00 per run
164
+ - **Free** with GitHub Models (gpt-4o-mini, rate-limited)
165
+
166
+ **For GitHub Actions**, add as repository secrets:
167
+ - For GitHub Models: no extra secrets needed — `GITHUB_TOKEN` is automatic
168
+ - For OpenAI/other: Name: `AI_KEY`, Value: your API key
169
+
170
+ See [AI.md](AI.md) for complete AI documentation and provider setup.
171
+
172
+ ---
173
+
174
+ ## Step 4: Set Up Notion Integration (Optional)
175
+
176
+ ### Create Notion Integration
177
+ 1. Go to [notion.so/my-integrations](https://www.notion.so/my-integrations)
178
+ 2. Click **"+ New Integration"**
179
+ 3. Name it **"RepoLens"**
180
+ 4. Select your workspace
181
+ 5. Copy the **Internal Integration Token** (starts with `secret_`)
182
+
183
+ ### Create Parent Page
184
+ 1. Create a new page in Notion (e.g., "📚 Architecture Docs")
185
+ 2. Click **"..."** menu → **"Add connections"** → Select **"RepoLens"**
186
+ 3. Copy the page URL: `https://notion.so/workspace/PAGE_ID?xxx`
187
+ 4. Extract the `PAGE_ID` (32-character hex string)
188
+
189
+ ### Add Environment Variables
190
+
191
+ **For Local Development:**
192
+ ```bash
193
+ NOTION_TOKEN=secret_xxxxxxxxxxxxx
194
+ NOTION_PARENT_PAGE_ID=xxxxxxxxxxxxx
195
+ NOTION_VERSION=2022-06-28
196
+ ```
197
+
198
+ **For GitHub Actions:**
199
+ 1. Go to your repo → **Settings** → **Secrets and variables** → **Actions**
200
+ 2. Add secrets: `NOTION_TOKEN` and `NOTION_PARENT_PAGE_ID`
201
+
202
+ ---
203
+
204
+ ## Step 5: Set Up Confluence Integration (Optional)
205
+
206
+ ### Generate API Token
207
+ 1. Go to [id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
208
+ 2. Click **"Create API token"**
209
+ 3. Name it **"RepoLens"** and copy the token
210
+
211
+ ### Find Your Space Key
212
+ 1. Navigate to your Confluence space
213
+ 2. Go to **Space Settings** → **Space details**
214
+ 3. Note the **Space Key** (e.g., `DOCS`, `ENG`, `TECH`)
215
+
216
+ ### Get Parent Page ID (Optional)
217
+ 1. Navigate to the page where you want docs nested
218
+ 2. Click **"..."** menu → **"Page information"**
219
+ 3. Copy the page ID from the URL: `pageId=123456789`
220
+
221
+ ### Add Environment Variables
222
+
223
+ **For Local Development:**
224
+ ```bash
225
+ CONFLUENCE_URL=https://your-company.atlassian.net/wiki
226
+ CONFLUENCE_EMAIL=your-email@example.com
227
+ CONFLUENCE_API_TOKEN=your-api-token-here
228
+ CONFLUENCE_SPACE_KEY=DOCS
229
+ CONFLUENCE_PARENT_PAGE_ID=123456789 # Optional
230
+ ```
231
+
232
+ **For Confluence Server/Data Center** (self-hosted):
233
+ ```bash
234
+ CONFLUENCE_URL=https://confluence.yourcompany.com
235
+ CONFLUENCE_EMAIL=your-username
236
+ CONFLUENCE_API_TOKEN=your-personal-access-token
237
+ CONFLUENCE_SPACE_KEY=DOCS
238
+ CONFLUENCE_PARENT_PAGE_ID=123456789 # Optional
239
+ ```
240
+
241
+ **For GitHub Actions:**
242
+ Add secrets: `CONFLUENCE_URL`, `CONFLUENCE_EMAIL`, `CONFLUENCE_API_TOKEN`, `CONFLUENCE_SPACE_KEY`, and optionally `CONFLUENCE_PARENT_PAGE_ID`.
243
+
244
+ ---
245
+
246
+ ## Step 6: Configure Branch Publishing (Recommended)
247
+
248
+ Prevent documentation conflicts by limiting which branches publish:
249
+
250
+ ```yaml
251
+ notion:
252
+ branches:
253
+ - main
254
+ includeBranchInTitle: false
255
+
256
+ confluence:
257
+ branches:
258
+ - main
259
+ ```
260
+
261
+ **Options:**
262
+ - `branches: [main]` — Only main publishes (recommended)
263
+ - `branches: [main, staging, release/*]` — Multiple branches with glob support
264
+ - Omit `branches` entirely — All branches publish (may cause conflicts)
265
+
266
+ Markdown publisher always runs on all branches (local files don't conflict).
267
+
268
+ ---
269
+
270
+ ## Step 7: Customize Scan Patterns (Optional)
271
+
272
+ ```yaml
273
+ scan:
274
+ include:
275
+ - "src/**/*.{ts,tsx,js,jsx}"
276
+ - "app/**/*.{ts,tsx,js,jsx}"
277
+ - "lib/**/*.{ts,tsx,js,jsx}"
278
+ ignore:
279
+ - "node_modules/**"
280
+ - ".next/**"
281
+ - "dist/**"
282
+ - "build/**"
283
+
284
+ module_roots:
285
+ - "src"
286
+ - "app"
287
+ - "lib"
288
+ ```
289
+
290
+ **Performance Note:** RepoLens warns at 10k files and limits at 50k files.
291
+
292
+ ---
293
+
294
+ ## Step 8: Generate and Verify
295
+
296
+ Run locally:
297
+ ```bash
298
+ npx @chappibunny/repolens publish
299
+ ```
300
+
301
+ **Expected output:**
302
+ ```
303
+ RepoLens 🔍
304
+ ────────────────────────────────────────────────────
305
+ [RepoLens] Scanning repository...
306
+ [RepoLens] Detected 42 modules
307
+ [RepoLens] Publishing documentation...
308
+ [RepoLens] ✓ System Overview published
309
+ [RepoLens] ✓ Module Catalog published
310
+ [RepoLens] ✓ API Surface published
311
+ [RepoLens] ✓ Route Map published
312
+ [RepoLens] ✓ System Map published
313
+ ```
314
+
315
+ **Verify Markdown output:**
316
+ ```bash
317
+ ls .repolens/
318
+ # system_overview.md module_catalog.md api_surface.md route_map.md system_map.md
319
+ ```
320
+
321
+ **Verify Notion output:**
322
+ Open your Notion parent page and confirm child pages were created (System Overview, Module Catalog, API Surface, Route Map, System Map — plus AI documents if enabled).
323
+
324
+ ---
325
+
326
+ ## Step 9: Enable GitHub Actions
327
+
328
+ Commit the workflow for automatic updates:
329
+ ```bash
330
+ git add .github/workflows/repolens.yml .repolens.yml
331
+ git commit -m "Add RepoLens documentation automation"
332
+ git push
333
+ ```
334
+
335
+ **What happens next:**
336
+ - Every push to `main` regenerates docs
337
+ - Pull requests get architecture diff comments
338
+ - Documentation stays evergreen automatically
339
+
340
+ **Pro Tip:** Add `.repolens/` to `.gitignore` if you don't want to commit local Markdown files.
341
+
342
+ ---
343
+
344
+ ## Step 10: Discord Notifications (Optional)
345
+
346
+ Get notified when documentation changes significantly — rich embeds with coverage, health score, and change percentage.
347
+
348
+ ### Setup
349
+
350
+ 1. **Create a webhook** in your Discord server:
351
+ - Server Settings → Integrations → Webhooks → New Webhook
352
+ - Copy the webhook URL
353
+
354
+ 2. **Add to environment**:
355
+ ```bash
356
+ DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/xxx/xxx
357
+ ```
358
+
359
+ 3. **Configure in `.repolens.yml`** (optional):
360
+ ```yaml
361
+ discord:
362
+ enabled: true
363
+ notifyOn: significant # Options: always, significant, never
364
+ significantThreshold: 10 # Notify if change >10%
365
+ branches:
366
+ - main
367
+ - develop
368
+ ```
369
+
370
+ 4. **Add GitHub Actions secret**: `DISCORD_WEBHOOK_URL`
371
+
372
+ **Notification includes:** branch info, files scanned, coverage %, health score, change %, and direct links to published docs.
373
+
374
+ ---
375
+
376
+ ## Next Steps
377
+
378
+ - [Configuration Reference](CONFIGURATION.md) — Full `.repolens.yml` schema
379
+ - [Environment Variables](ENVIRONMENT.md) — All env vars by feature
380
+ - [Architecture](ARCHITECTURE.md) — Pipeline and project structure
381
+ - [Security](../SECURITY.md) — Threat model and hardening details
382
+ - [Troubleshooting](TROUBLESHOOTING.md) — Common issues and fixes