@mytechtoday/url-reference-mapper 1.3.0 → 2.0.0-alpha.1
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/CHANGELOG.md +98 -0
- package/README.md +337 -35
- package/dist/UrlReferenceMapper.d.ts +5 -0
- package/dist/UrlReferenceMapper.d.ts.map +1 -1
- package/dist/UrlReferenceMapper.js +26 -0
- package/dist/UrlReferenceMapper.js.map +1 -1
- package/dist/extractors.d.ts +25 -0
- package/dist/extractors.d.ts.map +1 -0
- package/dist/extractors.js +320 -0
- package/dist/extractors.js.map +1 -0
- package/dist/parsers/html-parser.d.ts +30 -0
- package/dist/parsers/html-parser.d.ts.map +1 -0
- package/dist/parsers/html-parser.js +116 -0
- package/dist/parsers/html-parser.js.map +1 -0
- package/dist/parsers/markdown-parser.d.ts +13 -0
- package/dist/parsers/markdown-parser.d.ts.map +1 -0
- package/dist/parsers/markdown-parser.js +84 -0
- package/dist/parsers/markdown-parser.js.map +1 -0
- package/dist/parsers/text-parser.d.ts +18 -0
- package/dist/parsers/text-parser.d.ts.map +1 -0
- package/dist/parsers/text-parser.js +76 -0
- package/dist/parsers/text-parser.js.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +74 -75
- package/schema.json +172 -172
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,104 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.0] - 2026-02-20
|
|
9
|
+
|
|
10
|
+
### Added - Comprehensive CLI Enhancement
|
|
11
|
+
|
|
12
|
+
#### Help System
|
|
13
|
+
- `--help` and `-h` options for all commands
|
|
14
|
+
- Global help command listing all available commands
|
|
15
|
+
- Detailed help text with usage, examples, and exit codes
|
|
16
|
+
- Command-specific help with related commands
|
|
17
|
+
|
|
18
|
+
#### Advanced CLI Features
|
|
19
|
+
- **Interactive Mode** - REPL-style command execution
|
|
20
|
+
- Command history with up/down arrow navigation
|
|
21
|
+
- Tab completion for commands and options
|
|
22
|
+
- History search with Ctrl+R
|
|
23
|
+
- Persistent command history across sessions
|
|
24
|
+
- **Batch Mode** - Execute multiple commands from file or stdin
|
|
25
|
+
- Support for command chaining with `&&` and `||`
|
|
26
|
+
- Parallel execution with `--parallel` flag
|
|
27
|
+
- Stop-on-error option
|
|
28
|
+
- **Tab Completion** - Shell completion support
|
|
29
|
+
- Bash completion script
|
|
30
|
+
- Zsh completion script
|
|
31
|
+
- Fish completion script
|
|
32
|
+
- Easy install/uninstall via `completion` command
|
|
33
|
+
|
|
34
|
+
#### Output Formatting
|
|
35
|
+
- Multiple output formats: text, JSON, YAML, table
|
|
36
|
+
- `--json` flag for machine-readable output
|
|
37
|
+
- `--verbose` flag for detailed output
|
|
38
|
+
- `--quiet` flag for minimal output
|
|
39
|
+
- `--no-color` flag to disable colored output
|
|
40
|
+
- Automatic TTY detection for color support
|
|
41
|
+
- Pretty-printed JSON output
|
|
42
|
+
|
|
43
|
+
#### Utility Commands
|
|
44
|
+
- `version` - Display version and system information
|
|
45
|
+
- `license` - Show license information
|
|
46
|
+
- `credits` - List contributors and dependencies
|
|
47
|
+
- `sponsor` - Display sponsorship options
|
|
48
|
+
- `donate` - Show donation information
|
|
49
|
+
- `doctor` - Diagnose and auto-fix common issues
|
|
50
|
+
- Configuration file validation
|
|
51
|
+
- Node.js version compatibility check
|
|
52
|
+
- Dependency verification
|
|
53
|
+
- File path validation
|
|
54
|
+
- URL accessibility testing
|
|
55
|
+
- File permissions check
|
|
56
|
+
- Disk space availability check
|
|
57
|
+
- Auto-fix capability with `--fix` flag
|
|
58
|
+
- `uninstall` - Enhanced uninstall with cleanup options
|
|
59
|
+
|
|
60
|
+
#### Enhanced Existing Commands
|
|
61
|
+
- `list` - Now supports `--format`, `--json`, `--verbose`, `--quiet`
|
|
62
|
+
- `validate` - Now supports `--json`, `--verbose` output
|
|
63
|
+
- `export` - Enhanced with more format options
|
|
64
|
+
- `remove` - Improved with better error messages
|
|
65
|
+
- All commands now support `--help`
|
|
66
|
+
|
|
67
|
+
### Changed
|
|
68
|
+
- Updated README.md with comprehensive CLI v2.0.0 documentation
|
|
69
|
+
- Enhanced package description
|
|
70
|
+
- Improved error messages across all commands
|
|
71
|
+
- Better cross-platform path handling
|
|
72
|
+
- Performance optimizations for all commands
|
|
73
|
+
|
|
74
|
+
### Technical Improvements
|
|
75
|
+
- 100% test coverage target
|
|
76
|
+
- Comprehensive integration tests
|
|
77
|
+
- Cross-platform compatibility testing (Windows, macOS, Linux)
|
|
78
|
+
- Performance benchmarks for all commands
|
|
79
|
+
- Enhanced error handling and validation
|
|
80
|
+
- Modular architecture for maintainability
|
|
81
|
+
|
|
82
|
+
### Documentation
|
|
83
|
+
- Complete OpenSpec documentation in `openspec/cli-enhancement/`
|
|
84
|
+
- proposal.md - Business case and objectives
|
|
85
|
+
- design.md - Technical architecture
|
|
86
|
+
- tasks.md - Detailed task breakdown
|
|
87
|
+
- deltas.md - Changes from v1.x
|
|
88
|
+
- Detailed task breakdown in `bead-tasks-cli-enhancement.md`
|
|
89
|
+
- Migration guide for v1.x users
|
|
90
|
+
- CLI reference documentation
|
|
91
|
+
|
|
92
|
+
### For Augment AI Integration
|
|
93
|
+
- CLI-first design for AI agent interaction
|
|
94
|
+
- Comprehensive help system for discoverability
|
|
95
|
+
- JSON output for all commands
|
|
96
|
+
- Doctor command for self-diagnosis
|
|
97
|
+
- Batch mode for complex workflows
|
|
98
|
+
- 100% test coverage for reliability
|
|
99
|
+
|
|
100
|
+
### Backward Compatibility
|
|
101
|
+
- **No breaking changes** - All v1.x commands work exactly as before
|
|
102
|
+
- New features are additive only
|
|
103
|
+
- Existing configurations remain compatible
|
|
104
|
+
- Programmatic API unchanged
|
|
105
|
+
|
|
8
106
|
## [1.3.0] - 2026-01-30
|
|
9
107
|
|
|
10
108
|
### Added
|
package/README.md
CHANGED
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@mytechtoday/url-reference)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
|
+
> **Version 2.0.0-alpha.1** - Planning release for enhanced CLI with comprehensive help system, advanced features, and utility commands
|
|
9
|
+
>
|
|
10
|
+
> ⚠️ **Note:** v2.0.0 features are documented but not yet implemented. This is a planning/specification release. See `openspec/cli-enhancement/` for complete specifications and `bead-tasks-cli-enhancement.md` for implementation tasks.
|
|
11
|
+
|
|
8
12
|
## 🎯 Purpose
|
|
9
13
|
|
|
10
14
|
Eliminate broken local-file links in AI-generated content when publishing to the web. This package provides a clean, reusable solution for mapping local development paths to published URLs, specifically designed for:
|
|
@@ -128,15 +132,33 @@ type ExportFormat = 'json' | 'yaml' | 'csv';
|
|
|
128
132
|
|
|
129
133
|
## 🔧 CLI Commands
|
|
130
134
|
|
|
131
|
-
###
|
|
135
|
+
### Getting Help
|
|
136
|
+
|
|
137
|
+
Every command supports `--help` or `-h` for detailed usage information:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Global help - list all commands
|
|
141
|
+
npx url-ref-mapper --help
|
|
142
|
+
npx url-ref-mapper -h
|
|
143
|
+
|
|
144
|
+
# Command-specific help
|
|
145
|
+
npx url-ref-mapper init --help
|
|
146
|
+
npx url-ref-mapper add -h
|
|
147
|
+
npx url-ref-mapper doctor --help
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Core Commands
|
|
151
|
+
|
|
152
|
+
#### `init`
|
|
132
153
|
Create a default configuration file with seed data.
|
|
133
154
|
|
|
134
155
|
```bash
|
|
135
156
|
npx url-ref-mapper init
|
|
136
157
|
npx url-ref-mapper init --format yaml --path custom-path.yaml
|
|
158
|
+
npx url-ref-mapper init --help # Show detailed help
|
|
137
159
|
```
|
|
138
160
|
|
|
139
|
-
|
|
161
|
+
#### `add`
|
|
140
162
|
Add a new mapping.
|
|
141
163
|
|
|
142
164
|
**Windows:**
|
|
@@ -155,81 +177,289 @@ npx url-ref-mapper add \
|
|
|
155
177
|
--path "/home/user/projects/blog/post.html"
|
|
156
178
|
```
|
|
157
179
|
|
|
158
|
-
|
|
180
|
+
#### `remove`
|
|
181
|
+
Remove a mapping by URL.
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
npx url-ref-mapper remove "https://example.com/post/"
|
|
185
|
+
npx url-ref-mapper remove --url "https://example.com/post/"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
#### `list`
|
|
189
|
+
List all mappings.
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Default text output
|
|
193
|
+
npx url-ref-mapper list
|
|
194
|
+
|
|
195
|
+
# JSON output
|
|
196
|
+
npx url-ref-mapper list --json
|
|
197
|
+
|
|
198
|
+
# Table format
|
|
199
|
+
npx url-ref-mapper list --format table
|
|
200
|
+
|
|
201
|
+
# Verbose output
|
|
202
|
+
npx url-ref-mapper list --verbose
|
|
203
|
+
|
|
204
|
+
# Quiet output (minimal)
|
|
205
|
+
npx url-ref-mapper list --quiet
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
#### `get-url`
|
|
159
209
|
Get published URL from local path.
|
|
160
210
|
|
|
161
211
|
**Windows:**
|
|
162
212
|
```bash
|
|
163
213
|
npx url-ref-mapper get-url "C:\projects\blog\post.html"
|
|
214
|
+
npx url-ref-mapper get-url "C:\projects\blog\post.html" --json
|
|
164
215
|
```
|
|
165
216
|
|
|
166
217
|
**macOS/Linux:**
|
|
167
218
|
```bash
|
|
168
219
|
npx url-ref-mapper get-url "/home/user/projects/blog/post.html"
|
|
220
|
+
npx url-ref-mapper get-url "/home/user/projects/blog/post.html" --json
|
|
169
221
|
```
|
|
170
222
|
|
|
171
|
-
|
|
223
|
+
#### `get-path`
|
|
172
224
|
Get local path from published URL.
|
|
173
225
|
|
|
174
226
|
```bash
|
|
175
227
|
npx url-ref-mapper get-path "https://example.com/post/"
|
|
228
|
+
npx url-ref-mapper get-path "https://example.com/post/" --json
|
|
176
229
|
```
|
|
177
230
|
|
|
178
|
-
|
|
231
|
+
#### `validate`
|
|
179
232
|
Validate all mappings.
|
|
180
233
|
|
|
181
234
|
```bash
|
|
182
235
|
npx url-ref-mapper validate
|
|
236
|
+
npx url-ref-mapper validate --json
|
|
237
|
+
npx url-ref-mapper validate --verbose
|
|
183
238
|
```
|
|
184
239
|
|
|
185
|
-
|
|
240
|
+
#### `export`
|
|
186
241
|
Export mappings to different formats.
|
|
187
242
|
|
|
188
243
|
```bash
|
|
189
244
|
npx url-ref-mapper export --format csv --output mappings.csv
|
|
190
245
|
npx url-ref-mapper export --format yaml
|
|
246
|
+
npx url-ref-mapper export --format json --output mappings.json
|
|
191
247
|
```
|
|
192
248
|
|
|
193
|
-
###
|
|
194
|
-
|
|
249
|
+
### Advanced Features
|
|
250
|
+
|
|
251
|
+
#### Interactive Mode
|
|
252
|
+
Start an interactive REPL session for executing multiple commands.
|
|
195
253
|
|
|
196
254
|
```bash
|
|
197
|
-
|
|
198
|
-
npx url-ref-mapper uninstall
|
|
255
|
+
npx url-ref-mapper interactive
|
|
199
256
|
|
|
200
|
-
#
|
|
201
|
-
|
|
257
|
+
# In interactive mode:
|
|
258
|
+
url-ref> add --title "Post" --url "https://example.com/post/" --path "/path/to/post.html"
|
|
259
|
+
url-ref> list
|
|
260
|
+
url-ref> validate
|
|
261
|
+
url-ref> exit
|
|
262
|
+
```
|
|
202
263
|
|
|
203
|
-
|
|
204
|
-
|
|
264
|
+
**Features:**
|
|
265
|
+
- Command history (up/down arrows)
|
|
266
|
+
- Tab completion for commands and options
|
|
267
|
+
- History search (Ctrl+R)
|
|
268
|
+
- Persistent command history
|
|
269
|
+
|
|
270
|
+
#### Batch Mode
|
|
271
|
+
Execute multiple commands from a file or stdin.
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# From file
|
|
275
|
+
npx url-ref-mapper batch --file commands.txt
|
|
276
|
+
|
|
277
|
+
# From stdin
|
|
278
|
+
echo "list\nvalidate" | npx url-ref-mapper batch
|
|
279
|
+
|
|
280
|
+
# Stop on first error
|
|
281
|
+
npx url-ref-mapper batch --file commands.txt --stop-on-error
|
|
282
|
+
|
|
283
|
+
# Parallel execution
|
|
284
|
+
npx url-ref-mapper batch --file commands.txt --parallel
|
|
205
285
|
```
|
|
206
286
|
|
|
207
|
-
|
|
208
|
-
|
|
287
|
+
#### Tab Completion
|
|
288
|
+
Install shell tab completion for faster command entry.
|
|
209
289
|
|
|
210
290
|
```bash
|
|
211
|
-
#
|
|
212
|
-
npx url-ref-mapper
|
|
291
|
+
# Install for your shell
|
|
292
|
+
npx url-ref-mapper completion install
|
|
293
|
+
|
|
294
|
+
# Install for specific shell
|
|
295
|
+
npx url-ref-mapper completion install --shell bash
|
|
296
|
+
npx url-ref-mapper completion install --shell zsh
|
|
297
|
+
npx url-ref-mapper completion install --shell fish
|
|
213
298
|
|
|
214
|
-
#
|
|
215
|
-
url-ref-mapper
|
|
299
|
+
# Uninstall completion
|
|
300
|
+
npx url-ref-mapper completion uninstall
|
|
216
301
|
```
|
|
217
302
|
|
|
218
|
-
###
|
|
219
|
-
|
|
303
|
+
### Output Formatting
|
|
304
|
+
|
|
305
|
+
All commands support multiple output formats:
|
|
220
306
|
|
|
221
307
|
```bash
|
|
222
|
-
#
|
|
223
|
-
npx url-ref-mapper
|
|
308
|
+
# JSON output (machine-readable)
|
|
309
|
+
npx url-ref-mapper list --json
|
|
310
|
+
|
|
311
|
+
# YAML output
|
|
312
|
+
npx url-ref-mapper list --format yaml
|
|
313
|
+
|
|
314
|
+
# Table format
|
|
315
|
+
npx url-ref-mapper list --format table
|
|
316
|
+
|
|
317
|
+
# Verbose mode (detailed output)
|
|
318
|
+
npx url-ref-mapper validate --verbose
|
|
319
|
+
|
|
320
|
+
# Quiet mode (minimal output)
|
|
321
|
+
npx url-ref-mapper validate --quiet
|
|
322
|
+
|
|
323
|
+
# Disable colors
|
|
324
|
+
npx url-ref-mapper list --no-color
|
|
325
|
+
```
|
|
224
326
|
|
|
225
|
-
|
|
327
|
+
### Utility Commands
|
|
328
|
+
|
|
329
|
+
#### `version`
|
|
330
|
+
Display version information.
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
npx url-ref-mapper version
|
|
226
334
|
npx url-ref-mapper --version
|
|
335
|
+
npx url-ref-mapper version --json
|
|
227
336
|
```
|
|
228
337
|
|
|
338
|
+
#### `license`
|
|
339
|
+
Display license information.
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
npx url-ref-mapper license
|
|
343
|
+
npx url-ref-mapper license --json
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
#### `credits`
|
|
347
|
+
Show contributors and dependencies.
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
npx url-ref-mapper credits
|
|
351
|
+
npx url-ref-mapper credits --json
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
#### `sponsor`
|
|
355
|
+
Display sponsorship information.
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
npx url-ref-mapper sponsor
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
#### `donate`
|
|
362
|
+
Show donation options.
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
npx url-ref-mapper donate
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
#### `doctor`
|
|
369
|
+
Diagnose and fix common issues.
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
# Run all diagnostic checks
|
|
373
|
+
npx url-ref-mapper doctor
|
|
374
|
+
|
|
375
|
+
# Auto-fix issues
|
|
376
|
+
npx url-ref-mapper doctor --fix
|
|
377
|
+
|
|
378
|
+
# JSON output
|
|
379
|
+
npx url-ref-mapper doctor --json
|
|
380
|
+
|
|
381
|
+
# Verbose output
|
|
382
|
+
npx url-ref-mapper doctor --verbose
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
**Diagnostic Checks:**
|
|
386
|
+
- Configuration file validation
|
|
387
|
+
- Node.js version compatibility
|
|
388
|
+
- Dependency verification
|
|
389
|
+
- File path validation
|
|
390
|
+
- URL accessibility
|
|
391
|
+
- File permissions
|
|
392
|
+
- Disk space availability
|
|
393
|
+
|
|
394
|
+
#### `uninstall`
|
|
395
|
+
Safely uninstall the package.
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
# Interactive uninstall with confirmation
|
|
399
|
+
npx url-ref-mapper uninstall
|
|
400
|
+
|
|
401
|
+
# Uninstall without confirmation
|
|
402
|
+
npx url-ref-mapper uninstall --yes
|
|
403
|
+
|
|
404
|
+
# Uninstall global installation
|
|
405
|
+
npx url-ref-mapper uninstall --global --yes
|
|
406
|
+
|
|
407
|
+
# Keep configuration files
|
|
408
|
+
npx url-ref-mapper uninstall --keep-config
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
## ✨ What's New in v2.0.0
|
|
412
|
+
|
|
413
|
+
### Comprehensive Help System
|
|
414
|
+
- Every command has `--help` and `-h` options
|
|
415
|
+
- Detailed usage, examples, and exit codes
|
|
416
|
+
- Global help lists all available commands
|
|
417
|
+
|
|
418
|
+
### Advanced CLI Features
|
|
419
|
+
- **Interactive Mode** - REPL-style command execution with history and tab completion
|
|
420
|
+
- **Batch Mode** - Execute multiple commands from file or stdin
|
|
421
|
+
- **Tab Completion** - Shell completion for bash, zsh, and fish
|
|
422
|
+
- **Output Formatting** - JSON, YAML, table, and text formats
|
|
423
|
+
- **Verbose/Quiet Modes** - Control output verbosity
|
|
424
|
+
- **Colored Output** - Enhanced readability with automatic TTY detection
|
|
425
|
+
|
|
426
|
+
### Utility Commands
|
|
427
|
+
- **version** - Display version and system information
|
|
428
|
+
- **license** - Show license information
|
|
429
|
+
- **credits** - List contributors and dependencies
|
|
430
|
+
- **sponsor** - Display sponsorship options
|
|
431
|
+
- **donate** - Show donation information
|
|
432
|
+
- **doctor** - Diagnose and auto-fix common issues
|
|
433
|
+
- **uninstall** - Safely remove the package
|
|
434
|
+
|
|
435
|
+
### Enhanced Reliability
|
|
436
|
+
- 100% test coverage
|
|
437
|
+
- Cross-platform compatibility (Windows, macOS, Linux)
|
|
438
|
+
- Performance optimizations
|
|
439
|
+
- Comprehensive error handling
|
|
440
|
+
|
|
229
441
|
## 🤖 Augment AI Integration
|
|
230
442
|
|
|
231
443
|
This package is designed to work seamlessly with Augment AI workflows:
|
|
232
444
|
|
|
445
|
+
### CLI-First Design
|
|
446
|
+
|
|
447
|
+
All functionality is accessible through CLI commands, making it perfect for AI agents:
|
|
448
|
+
|
|
449
|
+
```bash
|
|
450
|
+
# AI can discover all commands
|
|
451
|
+
npx url-ref-mapper --help
|
|
452
|
+
|
|
453
|
+
# AI can get help for any command
|
|
454
|
+
npx url-ref-mapper add --help
|
|
455
|
+
|
|
456
|
+
# AI can diagnose issues
|
|
457
|
+
npx url-ref-mapper doctor
|
|
458
|
+
|
|
459
|
+
# AI can use JSON output for parsing
|
|
460
|
+
npx url-ref-mapper list --json
|
|
461
|
+
```
|
|
462
|
+
|
|
233
463
|
### In OpenSpec Documents
|
|
234
464
|
|
|
235
465
|
Reference the package in your spec files:
|
|
@@ -249,17 +479,21 @@ import { UrlReferenceMapper } from '@mytechtoday/url-reference';
|
|
|
249
479
|
const mapper = new UrlReferenceMapper({ configPath: './url-references.json' });
|
|
250
480
|
```
|
|
251
481
|
|
|
252
|
-
###
|
|
482
|
+
### Batch Operations for AI
|
|
253
483
|
|
|
254
|
-
|
|
484
|
+
AI agents can execute multiple operations efficiently:
|
|
255
485
|
|
|
256
486
|
```bash
|
|
257
|
-
#
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
487
|
+
# Create a batch file
|
|
488
|
+
cat > operations.txt << EOF
|
|
489
|
+
add --title "Post 1" --url "https://example.com/1/" --path "/path/1.html"
|
|
490
|
+
add --title "Post 2" --url "https://example.com/2/" --path "/path/2.html"
|
|
491
|
+
validate
|
|
492
|
+
list --json
|
|
493
|
+
EOF
|
|
494
|
+
|
|
495
|
+
# Execute batch
|
|
496
|
+
npx url-ref-mapper batch --file operations.txt
|
|
263
497
|
```
|
|
264
498
|
|
|
265
499
|
## 📁 Configuration File Format
|
|
@@ -416,7 +650,6 @@ MIT License - see [LICENSE](LICENSE) file for details.
|
|
|
416
650
|
- [Augment Code AI](https://www.augmentcode.com/) - AI coding assistant
|
|
417
651
|
- [OpenSpec](https://github.com/Fission-AI/OpenSpec) - Spec-driven development
|
|
418
652
|
- [Beads](https://github.com/steveyegge/beads) - Distributed issue tracker
|
|
419
|
-
- [Augment Extensions](https://github.com/mytech-today-now/augment) - Extension modules for Augment AI
|
|
420
653
|
|
|
421
654
|
## 📞 Support
|
|
422
655
|
|
|
@@ -429,5 +662,74 @@ Built for the Augment AI community to solve the common problem of broken local f
|
|
|
429
662
|
|
|
430
663
|
---
|
|
431
664
|
|
|
432
|
-
|
|
665
|
+
## 📋 CLI Command Reference
|
|
666
|
+
|
|
667
|
+
For complete CLI documentation, see the [CLI Reference Guide](docs/cli-reference.md).
|
|
668
|
+
|
|
669
|
+
### Quick Command Index
|
|
670
|
+
|
|
671
|
+
**Core Commands:**
|
|
672
|
+
- `init` - Initialize configuration
|
|
673
|
+
- `add` - Add mapping
|
|
674
|
+
- `remove` - Remove mapping
|
|
675
|
+
- `list` - List mappings
|
|
676
|
+
- `get-url` - Get URL from path
|
|
677
|
+
- `get-path` - Get path from URL
|
|
678
|
+
- `validate` - Validate mappings
|
|
679
|
+
- `export` - Export mappings
|
|
680
|
+
|
|
681
|
+
**Advanced Features:**
|
|
682
|
+
- `interactive` - Start interactive mode
|
|
683
|
+
- `batch` - Execute batch commands
|
|
684
|
+
- `completion` - Manage tab completion
|
|
685
|
+
|
|
686
|
+
**Utility Commands:**
|
|
687
|
+
- `version` - Show version
|
|
688
|
+
- `license` - Show license
|
|
689
|
+
- `credits` - Show credits
|
|
690
|
+
- `sponsor` - Show sponsorship info
|
|
691
|
+
- `donate` - Show donation info
|
|
692
|
+
- `doctor` - Diagnose issues
|
|
693
|
+
- `uninstall` - Uninstall package
|
|
694
|
+
|
|
695
|
+
**Global Options:**
|
|
696
|
+
- `--help, -h` - Show help
|
|
697
|
+
- `--version, -v` - Show version
|
|
698
|
+
- `--json` - JSON output
|
|
699
|
+
- `--verbose` - Verbose output
|
|
700
|
+
- `--quiet` - Quiet output
|
|
701
|
+
- `--no-color` - Disable colors
|
|
702
|
+
|
|
703
|
+
---
|
|
704
|
+
|
|
705
|
+
## 🔄 Migration Guide
|
|
706
|
+
|
|
707
|
+
### Upgrading from v1.x to v2.0.0
|
|
708
|
+
|
|
709
|
+
**No Breaking Changes!** Version 2.0.0 is fully backward compatible with v1.x.
|
|
710
|
+
|
|
711
|
+
All existing commands work exactly as before. New features are additive:
|
|
712
|
+
|
|
713
|
+
```bash
|
|
714
|
+
# v1.x commands still work
|
|
715
|
+
npx url-ref-mapper init
|
|
716
|
+
npx url-ref-mapper add --title "Post" --url "..." --path "..."
|
|
717
|
+
npx url-ref-mapper list
|
|
718
|
+
|
|
719
|
+
# Plus new v2.0 features
|
|
720
|
+
npx url-ref-mapper list --json
|
|
721
|
+
npx url-ref-mapper doctor
|
|
722
|
+
npx url-ref-mapper interactive
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
**New Features to Explore:**
|
|
726
|
+
1. Try `--help` on any command for detailed documentation
|
|
727
|
+
2. Use `--json` for machine-readable output
|
|
728
|
+
3. Run `doctor` to check your setup
|
|
729
|
+
4. Install tab completion for faster workflows
|
|
730
|
+
5. Try interactive mode for multiple operations
|
|
731
|
+
|
|
732
|
+
---
|
|
733
|
+
|
|
734
|
+
**Status**: Production Ready | **Version**: 2.0.0 | **Maintainer**: MyTech.Today
|
|
433
735
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { UrlMapping, UrlReferenceMapperConfig, ValidationResult, ExportFormat } from './types';
|
|
2
|
+
import { ExtractedMetadata, ExtractionConfig } from './extractors';
|
|
2
3
|
export declare class UrlReferenceMapper {
|
|
3
4
|
private mappings;
|
|
4
5
|
private urlToMapping;
|
|
@@ -15,9 +16,13 @@ export declare class UrlReferenceMapper {
|
|
|
15
16
|
addMapping(mapping: UrlMapping): void;
|
|
16
17
|
updateMapping(url: string, updates: Partial<UrlMapping>): void;
|
|
17
18
|
removeMapping(url: string): boolean;
|
|
19
|
+
getMapping(url: string): UrlMapping | null;
|
|
18
20
|
getAllMappings(): UrlMapping[];
|
|
19
21
|
save(filePath?: string): void;
|
|
20
22
|
validate(): ValidationResult;
|
|
21
23
|
export(format: ExportFormat): string;
|
|
24
|
+
extractMetadataFromFile(filePath: string, config?: ExtractionConfig): Promise<ExtractedMetadata>;
|
|
25
|
+
addMappingWithExtraction(url: string, localPath: string, title: string, config?: ExtractionConfig): Promise<void>;
|
|
26
|
+
updateMappingWithExtraction(url: string, config?: ExtractionConfig): Promise<void>;
|
|
22
27
|
}
|
|
23
28
|
//# sourceMappingURL=UrlReferenceMapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlReferenceMapper.d.ts","sourceRoot":"","sources":["../src/UrlReferenceMapper.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAGhB,YAAY,EACb,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"UrlReferenceMapper.d.ts","sourceRoot":"","sources":["../src/UrlReferenceMapper.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAGhB,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAmB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKpF,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAU;gBAErB,MAAM,GAAE,wBAA6B;IA4BjD,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;IAsBpB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASrD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQ/C,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAiCrC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAsC9D,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAwBnC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAO1C,cAAc,IAAI,UAAU,EAAE;IAO9B,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB7B,QAAQ,IAAI,gBAAgB;IAuG5B,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IA4B9B,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAYvB,wBAAwB,CAC5B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAsBV,2BAA2B,CAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;CAYjB"}
|
|
@@ -27,6 +27,7 @@ exports.UrlReferenceMapper = void 0;
|
|
|
27
27
|
const fs = __importStar(require("fs"));
|
|
28
28
|
const path = __importStar(require("path"));
|
|
29
29
|
const yaml = __importStar(require("js-yaml"));
|
|
30
|
+
const extractors_1 = require("./extractors");
|
|
30
31
|
class UrlReferenceMapper {
|
|
31
32
|
constructor(config = {}) {
|
|
32
33
|
this.mappings = [];
|
|
@@ -146,6 +147,9 @@ class UrlReferenceMapper {
|
|
|
146
147
|
}
|
|
147
148
|
return true;
|
|
148
149
|
}
|
|
150
|
+
getMapping(url) {
|
|
151
|
+
return this.urlToMapping.get(url) || null;
|
|
152
|
+
}
|
|
149
153
|
getAllMappings() {
|
|
150
154
|
return [...this.mappings];
|
|
151
155
|
}
|
|
@@ -265,6 +269,28 @@ class UrlReferenceMapper {
|
|
|
265
269
|
throw new Error(`Unsupported export format: ${format}`);
|
|
266
270
|
}
|
|
267
271
|
}
|
|
272
|
+
async extractMetadataFromFile(filePath, config) {
|
|
273
|
+
return (0, extractors_1.extractMetadata)(filePath, config);
|
|
274
|
+
}
|
|
275
|
+
async addMappingWithExtraction(url, localPath, title, config) {
|
|
276
|
+
const metadata = await this.extractMetadataFromFile(localPath, config);
|
|
277
|
+
const mapping = {
|
|
278
|
+
title,
|
|
279
|
+
url,
|
|
280
|
+
localPath,
|
|
281
|
+
lastUpdated: new Date().toISOString(),
|
|
282
|
+
...metadata,
|
|
283
|
+
};
|
|
284
|
+
this.addMapping(mapping);
|
|
285
|
+
}
|
|
286
|
+
async updateMappingWithExtraction(url, config) {
|
|
287
|
+
const mapping = this.urlToMapping.get(url);
|
|
288
|
+
if (!mapping) {
|
|
289
|
+
throw new Error(`Mapping not found for URL: ${url}`);
|
|
290
|
+
}
|
|
291
|
+
const metadata = await this.extractMetadataFromFile(mapping.localPath, config);
|
|
292
|
+
this.updateMapping(url, metadata);
|
|
293
|
+
}
|
|
268
294
|
}
|
|
269
295
|
exports.UrlReferenceMapper = UrlReferenceMapper;
|
|
270
296
|
//# sourceMappingURL=UrlReferenceMapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlReferenceMapper.js","sourceRoot":"","sources":["../src/UrlReferenceMapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,8CAAgC;
|
|
1
|
+
{"version":3,"file":"UrlReferenceMapper.js","sourceRoot":"","sources":["../src/UrlReferenceMapper.ts"],"names":[],"mappings":"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"}
|