@getpagr/cli 1.0.5 → 1.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,qDA2DxB,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,qDAuExB,CAAA"}
@@ -1,5 +1,8 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { join } from 'node:path';
1
3
  import { defineCommand } from 'citty';
2
4
  import { readConfig, writeConfig } from '../lib/config.js';
5
+ import { writeSkillFiles } from '../lib/skills.js';
3
6
  export const configCommand = defineCommand({
4
7
  meta: {
5
8
  name: 'config',
@@ -26,6 +29,16 @@ export const configCommand = defineCommand({
26
29
  const current = readConfig();
27
30
  writeConfig({ ...current, apiKey: args.key });
28
31
  console.log('API key saved to ~/.pagr/config.json');
32
+ // Also update skill files in the current workspace if it's initialized
33
+ const cwd = process.cwd();
34
+ const skillMdPath = join(cwd, 'SKILL.md');
35
+ const hasSkillFile = existsSync(skillMdPath);
36
+ const hasClaudeDir = existsSync(join(cwd, '.claude'));
37
+ const hasAgentsDir = existsSync(join(cwd, '.agents'));
38
+ if (hasSkillFile || hasClaudeDir || hasAgentsDir) {
39
+ writeSkillFiles(cwd, args.key, hasClaudeDir);
40
+ console.log('Workspace skill files updated with your active API key and remote MCP instructions.');
41
+ }
29
42
  },
30
43
  }),
31
44
  'set-url': defineCommand({
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0BAA0B;KACxC;IACD,WAAW,EAAE;QACX,SAAS,EAAE,aAAa,CAAC;YACvB,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8CAA8C;aAC5D;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,cAAc;oBAC3B,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,GAAG,CAAC,EAAE,IAAI,EAAE;gBACV,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;oBACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC;gBACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;gBAC5B,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC7C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;YACrD,CAAC;SACF,CAAC;QACF,SAAS,EAAE,aAAa,CAAC;YACvB,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,yBAAyB;aACvC;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,YAAY;oBACzB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,GAAG,CAAC,EAAE,IAAI,EAAE;gBACV,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;gBAC5B,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAC9C,CAAC;SACF,CAAC;QACF,IAAI,EAAE,aAAa,CAAC;YAClB,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,4BAA4B;aAC1C;YACD,GAAG;gBACD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;gBACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,CAAA;gBACrD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;gBAC3E,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAA;YACjG,CAAC;SACF,CAAC;KACH;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0BAA0B;KACxC;IACD,WAAW,EAAE;QACX,SAAS,EAAE,aAAa,CAAC;YACvB,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8CAA8C;aAC5D;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,cAAc;oBAC3B,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,GAAG,CAAC,EAAE,IAAI,EAAE;gBACV,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;oBACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC;gBACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;gBAC5B,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC7C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;gBAEnD,uEAAuE;gBACvE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;gBACzB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;gBACzC,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;gBAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;gBACrD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;gBAErD,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;oBACjD,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;oBAC5C,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAA;gBACpG,CAAC;YACH,CAAC;SACF,CAAC;QACF,SAAS,EAAE,aAAa,CAAC;YACvB,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,yBAAyB;aACvC;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,YAAY;oBACzB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,GAAG,CAAC,EAAE,IAAI,EAAE;gBACV,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;gBAC5B,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAC9C,CAAC;SACF,CAAC;QACF,IAAI,EAAE,aAAa,CAAC;YAClB,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,4BAA4B;aAC1C;YACD,GAAG;gBACD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;gBACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,CAAA;gBACrD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;gBAC3E,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAA;YACjG,CAAC;SACF,CAAC;KACH;CACF,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA8QA,eAAO,MAAM,WAAW;;;;;;;;;;;;;EAmDtB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW;;;;;;;;;;;;;EAqCtB,CAAA"}
@@ -1,265 +1,8 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { defineCommand } from 'citty';
4
- const SKILL_MD = [
5
- '# Pagr CLI Skill',
6
- '',
7
- 'Use this skill when the user wants to publish, update, list, delete, or manage HTML files with the Pagr CLI.',
8
- '',
9
- '## When To Use This Skill',
10
- '',
11
- '- Publishing generated HTML reports, dashboards, documents, or plans.',
12
- '- Updating existing published Pagr pages while keeping the same public URL.',
13
- '- Creating shareable URLs for local HTML artifacts.',
14
- '- Listing or deleting Pagr files from a user account.',
15
- '- Setting up Pagr in a project for agent workflows.',
16
- '- Publishing HTML artifacts from CI.',
17
- '',
18
- '## Core Rules',
19
- '',
20
- '- Use `pagr upload <file>` for HTML files.',
21
- '- Never invent a Pagr URL. Always return the URL printed by the CLI.',
22
- '- If a file contains `<meta name="pagr-id">` or `<meta name="pagr-slug">`, `pagr upload <file>` may update the existing page instead of creating a new one.',
23
- '- Updates replace the current HTML in place. Pagr does not store previous HTML versions or rollback history.',
24
- '- Prefer `PAGR_API_KEY` in CI instead of writing `~/.pagr/config.json`.',
25
- '- Do not print or expose full API keys unless the user explicitly asks to configure authentication.',
26
- '- If upload, update, list, or delete fails, surface the exact CLI/API error.',
27
- '',
28
- '## Installation',
29
- '',
30
- '```bash',
31
- 'npm install -g @getpagr/cli',
32
- '```',
33
- '',
34
- 'Pagr CLI requires Node.js 20 or newer. The installed command is `pagr`.',
35
- '',
36
- '## Authentication',
37
- '',
38
- 'Browser login:',
39
- '',
40
- '```bash',
41
- 'pagr login',
42
- '```',
43
- '',
44
- '`pagr login` starts a browser login flow, authenticates with Pagr, receives a CLI API key through a local callback, and saves it to `~/.pagr/config.json`.',
45
- '',
46
- 'Manual login for SSH, headless, or locked-down environments:',
47
- '',
48
- '```bash',
49
- 'pagr login --manual',
50
- '```',
51
- '',
52
- 'Save a key without prompting:',
53
- '',
54
- '```bash',
55
- 'pagr login --key pagr_...',
56
- '```',
57
- '',
58
- 'Set a key directly in local config:',
59
- '',
60
- '```bash',
61
- 'pagr config set-key pagr_...',
62
- '```',
63
- '',
64
- 'API keys must start with `pagr_`.',
65
- '',
66
- 'Config location:',
67
- '',
68
- '```text',
69
- '~/.pagr/config.json',
70
- '```',
71
- '',
72
- 'Auth lookup order:',
73
- '',
74
- '1. `PAGR_API_KEY`',
75
- '2. `~/.pagr/config.json`',
76
- '3. Error if neither exists',
77
- '',
78
- '## Upload New HTML',
79
- '',
80
- '```bash',
81
- 'pagr upload report.html',
82
- '```',
83
- '',
84
- 'Behavior:',
85
- '',
86
- '- Reads the local HTML file as UTF-8.',
87
- '- Uploads raw HTML to Pagr.',
88
- '- Prints the public URL.',
89
- '- Copies the URL to the clipboard when supported.',
90
- '- When `CI` is set, also prints:',
91
- '',
92
- '```text',
93
- 'PAGR_SLUG=...',
94
- 'PAGR_URL=...',
95
- '```',
96
- '',
97
- '## Upload With Title And Slug',
98
- '',
99
- 'Set a page title:',
100
- '',
101
- '```bash',
102
- 'pagr upload report.html --title "Weekly report"',
103
- 'pagr upload report.html -t "Weekly report"',
104
- '```',
105
- '',
106
- 'Request a stable readable slug:',
107
- '',
108
- '```bash',
109
- 'pagr upload report.html --slug weekly-report',
110
- 'pagr upload report.html -s weekly-report',
111
- '```',
112
- '',
113
- 'Use both:',
114
- '',
115
- '```bash',
116
- 'pagr upload report.html --slug weekly-report --title "Weekly report"',
117
- '```',
118
- '',
119
- '`--title` sends `X-Pagr-Title`. `--slug` requests a stable readable URL. Custom slugs can be plan-gated.',
120
- '',
121
- '## Update Existing Pages',
122
- '',
123
- '```bash',
124
- 'pagr upload report.html --update --slug weekly-report',
125
- 'pagr upload report.html -u -s weekly-report',
126
- '```',
127
- '',
128
- 'Behavior:',
129
- '',
130
- '- Checks slug ownership first.',
131
- '- Fails if the slug is missing or not owned by the authenticated user.',
132
- '- Sends replacement HTML to the existing page.',
133
- '- Keeps the public URL stable.',
134
- '- Replaces current content in place; this is not versioning.',
135
- '',
136
- '## Auto-Update With Meta Tags',
137
- '',
138
- '```html',
139
- '<meta name="pagr-id" content="...">',
140
- '<meta name="pagr-slug" content="weekly-report">',
141
- '```',
142
- '',
143
- 'Update priority:',
144
- '',
145
- '1. `pagr-id` updates by stable document ID.',
146
- '2. `pagr-slug` updates by slug.',
147
- '3. `--update --slug` forces update by slug.',
148
- '4. Otherwise a new file is uploaded.',
149
- '',
150
- 'Inject Pagr metadata into the source file:',
151
- '',
152
- '```bash',
153
- 'pagr upload report.html --inject',
154
- '```',
155
- '',
156
- '`--inject` writes Pagr metadata into the local HTML source after upload. If a new upload has no `pagr-slug`, the CLI auto-injects metadata for future updates. This modifies the local source HTML file.',
157
- '',
158
- '## List Files',
159
- '',
160
- '```bash',
161
- 'pagr ls',
162
- 'pagr ls --limit 20',
163
- '```',
164
- '',
165
- 'Default limit is 50. Output includes slug, views, plan, title, and URL. If no files exist, the CLI prints `No files found.`',
166
- '',
167
- '## Delete Files',
168
- '',
169
- '```bash',
170
- 'pagr rm weekly-report',
171
- 'pagr rm weekly-report --yes',
172
- 'pagr rm weekly-report -y',
173
- '```',
174
- '',
175
- 'Without `--yes`, the CLI asks for confirmation and accepts `y` or `yes`. Delete is not reversible.',
176
- '',
177
- '## Config Commands',
178
- '',
179
- '```bash',
180
- 'pagr config show',
181
- 'pagr config set-key pagr_...',
182
- 'pagr config set-url https://pagr.link',
183
- '```',
184
- '',
185
- '`pagr config show` masks the API key. `set-key` requires a `pagr_` prefix. `set-url` overrides the Worker API URL in local config. Environment variables override local config.',
186
- '',
187
- '## Init Command',
188
- '',
189
- '```bash',
190
- 'pagr init',
191
- 'pagr init --no-claude',
192
- 'pagr init --no-mcp',
193
- '```',
194
- '',
195
- '`pagr init` writes:',
196
- '',
197
- '- `SKILL.md`',
198
- '- `.claude/skills/pagr/SKILL.md` unless `--no-claude`',
199
- '- `.agents/skills/pagr/SKILL.md`',
200
- '- `.claude/settings.json` MCP server config unless `--no-mcp`',
201
- '',
202
- 'MCP config:',
203
- '',
204
- '```json',
205
- '{',
206
- ' "mcpServers": {',
207
- ' "pagr": {',
208
- ' "command": "npx",',
209
- ' "args": ["-y", "@pagr/mcp"]',
210
- ' }',
211
- ' }',
212
- '}',
213
- '```',
214
- '',
215
- '## CI Usage',
216
- '',
217
- 'Use `PAGR_API_KEY` in CI. Do not write `~/.pagr/config.json` in CI.',
218
- '',
219
- '```yaml',
220
- '- name: Publish HTML report',
221
- ' run: pagr upload output/report.html --title "Nightly report"',
222
- ' env:',
223
- ' PAGR_API_KEY: ${{ secrets.PAGR_API_KEY }}',
224
- '```',
225
- '',
226
- 'When `CI` is set, use the machine-readable `PAGR_SLUG` and `PAGR_URL` output lines.',
227
- '',
228
- '## Environment Variables',
229
- '',
230
- '- `PAGR_API_KEY`: overrides the locally saved key.',
231
- '- `PAGR_WORKER_URL`: overrides the Worker API URL. Default is `https://pagr.link`.',
232
- '- `PAGR_APP_URL`: overrides the app URL used by `pagr login`. Default is `https://app.getpagr.co`.',
233
- '- `CI`: makes upload print machine-readable `PAGR_SLUG` and `PAGR_URL`.',
234
- '',
235
- '## Error Handling',
236
- '',
237
- 'Common failures:',
238
- '',
239
- '- Missing API key: run `pagr login`, run `pagr login --manual`, or set `PAGR_API_KEY`.',
240
- '- Invalid API key format: keys must start with `pagr_`.',
241
- '- Cannot read file: confirm the path exists and points to an HTML file.',
242
- '- Slug not found or not owned during update: upload without `--update` or use the correct slug.',
243
- '- Upload/update/list/delete API errors: surface the exact CLI error.',
244
- '- Clipboard failure does not fail upload; the URL is still printed.',
245
- '',
246
- 'If browser login fails, use `pagr login --manual`. If upload fails due to plan or file limit, surface the CLI error and tell the user to check account plan and file size.',
247
- '',
248
- '## Agent Workflow',
249
- '',
250
- '1. Confirm the target file exists and is HTML.',
251
- '2. If the user wants a stable URL, use `--slug`.',
252
- '3. If the file already has `pagr-id` or `pagr-slug`, use plain `pagr upload <file>` unless the user asks for a new page.',
253
- '4. If the user explicitly wants to replace an existing page, use:',
254
- '',
255
- '```bash',
256
- 'pagr upload <file> --update --slug <slug>',
257
- '```',
258
- '',
259
- '5. Return the URL printed by the CLI.',
260
- '6. In CI, capture `PAGR_URL`.',
261
- ].join('\n') + '\n';
262
- const CLAUDE_SKILL_MD = SKILL_MD;
4
+ import { readConfig } from '../lib/config.js';
5
+ import { writeSkillFiles } from '../lib/skills.js';
263
6
  export const initCommand = defineCommand({
264
7
  meta: {
265
8
  name: 'init',
@@ -281,22 +24,10 @@ export const initCommand = defineCommand({
281
24
  },
282
25
  run({ args }) {
283
26
  const cwd = process.cwd();
284
- writeFileSync(join(cwd, 'SKILL.md'), SKILL_MD, 'utf-8');
285
- console.log('Created SKILL.md');
286
- if (args.claude) {
287
- const claudeSkillsDir = join(cwd, '.claude', 'skills', 'pagr');
288
- if (!existsSync(claudeSkillsDir)) {
289
- mkdirSync(claudeSkillsDir, { recursive: true });
290
- }
291
- writeFileSync(join(claudeSkillsDir, 'SKILL.md'), CLAUDE_SKILL_MD, 'utf-8');
292
- console.log('Created .claude/skills/pagr/SKILL.md');
293
- }
294
- const agentsSkillsDir = join(cwd, '.agents', 'skills', 'pagr');
295
- if (!existsSync(agentsSkillsDir)) {
296
- mkdirSync(agentsSkillsDir, { recursive: true });
297
- }
298
- writeFileSync(join(agentsSkillsDir, 'SKILL.md'), SKILL_MD, 'utf-8');
299
- console.log('Created .agents/skills/pagr/SKILL.md');
27
+ const cfg = readConfig();
28
+ const apiKey = cfg.apiKey;
29
+ writeSkillFiles(cwd, apiKey, args.claude);
30
+ console.log('Created workspace skill files.');
300
31
  if (args.mcp) {
301
32
  writeClaudeMcpSettings(cwd);
302
33
  console.log('Updated .claude/settings.json with the Pagr MCP server');
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAOlD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0CAA0C;KACxD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,mCAAmC;YAChD,mBAAmB,EAAE,0CAA0C;SAChE;QACD,GAAG,EAAE;YACH,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,0CAA0C;YACvD,mBAAmB,EAAE,iDAAiD;SACvE;KACF;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACV,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAE7C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,sBAAsB,CAAC,GAAG,CAAC,CAAA;YAC3B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;QAC7D,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;IAC1E,CAAC;CACF,CAAC,CAAA;AAEF,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;IACjD,QAAQ,CAAC,UAAU,GAAG;QACpB,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC9B,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;SAC1B;KACF,CAAA;IAED,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAA;IAExC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAmB,CAAA;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,mBAAmB,YAAY,mDAAmD,CAAC,CAAA;QAChG,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CASlF;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAmC3E;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA8B3E;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8BnF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM1G;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAYvG;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAEzI"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAqBD,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CASlF;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAmC3E;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA8B3E;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8BnF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM1G;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAYvG;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAEzI"}
package/dist/lib/api.js CHANGED
@@ -1,5 +1,20 @@
1
+ // Rotate this token on each published @pagr/cli release:
2
+ // node packages/cli/generate-waf-token.mjs
3
+ // Then update the Cloudflare WAF Custom Rule expression for pagr.link to match.
4
+ // A stale token causes Cloudflare to return a non-JSON 403, which
5
+ // pagrFetch() converts into an actionable "please update" error.
6
+ const WAF_BYPASS_TOKEN = 'moden-eng';
7
+ async function pagrFetch(url, init) {
8
+ const headers = new Headers(init?.headers);
9
+ headers.set('X-Pagr-Token', WAF_BYPASS_TOKEN);
10
+ const res = await fetch(url, { ...init, headers });
11
+ if (res.status === 403 && !res.headers.get('content-type')?.includes('application/json')) {
12
+ throw new Error('Your @pagr/cli package is outdated and blocked by the server. Please update: npm install -g @pagr/cli');
13
+ }
14
+ return res;
15
+ }
1
16
  export async function getUser(apiKey, workerUrl) {
2
- const res = await fetch(`${workerUrl}/api/user`, {
17
+ const res = await pagrFetch(`${workerUrl}/api/user`, {
3
18
  headers: { 'Authorization': `Bearer ${apiKey}` },
4
19
  });
5
20
  if (!res.ok) {
@@ -20,7 +35,7 @@ export async function uploadFile(opts) {
20
35
  headers['X-Pagr-TTL'] = opts.ttl;
21
36
  if (opts.hideBanner)
22
37
  headers['X-Pagr-Hide-Banner'] = 'true';
23
- const res = await fetch(`${opts.workerUrl}/api/upload`, {
38
+ const res = await pagrFetch(`${opts.workerUrl}/api/upload`, {
24
39
  method: 'POST',
25
40
  headers,
26
41
  body: opts.html,
@@ -52,7 +67,7 @@ export async function updateFile(opts) {
52
67
  headers['X-Pagr-Title'] = opts.title;
53
68
  if (opts.hideBanner !== undefined)
54
69
  headers['X-Pagr-Hide-Banner'] = String(opts.hideBanner);
55
- const res = await fetch(`${opts.workerUrl}/api/upload/${opts.slug}`, {
70
+ const res = await pagrFetch(`${opts.workerUrl}/api/upload/${opts.slug}`, {
56
71
  method: 'PUT',
57
72
  headers,
58
73
  body: opts.html,
@@ -79,7 +94,7 @@ export async function updateFileById(opts) {
79
94
  headers['X-Pagr-Title'] = opts.title;
80
95
  if (opts.hideBanner !== undefined)
81
96
  headers['X-Pagr-Hide-Banner'] = String(opts.hideBanner);
82
- const res = await fetch(`${opts.workerUrl}/api/upload/id/${opts.documentId}`, {
97
+ const res = await pagrFetch(`${opts.workerUrl}/api/upload/id/${opts.documentId}`, {
83
98
  method: 'PUT',
84
99
  headers,
85
100
  body: opts.html,
@@ -98,7 +113,7 @@ export async function updateFileById(opts) {
98
113
  return result;
99
114
  }
100
115
  export async function checkSlugOwnership(slug, apiKey, workerUrl) {
101
- const res = await fetch(`${workerUrl}/api/files/${encodeURIComponent(slug)}`, {
116
+ const res = await pagrFetch(`${workerUrl}/api/files/${encodeURIComponent(slug)}`, {
102
117
  headers: { 'Authorization': `Bearer ${apiKey}` },
103
118
  });
104
119
  if (res.status === 404)
@@ -106,7 +121,7 @@ export async function checkSlugOwnership(slug, apiKey, workerUrl) {
106
121
  return res.ok;
107
122
  }
108
123
  export async function listFiles(apiKey, workerUrl, limit = 100) {
109
- const res = await fetch(`${workerUrl}/api/files?limit=${limit}`, {
124
+ const res = await pagrFetch(`${workerUrl}/api/files?limit=${limit}`, {
110
125
  headers: { 'Authorization': `Bearer ${apiKey}` },
111
126
  });
112
127
  if (!res.ok) {
@@ -117,7 +132,7 @@ export async function listFiles(apiKey, workerUrl, limit = 100) {
117
132
  return data.files;
118
133
  }
119
134
  export async function deleteFile(slug, apiKey, workerUrl) {
120
- const res = await fetch(`${workerUrl}/api/files/${slug}`, {
135
+ const res = await pagrFetch(`${workerUrl}/api/files/${slug}`, {
121
136
  method: 'DELETE',
122
137
  headers: { 'Authorization': `Bearer ${apiKey}` },
123
138
  });
@@ -130,7 +145,7 @@ export async function renameFile(slug, nextSlug, apiKey, workerUrl, title) {
130
145
  return patchFileMeta({ slug, nextSlug, title, apiKey, workerUrl });
131
146
  }
132
147
  async function patchFileMeta(opts) {
133
- const res = await fetch(`${opts.workerUrl}/api/files/${opts.slug}`, {
148
+ const res = await pagrFetch(`${opts.workerUrl}/api/files/${opts.slug}`, {
134
149
  method: 'PATCH',
135
150
  headers: {
136
151
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const getSkillTemplate: (apiKey?: string) => string;
2
+ export declare function writeSkillFiles(cwd: string, apiKey?: string, writeClaude?: boolean): void;
3
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,GAAI,SAAQ,MAAoB,KAAG,MA+Q/D,CAAA;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,IAAI,CAqB/F"}
@@ -0,0 +1,294 @@
1
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ export const getSkillTemplate = (apiKey = '{api_key}') => {
4
+ return [
5
+ '# Pagr CLI Skill',
6
+ '',
7
+ 'Use this skill when the user wants to publish, update, list, delete, or manage HTML files with the Pagr CLI or through the remote MCP server.',
8
+ '',
9
+ '## When To Use This Skill',
10
+ '',
11
+ '- Publishing generated HTML reports, dashboards, documents, or plans.',
12
+ '- Updating existing published Pagr pages while keeping the same public URL.',
13
+ '- Creating shareable URLs for local HTML artifacts.',
14
+ '- Listing or deleting Pagr files from a user account.',
15
+ '- Setting up Pagr in a project for agent workflows.',
16
+ '- Publishing HTML artifacts from CI.',
17
+ '- Using the remote MCP server to publish HTML reports.',
18
+ '',
19
+ '## Core Rules',
20
+ '',
21
+ '- Use `pagr upload <file>` for HTML files.',
22
+ '- Never invent a Pagr URL. Always return the URL printed by the CLI.',
23
+ '- If a file contains `<meta name="pagr-id">` or `<meta name="pagr-slug">`, `pagr upload <file>` may update the existing page instead of creating a new one.',
24
+ '- Updates replace the current HTML in place. Pagr does not store previous HTML versions or rollback history.',
25
+ '- Prefer `PAGR_API_KEY` in CI instead of writing `~/.pagr/config.json`.',
26
+ '- Do not print or expose full API keys unless the user explicitly asks to configure authentication.',
27
+ '- If upload, update, list, or delete fails, surface the exact CLI/API error.',
28
+ '',
29
+ '## Remote MCP Server (SSE)',
30
+ '',
31
+ 'You can connect to Pagr\'s remote Model Context Protocol (MCP) server over SSE (Server-Sent Events) to allow any MCP-compatible agent to publish files directly.',
32
+ '',
33
+ 'The remote MCP server endpoint is:',
34
+ '```text',
35
+ `https://mcp.getpagr.co/mcp?PAGR_API_KEY=${apiKey}`,
36
+ '```',
37
+ '',
38
+ 'When using an MCP-compatible client (like Claude.ai Web App Custom Connectors, Cursor IDE, or others), configure the Server URL pointing to the endpoint above. This allows the client to call tools like `upload_file` and publish pages seamlessly.',
39
+ '',
40
+ '## Installation',
41
+ '',
42
+ '```bash',
43
+ 'npm install -g @getpagr/cli',
44
+ '```',
45
+ '',
46
+ 'Pagr CLI requires Node.js 20 or newer. The installed command is `pagr`.',
47
+ '',
48
+ '## Authentication',
49
+ '',
50
+ 'Browser login:',
51
+ '',
52
+ '```bash',
53
+ 'pagr login',
54
+ '```',
55
+ '',
56
+ '`pagr login` starts a browser login flow, authenticates with Pagr, receives a CLI API key through a local callback, and saves it to `~/.pagr/config.json`.',
57
+ '',
58
+ 'Manual login for SSH, headless, or locked-down environments:',
59
+ '',
60
+ '```bash',
61
+ 'pagr login --manual',
62
+ '```',
63
+ '',
64
+ 'Save a key without prompting:',
65
+ '',
66
+ '```bash',
67
+ 'pagr login --key pagr_...',
68
+ '```',
69
+ '',
70
+ 'Set a key directly in local config:',
71
+ '',
72
+ '```bash',
73
+ 'pagr config set-key pagr_...',
74
+ '```',
75
+ '',
76
+ 'API keys must start with `pagr_`.',
77
+ '',
78
+ 'Config location:',
79
+ '',
80
+ '```text',
81
+ '~/.pagr/config.json',
82
+ '```',
83
+ '',
84
+ 'Auth lookup order:',
85
+ '',
86
+ '1. `PAGR_API_KEY`',
87
+ '2. `~/.pagr/config.json`',
88
+ '3. Error if neither exists',
89
+ '',
90
+ '## Upload New HTML',
91
+ '',
92
+ '```bash',
93
+ 'pagr upload report.html',
94
+ '```',
95
+ '',
96
+ 'Behavior:',
97
+ '',
98
+ '- Reads the local HTML file as UTF-8.',
99
+ '- Uploads raw HTML to Pagr.',
100
+ '- Prints the public URL.',
101
+ '- Copies the URL to the clipboard when supported.',
102
+ '- When `CI` is set, also prints:',
103
+ '',
104
+ '```text',
105
+ 'PAGR_SLUG=...',
106
+ 'PAGR_URL=...',
107
+ '```',
108
+ '',
109
+ '## Upload With Title And Slug',
110
+ '',
111
+ 'Set a page title:',
112
+ '',
113
+ '```bash',
114
+ 'pagr upload report.html --title "Weekly report"',
115
+ 'pagr upload report.html -t "Weekly report"',
116
+ '```',
117
+ '',
118
+ 'Request a stable readable slug:',
119
+ '',
120
+ '```bash',
121
+ 'pagr upload report.html --slug weekly-report',
122
+ 'pagr upload report.html -s weekly-report',
123
+ '```',
124
+ '',
125
+ 'Use both:',
126
+ '',
127
+ '```bash',
128
+ 'pagr upload report.html --slug weekly-report --title "Weekly report"',
129
+ '```',
130
+ '',
131
+ '`--title` sends `X-Pagr-Title`. `--slug` requests a stable readable URL. Custom slugs can be plan-gated.',
132
+ '',
133
+ '## Update Existing Pages',
134
+ '',
135
+ '```bash',
136
+ 'pagr upload report.html --update --slug weekly-report',
137
+ 'pagr upload report.html -u -s weekly-report',
138
+ '```',
139
+ '',
140
+ 'Behavior:',
141
+ '',
142
+ '- Checks slug ownership first.',
143
+ '- Fails if the slug is missing or not owned by the authenticated user.',
144
+ '- Sends replacement HTML to the existing page.',
145
+ '- Keeps the public URL stable.',
146
+ '- Replaces current content in place; this is not versioning.',
147
+ '',
148
+ '## Auto-Update With Meta Tags',
149
+ '',
150
+ '```html',
151
+ '<meta name="pagr-id" content="...">',
152
+ '<meta name="pagr-slug" content="weekly-report">',
153
+ '```',
154
+ '',
155
+ 'Update priority:',
156
+ '',
157
+ '1. `pagr-id` updates by stable document ID.',
158
+ '2. `pagr-slug` updates by slug.',
159
+ '3. `--update --slug` forces update by slug.',
160
+ '4. Otherwise a new file is uploaded.',
161
+ '',
162
+ 'Inject Pagr metadata into the source file:',
163
+ '',
164
+ '```bash',
165
+ 'pagr upload report.html --inject',
166
+ '```',
167
+ '',
168
+ '`--inject` writes Pagr metadata into the local HTML source after upload. If a new upload has no `pagr-slug`, the CLI auto-injects metadata for future updates. This modifies the local source HTML file.',
169
+ '',
170
+ '## List Files',
171
+ '',
172
+ '```bash',
173
+ 'pagr ls',
174
+ 'pagr ls --limit 20',
175
+ '```',
176
+ '',
177
+ 'Default limit is 50. Output includes slug, views, plan, title, and URL. If no files exist, the CLI prints `No files found.`',
178
+ '',
179
+ '## Delete Files',
180
+ '',
181
+ '```bash',
182
+ 'pagr rm weekly-report',
183
+ 'pagr rm weekly-report --yes',
184
+ 'pagr rm weekly-report -y',
185
+ '```',
186
+ '',
187
+ 'Without `--yes`, the CLI asks for confirmation and accepts `y` or `yes`. Delete is not reversible.',
188
+ '',
189
+ '## Config Commands',
190
+ '',
191
+ '```bash',
192
+ 'pagr config show',
193
+ 'pagr config set-key pagr_...',
194
+ 'pagr config set-url https://pagr.link',
195
+ '```',
196
+ '',
197
+ '`pagr config show` masks the API key. `set-key` requires a `pagr_` prefix. `set-url` overrides the Worker API URL in local config. Environment variables override local config.',
198
+ '',
199
+ '## Init Command',
200
+ '',
201
+ '```bash',
202
+ 'pagr init',
203
+ 'pagr init --no-claude',
204
+ 'pagr init --no-mcp',
205
+ '```',
206
+ '',
207
+ '`pagr init` writes:',
208
+ '',
209
+ '- `SKILL.md`',
210
+ '- `.claude/skills/pagr/SKILL.md` unless `--no-claude`',
211
+ '- `.agents/skills/pagr/SKILL.md`',
212
+ '- `.claude/settings.json` MCP server config unless `--no-mcp`',
213
+ '',
214
+ 'MCP config:',
215
+ '',
216
+ '```json',
217
+ '{',
218
+ ' "mcpServers": {',
219
+ ' "pagr": {',
220
+ ' "command": "npx",',
221
+ ' "args": ["-y", "@pagr/mcp"]',
222
+ ' }',
223
+ ' }',
224
+ '}',
225
+ '```',
226
+ '',
227
+ '## CI Usage',
228
+ '',
229
+ 'Use `PAGR_API_KEY` in CI. Do not write `~/.pagr/config.json` in CI.',
230
+ '',
231
+ '```yaml',
232
+ '- name: Publish HTML report',
233
+ ' run: pagr upload output/report.html --title "Nightly report"',
234
+ ' env:',
235
+ ' PAGR_API_KEY: ${{ secrets.PAGR_API_KEY }}',
236
+ '```',
237
+ '',
238
+ 'When `CI` is set, use the machine-readable `PAGR_SLUG` and `PAGR_URL` output lines.',
239
+ '',
240
+ '## Environment Variables',
241
+ '',
242
+ '- `PAGR_API_KEY`: overrides the locally saved key.',
243
+ '- `PAGR_WORKER_URL`: overrides the Worker API URL. Default is `https://pagr.link`.',
244
+ '- `PAGR_APP_URL`: overrides the app URL used by `pagr login`. Default is `https://app.getpagr.co`.',
245
+ '- `CI`: makes upload print machine-readable `PAGR_SLUG` and `PAGR_URL`.',
246
+ '',
247
+ '## Error Handling',
248
+ '',
249
+ 'Common failures:',
250
+ '',
251
+ '- Missing API key: run `pagr login`, run `pagr login --manual`, or set `PAGR_API_KEY`.',
252
+ '- Invalid API key format: keys must start with `pagr_`.',
253
+ '- Cannot read file: confirm the path exists and points to an HTML file.',
254
+ '- Slug not found or not owned during update: upload without `--update` or use the correct slug.',
255
+ '- Upload/update/list/delete API errors: surface the exact CLI error.',
256
+ '- Clipboard failure does not fail upload; the URL is still printed.',
257
+ '',
258
+ 'If browser login fails, use `pagr login --manual`. If upload fails due to plan or file limit, surface the CLI error and tell the user to check account plan and file size.',
259
+ '',
260
+ '## Agent Workflow',
261
+ '',
262
+ '1. Confirm the target file exists and is HTML.',
263
+ '2. If the user wants a stable URL, use `--slug`.',
264
+ '3. If the file already has `pagr-id` or `pagr-slug`, use plain `pagr upload <file>` unless the user asks for a new page.',
265
+ '4. If the user explicitly wants to replace an existing page, use:',
266
+ '',
267
+ '```bash',
268
+ 'pagr upload <file> --update --slug <slug>',
269
+ '```',
270
+ '',
271
+ '5. Return the URL printed by the CLI.',
272
+ '6. In CI, capture `PAGR_URL`.',
273
+ ].join('\n') + '\n';
274
+ };
275
+ export function writeSkillFiles(cwd, apiKey, writeClaude = true) {
276
+ const content = getSkillTemplate(apiKey);
277
+ // 1. Write root SKILL.md
278
+ writeFileSync(join(cwd, 'SKILL.md'), content, 'utf-8');
279
+ // 2. Write .claude/skills/pagr/SKILL.md
280
+ if (writeClaude) {
281
+ const claudeSkillsDir = join(cwd, '.claude', 'skills', 'pagr');
282
+ if (!existsSync(claudeSkillsDir)) {
283
+ mkdirSync(claudeSkillsDir, { recursive: true });
284
+ }
285
+ writeFileSync(join(claudeSkillsDir, 'SKILL.md'), content, 'utf-8');
286
+ }
287
+ // 3. Write .agents/skills/pagr/SKILL.md
288
+ const agentsSkillsDir = join(cwd, '.agents', 'skills', 'pagr');
289
+ if (!existsSync(agentsSkillsDir)) {
290
+ mkdirSync(agentsSkillsDir, { recursive: true });
291
+ }
292
+ writeFileSync(join(agentsSkillsDir, 'SKILL.md'), content, 'utf-8');
293
+ }
294
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpagr/cli",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Upload and manage HTML files from the command line. Visit getpagr.co for more information.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -41,7 +41,8 @@
41
41
  "dev": "tsc --watch",
42
42
  "test": "vitest run",
43
43
  "typecheck": "tsc --noEmit",
44
- "prepublishOnly": "pnpm run build && pnpm run typecheck"
44
+ "prepublishOnly": "pnpm run build && pnpm run typecheck",
45
+ "generate-waf-token": "node generate-waf-token.mjs"
45
46
  },
46
47
  "dependencies": {
47
48
  "citty": "^0.2.2"