@ncukondo/reference-manager 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +267 -109
  2. package/dist/chunks/file-watcher-B-SiUw5f.js +1557 -0
  3. package/dist/chunks/file-watcher-B-SiUw5f.js.map +1 -0
  4. package/dist/chunks/{search-Be9vzUIH.js → index-DLIGxQaB.js} +399 -89
  5. package/dist/chunks/index-DLIGxQaB.js.map +1 -0
  6. package/dist/chunks/loader-DuzyKV70.js +394 -0
  7. package/dist/chunks/loader-DuzyKV70.js.map +1 -0
  8. package/dist/cli/commands/add.d.ts +3 -3
  9. package/dist/cli/commands/add.d.ts.map +1 -1
  10. package/dist/cli/commands/cite.d.ts +3 -3
  11. package/dist/cli/commands/cite.d.ts.map +1 -1
  12. package/dist/cli/commands/fulltext.d.ts +5 -34
  13. package/dist/cli/commands/fulltext.d.ts.map +1 -1
  14. package/dist/cli/commands/list.d.ts +3 -3
  15. package/dist/cli/commands/list.d.ts.map +1 -1
  16. package/dist/cli/commands/mcp.d.ts +16 -0
  17. package/dist/cli/commands/mcp.d.ts.map +1 -0
  18. package/dist/cli/commands/remove.d.ts +3 -3
  19. package/dist/cli/commands/remove.d.ts.map +1 -1
  20. package/dist/cli/commands/search.d.ts +3 -3
  21. package/dist/cli/commands/search.d.ts.map +1 -1
  22. package/dist/cli/commands/server.d.ts +2 -0
  23. package/dist/cli/commands/server.d.ts.map +1 -1
  24. package/dist/cli/commands/update.d.ts +3 -3
  25. package/dist/cli/commands/update.d.ts.map +1 -1
  26. package/dist/cli/execution-context.d.ts +23 -36
  27. package/dist/cli/execution-context.d.ts.map +1 -1
  28. package/dist/cli/index.d.ts.map +1 -1
  29. package/dist/cli/server-client.d.ts +24 -40
  30. package/dist/cli/server-client.d.ts.map +1 -1
  31. package/dist/cli/server-detection.d.ts +1 -0
  32. package/dist/cli/server-detection.d.ts.map +1 -1
  33. package/dist/cli.js +21060 -317
  34. package/dist/cli.js.map +1 -1
  35. package/dist/config/defaults.d.ts.map +1 -1
  36. package/dist/config/loader.d.ts.map +1 -1
  37. package/dist/config/schema.d.ts +2 -3
  38. package/dist/config/schema.d.ts.map +1 -1
  39. package/dist/core/csl-json/types.d.ts +3 -0
  40. package/dist/core/csl-json/types.d.ts.map +1 -1
  41. package/dist/core/library-interface.d.ts +100 -0
  42. package/dist/core/library-interface.d.ts.map +1 -0
  43. package/dist/core/library.d.ts +29 -46
  44. package/dist/core/library.d.ts.map +1 -1
  45. package/dist/features/operations/add.d.ts +2 -2
  46. package/dist/features/operations/add.d.ts.map +1 -1
  47. package/dist/features/operations/cite.d.ts +2 -2
  48. package/dist/features/operations/cite.d.ts.map +1 -1
  49. package/dist/features/operations/fulltext/attach.d.ts +47 -0
  50. package/dist/features/operations/fulltext/attach.d.ts.map +1 -0
  51. package/dist/features/operations/fulltext/detach.d.ts +38 -0
  52. package/dist/features/operations/fulltext/detach.d.ts.map +1 -0
  53. package/dist/features/operations/fulltext/get.d.ts +41 -0
  54. package/dist/features/operations/fulltext/get.d.ts.map +1 -0
  55. package/dist/features/operations/fulltext/index.d.ts +9 -0
  56. package/dist/features/operations/fulltext/index.d.ts.map +1 -0
  57. package/dist/features/operations/index.d.ts +15 -0
  58. package/dist/features/operations/index.d.ts.map +1 -0
  59. package/dist/features/operations/library-operations.d.ts +64 -0
  60. package/dist/features/operations/library-operations.d.ts.map +1 -0
  61. package/dist/features/operations/list.d.ts +2 -2
  62. package/dist/features/operations/list.d.ts.map +1 -1
  63. package/dist/features/operations/operations-library.d.ts +36 -0
  64. package/dist/features/operations/operations-library.d.ts.map +1 -0
  65. package/dist/features/operations/remove.d.ts +4 -4
  66. package/dist/features/operations/remove.d.ts.map +1 -1
  67. package/dist/features/operations/search.d.ts +2 -2
  68. package/dist/features/operations/search.d.ts.map +1 -1
  69. package/dist/features/operations/update.d.ts +2 -2
  70. package/dist/features/operations/update.d.ts.map +1 -1
  71. package/dist/features/search/matcher.d.ts.map +1 -1
  72. package/dist/features/search/normalizer.d.ts +12 -0
  73. package/dist/features/search/normalizer.d.ts.map +1 -1
  74. package/dist/features/search/tokenizer.d.ts.map +1 -1
  75. package/dist/features/search/types.d.ts +1 -1
  76. package/dist/features/search/types.d.ts.map +1 -1
  77. package/dist/features/search/uppercase.d.ts +41 -0
  78. package/dist/features/search/uppercase.d.ts.map +1 -0
  79. package/dist/index.js +24 -192
  80. package/dist/index.js.map +1 -1
  81. package/dist/mcp/context.d.ts +19 -0
  82. package/dist/mcp/context.d.ts.map +1 -0
  83. package/dist/mcp/index.d.ts +20 -0
  84. package/dist/mcp/index.d.ts.map +1 -0
  85. package/dist/mcp/resources/index.d.ts +10 -0
  86. package/dist/mcp/resources/index.d.ts.map +1 -0
  87. package/dist/mcp/resources/library.d.ts +26 -0
  88. package/dist/mcp/resources/library.d.ts.map +1 -0
  89. package/dist/mcp/tools/add.d.ts +17 -0
  90. package/dist/mcp/tools/add.d.ts.map +1 -0
  91. package/dist/mcp/tools/cite.d.ts +15 -0
  92. package/dist/mcp/tools/cite.d.ts.map +1 -0
  93. package/dist/mcp/tools/fulltext.d.ts +51 -0
  94. package/dist/mcp/tools/fulltext.d.ts.map +1 -0
  95. package/dist/mcp/tools/index.d.ts +12 -0
  96. package/dist/mcp/tools/index.d.ts.map +1 -0
  97. package/dist/mcp/tools/list.d.ts +13 -0
  98. package/dist/mcp/tools/list.d.ts.map +1 -0
  99. package/dist/mcp/tools/remove.d.ts +19 -0
  100. package/dist/mcp/tools/remove.d.ts.map +1 -0
  101. package/dist/mcp/tools/search.d.ts +13 -0
  102. package/dist/mcp/tools/search.d.ts.map +1 -0
  103. package/dist/server/index.d.ts +23 -1
  104. package/dist/server/index.d.ts.map +1 -1
  105. package/dist/server/routes/references.d.ts.map +1 -1
  106. package/dist/server.js +5 -271
  107. package/dist/server.js.map +1 -1
  108. package/package.json +2 -1
  109. package/dist/chunks/detector-DHztTaFY.js +0 -619
  110. package/dist/chunks/detector-DHztTaFY.js.map +0 -1
  111. package/dist/chunks/loader-mQ25o6cV.js +0 -1054
  112. package/dist/chunks/loader-mQ25o6cV.js.map +0 -1
  113. package/dist/chunks/search-Be9vzUIH.js.map +0 -1
