@dzhechkov/keysarium 1.4.0 → 1.5.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.
- package/README.md +50 -3
- package/bin/cli.js +0 -0
- package/package.json +5 -3
- package/templates/.claude/commands/analyst-manual.md +38 -0
- package/templates/.claude/commands/casarium.md +55 -4
- package/templates/.claude/commands/feature-adr.md +8 -0
- package/templates/.claude/rules/trust-tiers.md +5 -0
- package/templates/.claude/shards/feature-adr.shard.md +64 -10
- package/templates/.claude/shards/phase-ai-factory.shard.md +109 -0
- package/templates/.claude/skills/ai-factory-mapper/README.md +90 -0
- package/templates/.claude/skills/ai-factory-mapper/SKILL.md +309 -0
- package/templates/.claude/skills/ai-factory-mapper/assets/report-template.md +123 -0
- package/templates/.claude/skills/ai-factory-mapper/references/catalog.md +230 -0
- package/templates/.claude/skills/ai-factory-mapper/references/coverage-formula.md +219 -0
- package/templates/.claude/skills/ai-factory-mapper/references/decomposition-checklist.md +183 -0
- package/templates/.claude/skills/ai-factory-mapper/references/pattern-library.md +312 -0
- package/templates/.claude/skills/ai-factory-mapper/scripts/build_docx_report.js +423 -0
- package/templates/.claude/skills/analyst-manual-full/SKILL.md +286 -0
- package/templates/.claude/skills/edu-site-generator/SKILL.md +254 -0
- package/templates/.claude/skills/edu-site-generator/examples/sample-course-structure.md +116 -0
- package/templates/.claude/skills/edu-site-generator/modules/00-content-analysis.md +84 -0
- package/templates/.claude/skills/edu-site-generator/modules/01-course-structure.md +75 -0
- package/templates/.claude/skills/edu-site-generator/modules/02-data-generation.md +186 -0
- package/templates/.claude/skills/edu-site-generator/modules/03-scaffold.md +249 -0
- package/templates/.claude/skills/edu-site-generator/modules/04-components.md +130 -0
- package/templates/.claude/skills/edu-site-generator/modules/05-gamification.md +163 -0
- package/templates/.claude/skills/edu-site-generator/modules/06-deploy.md +88 -0
- package/templates/.claude/skills/edu-site-generator/modules/07-verification.md +97 -0
- package/templates/.claude/skills/edu-site-generator/references/component-templates.md +436 -0
- package/templates/.claude/skills/edu-site-generator/references/data-schemas.md +164 -0
- package/templates/.claude/skills/edu-site-generator/references/exercise-catalog.md +110 -0
- package/templates/.claude/skills/edu-site-generator/references/tech-stack.md +69 -0
- package/templates/.claude/skills/feature-adr/SKILL.md +245 -59
- package/templates/.claude/skills/feature-adr/modules/03-adr.md +43 -0
- package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +180 -0
- package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +56 -7
- package/templates/.claude/skills/feature-adr/modules/08-qe.md +87 -23
- package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +305 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +143 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/brutal-honesty-review.md +240 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/chaos-engineering-resilience.md +163 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/code-goal-planner.md +446 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +111 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/mutation-testing.md +236 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/performance-testing.md +315 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +126 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-production-swarm.md +108 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-coverage-analysis.md +193 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-requirements-validation.md +254 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/regression-testing.md +233 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/risk-based-testing.md +212 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/security-testing.md +311 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/shift-left-testing.md +231 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/tdd-london-chicago.md +249 -0
- package/templates/.claude/skills/transcript-site-generator/SKILL.md +287 -0
- package/templates/.claude/skills/transcript-site-generator/examples/sample-text-only-site.md +123 -0
- package/templates/.claude/skills/transcript-site-generator/examples/sample-transcript-site.md +134 -0
- package/templates/.claude/skills/transcript-site-generator/modules/00-input-analysis.md +132 -0
- package/templates/.claude/skills/transcript-site-generator/modules/01-content-parsing.md +117 -0
- package/templates/.claude/skills/transcript-site-generator/modules/02-site-generation.md +293 -0
- package/templates/.claude/skills/transcript-site-generator/modules/03-interactivity.md +406 -0
- package/templates/.claude/skills/transcript-site-generator/modules/04-deploy.md +130 -0
- package/templates/.claude/skills/transcript-site-generator/modules/05-verification.md +155 -0
- package/templates/.claude/skills/transcript-site-generator/references/component-catalog.md +86 -0
- package/templates/.claude/skills/transcript-site-generator/references/data-schemas.md +123 -0
- package/templates/.claude/skills/transcript-site-generator/references/tech-stack.md +132 -0
- package/templates/CLAUDE.md +9 -2
- package/templates/docs/edu-site-generator/01-deployment-guide.md +911 -0
- package/templates/docs/edu-site-generator/02-admin-guide.md +901 -0
- package/templates/docs/edu-site-generator/03-user-guide.md +1008 -0
- package/templates/docs/edu-site-generator/04-infrastructure-requirements.md +489 -0
- package/templates/docs/edu-site-generator/05-architecture.md +902 -0
- package/templates/docs/edu-site-generator/06-user-flows.md +759 -0
- package/templates/docs/transcript-site-generator/01-deployment-guide.md +1042 -0
- package/templates/docs/transcript-site-generator/02-admin-guide.md +918 -0
- package/templates/docs/transcript-site-generator/03-user-guide.md +925 -0
- package/templates/docs/transcript-site-generator/04-infrastructure-requirements.md +482 -0
- package/templates/docs/transcript-site-generator/05-architecture.md +1068 -0
- package/templates/docs/transcript-site-generator/06-user-flows.md +855 -0
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
# Infrastructure Requirements -- @dzhechkov/skills-transcript-site
|
|
2
|
+
|
|
3
|
+
## Contents
|
|
4
|
+
|
|
5
|
+
1. [Overview](#1-overview)
|
|
6
|
+
2. [Minimal Requirements](#2-minimal-requirements)
|
|
7
|
+
3. [Optional Dependencies](#3-optional-dependencies)
|
|
8
|
+
4. [CDN Dependencies](#4-cdn-dependencies)
|
|
9
|
+
5. [Network Requirements](#5-network-requirements)
|
|
10
|
+
6. [Storage Requirements](#6-storage-requirements)
|
|
11
|
+
7. [Hosting Options](#7-hosting-options)
|
|
12
|
+
8. [Scaling Considerations](#8-scaling-considerations)
|
|
13
|
+
9. [Cost Analysis](#9-cost-analysis)
|
|
14
|
+
10. [Readiness Checklist](#10-readiness-checklist)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. Overview
|
|
19
|
+
|
|
20
|
+
@dzhechkov/skills-transcript-site is a zero-infrastructure tool. It generates pure static HTML files that require no server, no database, no build step, and no persistent process. The generated site is a single HTML file (or a few HTML files for chunked transcripts) that can be opened directly in a browser or hosted on any static file server.
|
|
21
|
+
|
|
22
|
+
### Architecture
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
+--------------------------------------------------+
|
|
26
|
+
| Developer Machine |
|
|
27
|
+
| |
|
|
28
|
+
| +-------------------------------------------+ |
|
|
29
|
+
| | Claude Code CLI | |
|
|
30
|
+
| | +-- .claude/skills/transcript-site/ | |
|
|
31
|
+
| | | +-- SKILL.md | |
|
|
32
|
+
| | | +-- modules/ (6 pipeline steps) | |
|
|
33
|
+
| | | +-- references/ (templates, SEO) | |
|
|
34
|
+
| | +-- .claude/commands/ | |
|
|
35
|
+
| | +-- transcript-site.md | |
|
|
36
|
+
| | +-- transcript-site-generate.md | |
|
|
37
|
+
| | +-- transcript-site-deploy.md | |
|
|
38
|
+
| +---------------+---------------------------+ |
|
|
39
|
+
| | HTTPS (port 443) |
|
|
40
|
+
+------------------+-------------------------------+
|
|
41
|
+
|
|
|
42
|
+
+-------v--------+
|
|
43
|
+
| Anthropic API |
|
|
44
|
+
| (content gen) |
|
|
45
|
+
+----------------+
|
|
46
|
+
|
|
47
|
+
+--------------------------------------------------+
|
|
48
|
+
| Generated Output |
|
|
49
|
+
| |
|
|
50
|
+
| docs/ |
|
|
51
|
+
| +-- index.html (~50-100 KB, self-contained) |
|
|
52
|
+
| +-- robots.txt (~50 bytes) |
|
|
53
|
+
| +-- sitemap.xml (~300 bytes) |
|
|
54
|
+
| |
|
|
55
|
+
| Runtime CDN dependencies: |
|
|
56
|
+
| +-- cdn.tailwindcss.com (CSS framework) |
|
|
57
|
+
| +-- cdnjs.cloudflare.com (Font Awesome icons) |
|
|
58
|
+
| +-- www.youtube.com (iframe embed, optional) |
|
|
59
|
+
+--------------------------------------------------+
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
There are no backend services to operate. No Redis, no databases, no queues. The Anthropic API is used only during generation -- the resulting site is fully static and independent.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 2. Minimal Requirements
|
|
67
|
+
|
|
68
|
+
### 2.1. For generation (creating the site)
|
|
69
|
+
|
|
70
|
+
| Component | Requirement | Check |
|
|
71
|
+
|-----------|------------|-------|
|
|
72
|
+
| Node.js | 16+ (20+ recommended) | `node --version` |
|
|
73
|
+
| npm | 8+ | `npm --version` |
|
|
74
|
+
| Claude Code CLI | Latest | `claude --version` |
|
|
75
|
+
| Anthropic API key | Valid key with API access | Environment variable `ANTHROPIC_API_KEY` set |
|
|
76
|
+
| Internet connection | Required during generation | For Anthropic API calls |
|
|
77
|
+
|
|
78
|
+
### 2.2. For viewing (opening the generated site)
|
|
79
|
+
|
|
80
|
+
| Component | Requirement |
|
|
81
|
+
|-----------|------------|
|
|
82
|
+
| Web browser | Chrome 90+, Firefox 90+, Safari 15+, Edge 90+ |
|
|
83
|
+
| Internet connection | Required for Tailwind CDN (unless `--tailwind inline` was used) |
|
|
84
|
+
|
|
85
|
+
### 2.3. For deployment (hosting the site)
|
|
86
|
+
|
|
87
|
+
| Component | Requirement |
|
|
88
|
+
|-----------|------------|
|
|
89
|
+
| git | 2.20+ (for GitHub Pages) |
|
|
90
|
+
| GitHub account | Free tier sufficient |
|
|
91
|
+
|
|
92
|
+
No build tools, no bundlers, no package managers are needed for the generated output. The output is plain HTML.
|
|
93
|
+
|
|
94
|
+
### 2.4. Hardware requirements
|
|
95
|
+
|
|
96
|
+
The generator itself runs within Claude Code and delegates all compute-intensive work to the Anthropic API. Local hardware requirements are minimal:
|
|
97
|
+
|
|
98
|
+
| Component | Minimum | Notes |
|
|
99
|
+
|-----------|---------|-------|
|
|
100
|
+
| CPU | 1 core | Not compute-intensive locally |
|
|
101
|
+
| RAM | 2 GB | Node.js + Claude Code process |
|
|
102
|
+
| Disk | 10 MB free | Generated sites are tiny |
|
|
103
|
+
| Terminal | 80 columns | Wider terminals display pipeline output better |
|
|
104
|
+
|
|
105
|
+
A five-year-old laptop with a stable internet connection is sufficient.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 3. Optional Dependencies
|
|
110
|
+
|
|
111
|
+
### 3.1. yt-dlp (YouTube extraction)
|
|
112
|
+
|
|
113
|
+
Required only if you want to generate sites from YouTube URLs. Not needed for text input.
|
|
114
|
+
|
|
115
|
+
| Property | Value |
|
|
116
|
+
|----------|-------|
|
|
117
|
+
| Purpose | Extract subtitles and metadata from YouTube |
|
|
118
|
+
| Installation | `pip install yt-dlp` or `brew install yt-dlp` |
|
|
119
|
+
| Check | `yt-dlp --version` |
|
|
120
|
+
| Without it | YouTube URLs not supported; text input still works |
|
|
121
|
+
|
|
122
|
+
### 3.2. git (deployment)
|
|
123
|
+
|
|
124
|
+
Required only for GitHub Pages deployment. Not needed for local preview.
|
|
125
|
+
|
|
126
|
+
| Property | Value |
|
|
127
|
+
|----------|-------|
|
|
128
|
+
| Purpose | Push generated files to GitHub for hosting |
|
|
129
|
+
| Installation | `apt install git` or `brew install git` |
|
|
130
|
+
| Check | `git --version` |
|
|
131
|
+
| Without it | Local preview works; manual upload to other hosts works |
|
|
132
|
+
|
|
133
|
+
### 3.3. No other optional dependencies
|
|
134
|
+
|
|
135
|
+
The generator does not use:
|
|
136
|
+
- Python (except for yt-dlp installation via pip)
|
|
137
|
+
- Docker
|
|
138
|
+
- Any database
|
|
139
|
+
- Any build tool (webpack, vite, etc.)
|
|
140
|
+
- Any CSS preprocessor (sass, less, etc.)
|
|
141
|
+
- Any JavaScript framework (React, Vue, etc.)
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 4. CDN Dependencies
|
|
146
|
+
|
|
147
|
+
The generated site relies on two CDN resources at runtime (when the user views the page):
|
|
148
|
+
|
|
149
|
+
### 4.1. Tailwind CSS Play CDN
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
https://cdn.tailwindcss.com
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
| Property | Value |
|
|
156
|
+
|----------|-------|
|
|
157
|
+
| Purpose | CSS framework (utility classes) |
|
|
158
|
+
| Size | ~300 KB (cached after first load) |
|
|
159
|
+
| Fallback | Use `--tailwind inline` to eliminate this dependency |
|
|
160
|
+
| SRI | Subresource Integrity hash included in the script tag |
|
|
161
|
+
|
|
162
|
+
### 4.2. Font Awesome CDN (optional)
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
| Property | Value |
|
|
169
|
+
|----------|-------|
|
|
170
|
+
| Purpose | Icons (search, dark mode, copy, etc.) |
|
|
171
|
+
| Size | ~90 KB (cached after first load) |
|
|
172
|
+
| Fallback | Can be replaced with inline SVG icons using `--icons inline` |
|
|
173
|
+
| SRI | Subresource Integrity hash included in the link tag |
|
|
174
|
+
|
|
175
|
+
### 4.3. YouTube iframe API (conditional)
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
https://www.youtube.com/embed/VIDEO_ID?enablejsapi=1
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
| Property | Value |
|
|
182
|
+
|----------|-------|
|
|
183
|
+
| Purpose | Embedded video player with seekTo() support |
|
|
184
|
+
| Loaded when | Source was a YouTube URL and `--no-embed` was not specified |
|
|
185
|
+
| Size | Varies (loaded by YouTube) |
|
|
186
|
+
| Fallback | Use `--no-embed` to generate text-only site |
|
|
187
|
+
|
|
188
|
+
### 4.4. Fully offline mode
|
|
189
|
+
|
|
190
|
+
To generate a site with zero CDN dependencies:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
/transcript-site [source] --tailwind inline --icons inline --no-embed
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
This produces a single HTML file that works entirely offline. Estimated size increase: +15-25 KB for inlined CSS and SVG icons.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 5. Network Requirements
|
|
201
|
+
|
|
202
|
+
### 5.1. During generation
|
|
203
|
+
|
|
204
|
+
The generator communicates only with the Anthropic API over HTTPS (port 443). If using YouTube URLs, `yt-dlp` also connects to YouTube.
|
|
205
|
+
|
|
206
|
+
| Destination | Port | Purpose | When |
|
|
207
|
+
|-------------|------|---------|------|
|
|
208
|
+
| `api.anthropic.com` | 443 | AI content generation | Always |
|
|
209
|
+
| `www.youtube.com` | 443 | Subtitle and metadata extraction | YouTube URLs only |
|
|
210
|
+
| `i.ytimg.com` | 443 | Thumbnail download | YouTube URLs only |
|
|
211
|
+
|
|
212
|
+
Total data transferred during generation: under 500 KB (API request/response payloads are text).
|
|
213
|
+
|
|
214
|
+
### 5.2. During viewing (user opens the site)
|
|
215
|
+
|
|
216
|
+
| Destination | Port | Purpose | When |
|
|
217
|
+
|-------------|------|---------|------|
|
|
218
|
+
| `cdn.tailwindcss.com` | 443 | CSS framework | Default mode (not inline) |
|
|
219
|
+
| `cdnjs.cloudflare.com` | 443 | Icons | Default mode (not inline) |
|
|
220
|
+
| `www.youtube.com` | 443 | Video embed | YouTube source with embed |
|
|
221
|
+
|
|
222
|
+
Total data on first view: ~400-500 KB (mostly cached after first visit).
|
|
223
|
+
|
|
224
|
+
### 5.3. Bandwidth
|
|
225
|
+
|
|
226
|
+
Generation requires minimal bandwidth. A 3G connection is sufficient. Viewing requires CDN access on first load -- after that, browser cache handles it.
|
|
227
|
+
|
|
228
|
+
### 5.4. Proxy and firewall
|
|
229
|
+
|
|
230
|
+
If your network uses a proxy or firewall, ensure outbound HTTPS to these domains is permitted:
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
Required for generation:
|
|
234
|
+
api.anthropic.com:443
|
|
235
|
+
|
|
236
|
+
Required for YouTube extraction:
|
|
237
|
+
www.youtube.com:443
|
|
238
|
+
i.ytimg.com:443
|
|
239
|
+
|
|
240
|
+
Required for viewing (default mode):
|
|
241
|
+
cdn.tailwindcss.com:443
|
|
242
|
+
cdnjs.cloudflare.com:443
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 6. Storage Requirements
|
|
248
|
+
|
|
249
|
+
### 6.1. Installation footprint
|
|
250
|
+
|
|
251
|
+
| Component | Size |
|
|
252
|
+
|-----------|------|
|
|
253
|
+
| Skill files (SKILL.md, modules/, references/, examples/) | ~70 KB |
|
|
254
|
+
| Commands (3 files) | ~10 KB |
|
|
255
|
+
| Rules (1 file) | ~5 KB |
|
|
256
|
+
| Manifest | ~1 KB |
|
|
257
|
+
| **Total installation** | **~86 KB** |
|
|
258
|
+
|
|
259
|
+
### 6.2. Generated site size
|
|
260
|
+
|
|
261
|
+
| Transcript length | Output size (CDN mode) | Output size (inline mode) |
|
|
262
|
+
|-------------------|----------------------|--------------------------|
|
|
263
|
+
| 1,000 words | ~20 KB | ~40 KB |
|
|
264
|
+
| 5,000 words | ~40 KB | ~60 KB |
|
|
265
|
+
| 10,000 words | ~65 KB | ~85 KB |
|
|
266
|
+
| 20,000 words | ~110 KB | ~130 KB |
|
|
267
|
+
| 50,000 words (multi-page) | ~50 KB per page | ~70 KB per page |
|
|
268
|
+
|
|
269
|
+
Additional files per site:
|
|
270
|
+
- `robots.txt`: ~50 bytes
|
|
271
|
+
- `sitemap.xml`: ~300 bytes
|
|
272
|
+
|
|
273
|
+
### 6.3. Long-term storage
|
|
274
|
+
|
|
275
|
+
Each generated site occupies 50-150 KB. A repository with 100 transcript sites uses approximately 10-15 MB. This is negligible for any modern storage system or git repository.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 7. Hosting Options
|
|
280
|
+
|
|
281
|
+
### 7.1. GitHub Pages (recommended, free)
|
|
282
|
+
|
|
283
|
+
The default deployment target. GitHub Pages serves static files from the `docs/` folder.
|
|
284
|
+
|
|
285
|
+
| Property | Value |
|
|
286
|
+
|----------|-------|
|
|
287
|
+
| Cost | Free (for public repositories) |
|
|
288
|
+
| HTTPS | Automatic (via GitHub) |
|
|
289
|
+
| Custom domain | Supported (via CNAME file) |
|
|
290
|
+
| CDN | GitHub's global CDN |
|
|
291
|
+
| Bandwidth limit | 100 GB/month (soft limit) |
|
|
292
|
+
| Storage limit | 1 GB per repository (soft limit) |
|
|
293
|
+
|
|
294
|
+
Setup:
|
|
295
|
+
1. Push `docs/` to your repository
|
|
296
|
+
2. Go to Settings > Pages
|
|
297
|
+
3. Source: "Deploy from a branch", Branch: main, Folder: `/docs`
|
|
298
|
+
|
|
299
|
+
### 7.2. Netlify (free tier)
|
|
300
|
+
|
|
301
|
+
Drag and drop the `docs/` folder to Netlify's deploy interface, or connect your git repository.
|
|
302
|
+
|
|
303
|
+
| Property | Value |
|
|
304
|
+
|----------|-------|
|
|
305
|
+
| Cost | Free tier: 100 GB bandwidth/month |
|
|
306
|
+
| HTTPS | Automatic |
|
|
307
|
+
| Custom domain | Supported |
|
|
308
|
+
| Build step | None needed (static files) |
|
|
309
|
+
|
|
310
|
+
### 7.3. Vercel (free tier)
|
|
311
|
+
|
|
312
|
+
Point Vercel to the `docs/` directory in your repository settings.
|
|
313
|
+
|
|
314
|
+
| Property | Value |
|
|
315
|
+
|----------|-------|
|
|
316
|
+
| Cost | Free tier: 100 GB bandwidth/month |
|
|
317
|
+
| HTTPS | Automatic |
|
|
318
|
+
| Custom domain | Supported |
|
|
319
|
+
|
|
320
|
+
### 7.4. Any static file server
|
|
321
|
+
|
|
322
|
+
The generated site is a plain HTML file. Serve it from any web server:
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
# Python (quick local server)
|
|
326
|
+
cd docs && python -m http.server 8000
|
|
327
|
+
|
|
328
|
+
# nginx
|
|
329
|
+
cp docs/* /var/www/html/
|
|
330
|
+
|
|
331
|
+
# Apache
|
|
332
|
+
cp docs/* /var/www/html/
|
|
333
|
+
|
|
334
|
+
# AWS S3
|
|
335
|
+
aws s3 sync docs/ s3://my-bucket/ --acl public-read
|
|
336
|
+
|
|
337
|
+
# Cloudflare Pages
|
|
338
|
+
# Connect your git repo and point to docs/
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### 7.5. Local file (no hosting)
|
|
342
|
+
|
|
343
|
+
For personal use or sharing via file transfer, just open `docs/index.html` directly in a browser:
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
open docs/index.html # macOS
|
|
347
|
+
xdg-open docs/index.html # Linux
|
|
348
|
+
start docs\index.html # Windows
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
No server needed. The file protocol (`file:///`) works for all features except YouTube embed (which requires HTTPS origin for the iframe API).
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## 8. Scaling Considerations
|
|
356
|
+
|
|
357
|
+
### 8.1. One site at a time
|
|
358
|
+
|
|
359
|
+
The generator produces one site per invocation. There is no batching or concurrent generation mode. For multiple sites, run the pipeline sequentially:
|
|
360
|
+
|
|
361
|
+
```
|
|
362
|
+
/transcript-site source1 --output docs/site1/
|
|
363
|
+
/transcript-site source2 --output docs/site2/
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### 8.2. No server-side scaling needed
|
|
367
|
+
|
|
368
|
+
The generated sites are static. They can handle any traffic level without server-side changes. GitHub Pages, Netlify, and similar CDN-backed hosts handle scaling automatically.
|
|
369
|
+
|
|
370
|
+
### 8.3. Repository size management
|
|
371
|
+
|
|
372
|
+
If you generate many sites in one repository, keep an eye on the total repository size:
|
|
373
|
+
|
|
374
|
+
| Number of sites | Estimated total size | Git-friendly? |
|
|
375
|
+
|----------------|---------------------|---------------|
|
|
376
|
+
| 1-10 | 0.5-1.5 MB | No issues |
|
|
377
|
+
| 10-50 | 1.5-7 MB | No issues |
|
|
378
|
+
| 50-100 | 7-15 MB | Acceptable |
|
|
379
|
+
| 100+ | 15+ MB | Consider separate repos |
|
|
380
|
+
|
|
381
|
+
For large collections, consider a monorepo with separate `docs/` subdirectories or a dedicated repository per site.
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## 9. Cost Analysis
|
|
386
|
+
|
|
387
|
+
### 9.1. Generation cost (Anthropic API)
|
|
388
|
+
|
|
389
|
+
The generation pipeline uses the Anthropic API. Token consumption scales with transcript length:
|
|
390
|
+
|
|
391
|
+
| Transcript length | Estimated tokens | Estimated cost |
|
|
392
|
+
|-------------------|-----------------|----------------|
|
|
393
|
+
| 1,000 words | ~15,000 | < $0.10 |
|
|
394
|
+
| 5,000 words | ~30,000 | ~$0.20 |
|
|
395
|
+
| 10,000 words | ~50,000 | ~$0.35 |
|
|
396
|
+
| 25,000 words | ~80,000 | ~$0.55 |
|
|
397
|
+
|
|
398
|
+
These estimates include all 6 pipeline steps.
|
|
399
|
+
|
|
400
|
+
### 9.2. Hosting cost
|
|
401
|
+
|
|
402
|
+
| Platform | Cost |
|
|
403
|
+
|----------|------|
|
|
404
|
+
| GitHub Pages | Free (public repos) |
|
|
405
|
+
| Netlify free tier | Free (100 GB/month) |
|
|
406
|
+
| Vercel free tier | Free (100 GB/month) |
|
|
407
|
+
| Local file | Free |
|
|
408
|
+
| AWS S3 | ~$0.02/month for a single site |
|
|
409
|
+
|
|
410
|
+
### 9.3. CDN cost
|
|
411
|
+
|
|
412
|
+
Tailwind CDN and Font Awesome CDN are free. YouTube iframe is free. There are no CDN costs.
|
|
413
|
+
|
|
414
|
+
### 9.4. Total cost of ownership
|
|
415
|
+
|
|
416
|
+
```
|
|
417
|
+
Generation: $0.10-$0.55 per site (one-time, Anthropic API)
|
|
418
|
+
Hosting: $0.00 per month (GitHub Pages / Netlify / Vercel free tier)
|
|
419
|
+
CDN: $0.00 per month (Tailwind CDN + Font Awesome CDN are free)
|
|
420
|
+
Infrastructure: $0.00 per month (no server, no database)
|
|
421
|
+
Maintenance: $0.00 per month (static files, no updates needed)
|
|
422
|
+
|
|
423
|
+
Total: $0.10-$0.55 per site, once.
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
---
|
|
427
|
+
|
|
428
|
+
## 10. Readiness Checklist
|
|
429
|
+
|
|
430
|
+
Use this checklist before your first run to confirm the environment is properly configured.
|
|
431
|
+
|
|
432
|
+
### Software
|
|
433
|
+
|
|
434
|
+
- [ ] Node.js 16+ installed (`node --version` returns v16.x.x or higher)
|
|
435
|
+
- [ ] npm 8+ installed (`npm --version` returns 8.x.x or higher)
|
|
436
|
+
- [ ] Claude Code CLI installed (`claude --version` succeeds)
|
|
437
|
+
- [ ] @dzhechkov/skills-transcript-site initialized (`npx @dzhechkov/skills-transcript-site init` completed)
|
|
438
|
+
|
|
439
|
+
### Optional
|
|
440
|
+
|
|
441
|
+
- [ ] yt-dlp installed (`yt-dlp --version` succeeds) -- needed for YouTube URLs
|
|
442
|
+
- [ ] git installed (`git --version` succeeds) -- needed for GitHub Pages deployment
|
|
443
|
+
|
|
444
|
+
### Files
|
|
445
|
+
|
|
446
|
+
- [ ] `.claude/skills/transcript-site-generator/SKILL.md` exists and is non-empty
|
|
447
|
+
- [ ] `.claude/skills/transcript-site-generator/modules/` contains 6 module files
|
|
448
|
+
- [ ] `.claude/skills/transcript-site-generator/references/` contains 4 reference files
|
|
449
|
+
- [ ] `.claude/commands/transcript-site.md` exists
|
|
450
|
+
- [ ] `.claude/commands/transcript-site-generate.md` exists
|
|
451
|
+
- [ ] `.claude/commands/transcript-site-deploy.md` exists
|
|
452
|
+
|
|
453
|
+
### API access
|
|
454
|
+
|
|
455
|
+
- [ ] `ANTHROPIC_API_KEY` environment variable set, or `claude auth login` completed
|
|
456
|
+
- [ ] Outbound HTTPS to `api.anthropic.com:443` is permitted
|
|
457
|
+
|
|
458
|
+
### Verification
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
npx @dzhechkov/skills-transcript-site doctor
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
Expected output when everything is in order:
|
|
465
|
+
|
|
466
|
+
```
|
|
467
|
+
Transcript Site Doctor -- Health Check
|
|
468
|
+
---------------------------------------
|
|
469
|
+
Node.js: v20.11.0 OK
|
|
470
|
+
npm: 10.2.4 OK
|
|
471
|
+
Claude Code: 1.x.x OK
|
|
472
|
+
SKILL.md: 12.4 KB OK
|
|
473
|
+
modules/: 6 files OK
|
|
474
|
+
references/: 4 files OK
|
|
475
|
+
commands/: 3 files OK
|
|
476
|
+
yt-dlp: 2024.12 OK (optional)
|
|
477
|
+
API key: present OK (not validated)
|
|
478
|
+
---------------------------------------
|
|
479
|
+
Status: READY
|
|
480
|
+
Run /transcript-site [source] to generate your first site.
|
|
481
|
+
---------------------------------------
|
|
482
|
+
```
|