package/README.md CHANGED
@@ -1,18 +1,72 @@
1
1
  # reference-manager
2
2
 
3
- A local reference management tool using CSL-JSON as the single source of truth.
3
+ > Automate your literature workflow from systematic reviews to manuscript writing
4
4
 
5
- ## Features
5
+ [![npm version](https://img.shields.io/npm/v/@ncukondo/reference-manager.svg)](https://www.npmjs.com/package/@ncukondo/reference-manager)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+ [![Status: Alpha](https://img.shields.io/badge/Status-Alpha-orange.svg)]()
6
8
 
7
- - **CSL-JSON Native**: Uses CSL-JSON format as the primary data model
8
- - **Command-line Interface**: Comprehensive CLI with search, add, update, remove commands
9
- - **HTTP Server**: Optional background server for improved performance
10
- - **Fulltext Management**: Attach PDF and Markdown files to references
11
- - **Duplicate Detection**: Automatic detection via DOI, PMID, or title+author+year
12
- - **Smart Search**: Full-text search with field-specific queries
13
- - **File Monitoring**: Automatic reload on external changes
14
- - **Backup Management**: Automatic backups with retention policies
15
- - **Pandoc Compatible**: Works seamlessly with Pandoc's bibliography system
9
+ A command-line reference management tool designed for automation. Integrates with AI agents (Claude Code, Claude Desktop) via MCP and works seamlessly with shell scripts and Pandoc.
10
+
11
+ ## Why reference-manager?
12
+
13
+ Traditional reference managers (Zotero, Mendeley, EndNote) are designed for manual, GUI-based workflows. **reference-manager** takes a different approach:
14
+
15
+ - **Automation-first**: Every operation is available via CLI and MCP — no GUI required
16
+ - **AI-native**: Direct integration with Claude and other AI agents through the Model Context Protocol
17
+ - **Single source of truth**: CSL-JSON format ensures compatibility and transparency
18
+ - **Pandoc-ready**: Generate citations in any style, ready for academic writing
19
+
20
+ ## Use Cases
21
+
22
+ ### Systematic Review / Scoping Review
23
+
24
+ Automate the tedious parts of literature reviews:
25
+
26
+ ```bash
27
+ # Import references from multiple sources
28
+ ref add pmid:12345678 pmid:23456789
29
+ ref add "10.1234/example.doi"
30
+ ref add exported-from-pubmed.nbib
31
+
32
+ # AI-assisted screening (with Claude Code)
33
+ # "Review the abstracts in my library and flag potentially relevant papers for my review on AI in medical education"
34
+
35
+ # Export for analysis
36
+ ref list --format json > references.json
37
+ ```
38
+
39
+ ### Manuscript Writing
40
+
41
+ Streamline your writing workflow:
42
+
43
+ ```bash
44
+ # Generate citations
45
+ ref cite smith2024 jones2023 --style apa
46
+ # Output: (Smith, 2024; Jones, 2023)
47
+
48
+ # Attach and manage full-text PDFs
49
+ ref fulltext attach smith2024 ~/papers/smith2024.pdf
50
+
51
+ # Export for Pandoc
52
+ ref list --format json > references.json
53
+ pandoc manuscript.md --bibliography references.json -o manuscript.docx
54
+ ```
55
+
56
+ ### AI-Assisted Research
57
+
58
+ Let Claude help manage your references:
59
+
60
+ ```
61
+ You: "Find all papers by Smith published after 2020"
62
+ Claude: [uses search tool] Found 3 references...
63
+
64
+ You: "Generate an APA citation for the machine learning paper"
65
+ Claude: [uses cite tool] Smith, J. (2024). Machine learning applications...
66
+
67
+ You: "Add this paper: 10.1234/example"
68
+ Claude: [uses add tool] Added reference: example2024
69
+ ```
16
70
 
17
71
  ## Installation
18
72
 
@@ -20,10 +74,10 @@ A local reference management tool using CSL-JSON as the single source of truth.
20
74
 
21
75
  - Node.js 22 or later
22
76
 
23
- ### From npm (when published)
77
+ ### From npm
24
78
 
25
79
  ```bash
26
- npm install -g reference-manager
80
+ npm install -g @ncukondo/reference-manager
27
81
  ```
28
82
 
29
83
  ### From source
@@ -36,92 +90,182 @@ npm run build
36
90
  npm link
37
91
  ```
38
92
 
39
- ## Usage
40
-
41
- The command `ref` is available after installation (alias: `reference-manager`).
42
-
43
- ### Basic Commands
93
+ ## Quick Start
44
94
 
45
95
  ```bash
46
- # List all references
96
+ # Initialize (creates default config and empty library)
47
97
  ref list
48
98
 
49
- # Search references
99
+ # Add a reference by DOI
100
+ ref add "10.1038/nature12373"
101
+
102
+ # Add from PubMed
103
+ ref add pmid:25056061
104
+
105
+ # Search your library
50
106
  ref search "author:smith machine learning"
51
107
 
52
- # Add a new reference (from JSON file)
53
- ref add reference.json
108
+ # Generate a citation
109
+ ref cite smith2024 --style apa
54
110
 
55
- # Add from stdin
56
- cat reference.json | ref add
111
+ # List all references
112
+ ref list
113
+ ```
57
114
 
58
- # Update a reference
59
- ref update smith-2020 updates.json
115
+ ## AI Integration (MCP)
60
116
 
61
- # Remove a reference
62
- ref remove smith-2020
117
+ reference-manager provides an MCP (Model Context Protocol) server for direct integration with AI agents.
63
118
 
64
- # Server management
65
- ref server start
66
- ref server status
67
- ref server stop
68
- ```
119
+ ### Claude Code Setup
69
120
 
70
- ### Fulltext Management
121
+ Add reference-manager as an MCP server (no global installation required):
122
+
123
+ ```bash
124
+ claude mcp add reference-manager -- npx -y @ncukondo/reference-manager mcp
125
+ ```
71
126
 
72
- Attach PDF and Markdown files to references for full-text storage.
127
+ Or with a custom library path:
73
128
 
74
129
  ```bash
75
- # Attach a PDF to a reference
76
- ref fulltext attach smith-2020 ~/papers/smith-2020.pdf
130
+ claude mcp add reference-manager -- npx -y @ncukondo/reference-manager mcp --library ~/my-references.json
131
+ ```
132
+
133
+ ### Claude Desktop Setup
77
134
 
78
- # Attach a Markdown notes file
79
- ref fulltext attach smith-2020 ~/notes/smith-2020.md
135
+ Add to your Claude Desktop configuration file:
80
136
 
81
- # Attach with explicit type (when extension doesn't match)
82
- ref fulltext attach smith-2020 --pdf ~/downloads/paper.txt
137
+ **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
138
+ **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
83
139
 
84
- # Move file instead of copy
85
- ref fulltext attach smith-2020 ~/papers/smith-2020.pdf --move
140
+ ```json
141
+ {
142
+ "mcpServers": {
143
+ "reference-manager": {
144
+ "command": "npx",
145
+ "args": ["-y", "@ncukondo/reference-manager", "mcp"]
146
+ }
147
+ }
148
+ }
149
+ ```
86
150
 
87
- # Overwrite existing attachment
88
- ref fulltext attach smith-2020 ~/papers/smith-2020-revised.pdf --force
151
+ With a custom library:
152
+
153
+ ```json
154
+ {
155
+ "mcpServers": {
156
+ "reference-manager": {
157
+ "command": "npx",
158
+ "args": ["-y", "@ncukondo/reference-manager", "mcp", "--library", "/path/to/library.json"]
159
+ }
160
+ }
161
+ }
162
+ ```
89
163
 
90
- # Get attached file path
91
- ref fulltext get smith-2020 --pdf
164
+ ### Available Tools
92
165
 
93
- # Output file content to stdout
94
- ref fulltext get smith-2020 --pdf --stdout
166
+ | Tool | Description | Parameters |
167
+ |------|-------------|------------|
168
+ | `search` | Search references by query | `query`: Search string (e.g., `"author:smith 2024"`) |
169
+ | `list` | List all references | `format?`: `"json"` \| `"bibtex"` \| `"pretty"` |
170
+ | `add` | Add new reference(s) | `input`: DOI, PMID, BibTeX, RIS, or CSL-JSON |
171
+ | `remove` | Remove a reference | `id`: Reference ID, `force`: must be `true` |
172
+ | `cite` | Generate formatted citation | `ids`: Array of reference IDs, `style?`: Citation style, `format?`: `"text"` \| `"html"` |
173
+ | `fulltext_attach` | Attach PDF/Markdown to reference | `id`: Reference ID, `path`: File path |
174
+ | `fulltext_get` | Get full-text content | `id`: Reference ID |
175
+ | `fulltext_detach` | Detach full-text from reference | `id`: Reference ID |
95
176
 
96
- # Detach file (keeps file on disk)
97
- ref fulltext detach smith-2020 --pdf
177
+ ### Available Resources
98
178
 
99
- # Detach and delete file
100
- ref fulltext detach smith-2020 --pdf --delete
101
- ```
179
+ | URI | Description |
180
+ |-----|-------------|
181
+ | `library://references` | All references as CSL-JSON array |
182
+ | `library://reference/{id}` | Single reference by ID |
183
+ | `library://styles` | Available citation styles |
102
184
 
103
- ### Output Formats
185
+ ## CLI Reference
186
+
187
+ ### Basic Commands
104
188
 
105
189
  ```bash
106
- # Pretty format (default)
190
+ # List all references
107
191
  ref list
108
-
109
- # JSON format
110
192
  ref list --format json
111
-
112
- # BibTeX format
113
193
  ref list --format bibtex
114
194
 
115
- # IDs only
116
- ref list --format ids-only
195
+ # Search references
196
+ ref search "machine learning"
197
+ ref search "author:smith"
198
+ ref search "author:jones year:2024"
199
+ ref search "title:\"deep learning\""
200
+
201
+ # Add references
202
+ ref add paper.json # From CSL-JSON file
203
+ ref add references.bib # From BibTeX
204
+ ref add export.ris # From RIS
205
+ ref add "10.1038/nature12373" # From DOI
206
+ ref add pmid:25056061 # From PubMed ID
207
+ cat references.json | ref add # From stdin
208
+
209
+ # Remove a reference
210
+ ref remove smith2024
211
+ ref remove smith2024 --force # Skip confirmation
212
+
213
+ # Update a reference
214
+ ref update smith2024 updates.json
215
+ ref update smith2024 --set "title=New Title"
216
+
217
+ # Generate citations
218
+ ref cite smith2024
219
+ ref cite smith2024 jones2023 --style apa
220
+ ref cite smith2024 --style chicago-author-date --format html
117
221
  ```
118
222
 
119
- ### Configuration
223
+ ### Fulltext Management
120
224
 
121
- Configuration file: `.reference-manager.config.toml`
225
+ ```bash
226
+ # Attach files
227
+ ref fulltext attach smith2024 ~/papers/smith2024.pdf
228
+ ref fulltext attach smith2024 ~/notes/smith2024.md
229
+ ref fulltext attach smith2024 paper.pdf --move # Move instead of copy
230
+ ref fulltext attach smith2024 paper.pdf --force # Overwrite existing
231
+
232
+ # Get attached files
233
+ ref fulltext get smith2024 --pdf # Get PDF path
234
+ ref fulltext get smith2024 --md # Get Markdown path
235
+ ref fulltext get smith2024 --pdf --stdout # Output content to stdout
236
+
237
+ # Detach files
238
+ ref fulltext detach smith2024 --pdf
239
+ ref fulltext detach smith2024 --pdf --delete # Also delete the file
240
+ ```
241
+
242
+ ### Output Formats
243
+
244
+ | Format | Flag | Description |
245
+ |--------|------|-------------|
246
+ | Pretty | (default) | Human-readable format |
247
+ | JSON | `--format json` | CSL-JSON array |
248
+ | BibTeX | `--format bibtex` | BibTeX format |
249
+ | IDs only | `--format ids-only` | One ID per line |
250
+
251
+ ### Search Query Syntax
252
+
253
+ - **Simple search**: `machine learning` (matches any field)
254
+ - **Field-specific**: `author:smith`, `title:neural`, `year:2024`
255
+ - **Phrase search**: `"machine learning"` (exact phrase)
256
+ - **Combined**: `author:smith "deep learning" 2024`
257
+
258
+ Supported field prefixes: `author:`, `title:`, `doi:`, `pmid:`, `pmcid:`, `url:`, `keyword:`, `tag:`
259
+
260
+ ## Configuration
261
+
262
+ Configuration file: `~/.reference-manager.config.toml`
122
263
 
123
264
  ```toml
265
+ # Path to the library file
124
266
  library = "~/references.json"
267
+
268
+ # Logging level: silent, info, debug
125
269
  log_level = "info"
126
270
 
127
271
  [backup]
@@ -129,18 +273,61 @@ enabled = true
129
273
  max_count = 10
130
274
  max_age_days = 30
131
275
 
276
+ [fulltext]
277
+ directory = "~/references/fulltext"
278
+
132
279
  [server]
133
280
  auto_start = true
134
281
  auto_stop_minutes = 60
282
+ ```
135
283
 
136
- [fulltext]
137
- directory = "~/references/fulltext"
284
+ ### Environment Variables
285
+
286
+ | Variable | Description |
287
+ |----------|-------------|
288
+ | `REFERENCE_MANAGER_LIBRARY` | Override library file path |
289
+ | `REFERENCE_MANAGER_FULLTEXT_DIR` | Override fulltext directory |
290
+
291
+ ## Data Format
292
+
293
+ reference-manager uses [CSL-JSON](https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html) as its native format — the same format used by Pandoc, Zotero, and other academic tools.
294
+
295
+ ### Pandoc Integration
296
+
297
+ ```bash
298
+ # Export your library
299
+ ref list --format json > references.json
300
+
301
+ # Use with Pandoc
302
+ pandoc manuscript.md \
303
+ --bibliography references.json \
304
+ --csl apa.csl \
305
+ -o manuscript.docx
306
+ ```
307
+
308
+ ### Custom Fields
309
+
310
+ reference-manager extends CSL-JSON with a `custom` object for additional metadata:
311
+
312
+ ```json
313
+ {
314
+ "id": "smith2024",
315
+ "type": "article-journal",
316
+ "title": "Example Paper",
317
+ "custom": {
318
+ "uuid": "550e8400-e29b-41d4-a716-446655440000",
319
+ "tags": ["important", "to-read"],
320
+ "fulltext_pdf": "smith2024.pdf",
321
+ "fulltext_md": "smith2024.md"
322
+ }
323
+ }
138
324
  ```
139
325
 
140
- Environment variables:
141
- - `REFERENCE_MANAGER_FULLTEXT_DIR`: Override fulltext directory
326
+ ## Project Status
327
+
328
+ **Alpha** — This project is under active development. APIs and commands may change between versions.
142
329
 
143
- See `spec/architecture/cli.md` for full configuration options.
330
+ See [ROADMAP.md](./ROADMAP.md) for development progress and planned features.
144
331
 
145
332
  ## Development
146
333
 
@@ -153,55 +340,26 @@ npm run build
153
340
  ### Test
154
341
 
155
342
  ```bash
156
- # Run all tests
157
- npm test
158
-
159
- # Watch mode
160
- npm run test:watch
161
-
162
- # Coverage
163
- npm run test:coverage
343
+ npm test # Run all tests
344
+ npm run test:watch # Watch mode
345
+ npm run test:coverage # Coverage report
164
346
  ```
165
347
 
166
348
  ### Quality Checks
167
349
 
168
350
  ```bash
169
- # Type checking
170
- npm run typecheck
171
-
172
- # Linting
173
- npm run lint
174
-
175
- # Format
176
- npm run format
351
+ npm run typecheck # TypeScript type checking
352
+ npm run lint # Linting
353
+ npm run format # Code formatting
177
354
  ```
178
355
 
179
- ## Project Status
180
-
181
- ✅ **All phases completed** (Phase 1-5)
182
-
183
- - 606 tests passing
184
- - Full TypeScript type coverage
185
- - Multi-platform support (Linux, macOS, Windows)
186
- - Ready for distribution
187
-
188
- ## Architecture
189
-
190
- The project is organized into modular components:
191
-
192
- - **Core**: CSL-JSON processing, Reference/Library management, Identifier generation
193
- - **Features**: Search, Duplicate detection, 3-way merge, File monitoring
194
- - **CLI**: Command-line interface with Commander.js
195
- - **Server**: HTTP server with Hono
196
- - **Utils**: Logging, File operations, Backup management
197
- - **Config**: TOML-based configuration
198
-
199
- See `spec/_index.md` for detailed architecture documentation.
200
-
201
356
  ## License
202
357
 
203
358
  MIT
204
359
 
205
- ## Repository
360
+ ## Links
206
361
 
207
- https://github.com/ncukondo/reference-manager
362
+ - [Repository](https://github.com/ncukondo/reference-manager)
363
+ - [npm Package](https://www.npmjs.com/package/@ncukondo/reference-manager)
364
+ - [Issues](https://github.com/ncukondo/reference-manager/issues)
365
+ - [Documentation](./spec/)