{"_id":"@alpacali/papyrus-cli","_rev":"4-0ae9e1f045d64b1a9ec4d2c0117990fe","name":"@alpacali/papyrus-cli","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@alpacali/papyrus-cli","version":"1.0.0","keywords":["papyrus","srs","spaced-repetition","flashcards","learning","cli","study"],"author":{"name":"Papyrus Team"},"license":"MIT","_id":"@alpacali/papyrus-cli@1.0.0","maintainers":[{"name":"alpacali","email":"alpaca8570@outlook.com"}],"homepage":"https://github.com/Papyrus/Papyrus-cli#readme","bugs":{"url":"https://github.com/Papyrus/Papyrus-cli/issues"},"bin":{"papyrus":"dist/cli.js","papyrus-cli":"dist/cli.js"},"dist":{"shasum":"5fdc19b32632ea53304199a4f8ae1412e6e2c68f","tarball":"https://registry.npmjs.org/@alpacali/papyrus-cli/-/papyrus-cli-1.0.0.tgz","fileCount":43,"integrity":"sha512-5fMMuFvLsZLs5taGMqktwe01yIxXEOQoHLcrSjCTaLKru95N0czDzp+hUQMJeI611xLl/RtH5xl3Hq6YdgNikw==","signatures":[{"sig":"MEQCIGV8lwXOTVAy0NI/0dNIHAtPgQ0n+mzytyUfgv5XgcaRAiBPMbORYfg/Zo2Q+BuJm902AjzOw0QE0+/6e+xFDilNxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119897},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"75df3a38774b9bed7ba789900097aa246b0e9e17","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"node dist/cli.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"alpacali","email":"alpaca8570@outlook.com"},"repository":{"url":"git+https://github.com/Papyrus/Papyrus-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Papyrus CLI - Command line interface for Papyrus SRS learning system","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","axios":"^1.7.9","chalk":"^5.4.1","fs-extra":"^11.3.0","inquirer":"^12.5.0","commander":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.14.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/papyrus-cli_1.0.0_1775400612387_0.45244739627679276","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alpacali/papyrus-cli","version":"1.0.1","keywords":["papyrus","srs","spaced-repetition","flashcards","learning","cli","study"],"author":{"name":"Papyrus Team"},"license":"MIT","_id":"@alpacali/papyrus-cli@1.0.1","maintainers":[{"name":"alpacali","email":"alpaca8570@outlook.com"}],"homepage":"https://github.com/Papyrus/Papyrus-cli#readme","bugs":{"url":"https://github.com/Papyrus/Papyrus-cli/issues"},"bin":{"papyrus":"dist/cli.js","papyrus-cli":"dist/cli.js"},"dist":{"shasum":"ed1ca32031b6461c9278e66e3df177906b21d153","tarball":"https://registry.npmjs.org/@alpacali/papyrus-cli/-/papyrus-cli-1.0.1.tgz","fileCount":43,"integrity":"sha512-VTzGc6Zv80Y/+4tcsO9dDDimIFPQW69S2BICtVyoKUswgearqG0auA52qwQT6lVWLQZXHfj9HEZTR2FLoP8F6g==","signatures":[{"sig":"MEQCIC+6EDqS5yVVvWKBdP5E6QWPd7MvH3tw5x/Z67rK3S7dAiAQ7+Vs+IYj8rUIXqzTK1h24W1Axb8OqBvlPUIAmT3rog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"234c6c1bf11b8a53648c18e96d29e80197f377f2","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","start":"node dist/cli.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"alpacali","email":"alpaca8570@outlook.com"},"repository":{"url":"git+https://github.com/Papyrus/Papyrus-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Papyrus CLI - Command line interface for Papyrus SRS learning system","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","axios":"^1.7.9","chalk":"^5.4.1","fs-extra":"^11.3.0","inquirer":"^12.5.0","commander":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.14.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/papyrus-cli_1.0.1_1775401644545_0.25549993565877616","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alpacali/papyrus-cli","version":"1.0.2","keywords":["papyrus","srs","spaced-repetition","flashcards","learning","cli","study"],"author":{"name":"Papyrus Team"},"license":"MIT","_id":"@alpacali/papyrus-cli@1.0.2","maintainers":[{"name":"alpacali","email":"alpaca8570@outlook.com"}],"homepage":"https://github.com/Papyrus/Papyrus-cli#readme","bugs":{"url":"https://github.com/Papyrus/Papyrus-cli/issues"},"bin":{"papyrus":"dist/cli.js","papyrus-cli":"dist/cli.js"},"dist":{"shasum":"cd6978ee3e40463bd16f92a1d28d5c0d10b4d397","tarball":"https://registry.npmjs.org/@alpacali/papyrus-cli/-/papyrus-cli-1.0.2.tgz","fileCount":43,"integrity":"sha512-KSK2E+W0pUOVcAbCH2rgtG5ODU2kudXo0o0w88aA4lN8S0slDk6Fk/zHGSrZLoGpt7YW+6KZCniNvZeAc5Un6A==","signatures":[{"sig":"MEQCIEgyU+zox4WZRmZ00+uon11sFbewv8vTTwrXRB7xiKVvAiBbg1fSGwCbupsjxKyyZAoYJhSc6Rd1QFeKVuVUmecHhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131281},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"53e1e98c213655f0f19490a942e9de58a271ca31","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist coverage","start":"node dist/cli.js","format":"prettier --write \"src/**/*.ts\"","quality":"npm run typecheck && npm run lint && npm run format:check && npm run test","lint:fix":"eslint src/**/*.ts --fix","typecheck":"tsc --noEmit","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage","prepublishOnly":"npm run quality && npm run build"},"_npmUser":{"name":"alpacali","email":"alpaca8570@outlook.com"},"repository":{"url":"git+https://github.com/Papyrus/Papyrus-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"Papyrus CLI - Command line interface for Papyrus SRS learning system","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","axios":"^1.7.9","chalk":"^5.4.1","fs-extra":"^11.3.0","inquirer":"^12.5.0","commander":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.24.0","globals":"^17.4.0","ts-jest":"^29.3.1","prettier":"^3.5.3","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.14.0","@jest/globals":"^29.7.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7","@typescript-eslint/parser":"^8.29.0","@typescript-eslint/eslint-plugin":"^8.29.0"},"_npmOperationalInternal":{"tmp":"tmp/papyrus-cli_1.0.2_1775407201089_0.969995406162133","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alpacali/papyrus-cli","version":"1.0.3","description":"Papyrus CLI - Command line interface for Papyrus SRS learning system","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"papyrus":"dist/cli.js","papyrus-cli":"dist/cli.js"},"scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/cli.js","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","format":"prettier --write \"src/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\"","typecheck":"tsc --noEmit","quality":"npm run typecheck && npm run lint && npm run format:check && npm run test","prepublishOnly":"npm run quality && npm run build","clean":"rm -rf dist coverage"},"keywords":["papyrus","srs","spaced-repetition","flashcards","learning","cli","study"],"author":{"name":"Papyrus Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Papyrus/Papyrus-cli.git"},"bugs":{"url":"https://github.com/Papyrus/Papyrus-cli/issues"},"homepage":"https://github.com/Papyrus/Papyrus-cli#readme","engines":{"node":">=18.0.0"},"dependencies":{"axios":"^1.7.9","chalk":"^5.4.1","commander":"^13.1.0","fs-extra":"^11.3.0","inquirer":"^12.5.0","ora":"^8.2.0"},"devDependencies":{"@jest/globals":"^29.7.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7","@types/jest":"^29.5.14","@types/node":"^22.14.0","@typescript-eslint/eslint-plugin":"^8.29.0","@typescript-eslint/parser":"^8.29.0","eslint":"^9.24.0","globals":"^17.4.0","jest":"^29.7.0","prettier":"^3.5.3","ts-jest":"^29.3.1","typescript":"^5.8.3"},"gitHead":"c0db520b846d36bf29e12b102ebb75601be7e177","_id":"@alpacali/papyrus-cli@1.0.3","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-7Q1ZhA0a+lK6iT1BqK23ysBI54rCjVhoLIzR9MY7t9QHnC9VDw76ZcvxPxJZ6DSGOHu7NrLI0leaToUerws6Mw==","shasum":"420b2317949efdb7a661515259b39fef00a3e7ed","tarball":"https://registry.npmjs.org/@alpacali/papyrus-cli/-/papyrus-cli-1.0.3.tgz","fileCount":43,"unpackedSize":131281,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGcodsRkbNJqUBRiXwbI5zZiMGhxwN4l19XpaVKjMDQCAiEAwO3GxY+jqPpleXjAbbkr3e1kUeQFvwYrns3FIJ5Uk3o="}]},"_npmUser":{"name":"alpacali","email":"alpaca8570@outlook.com"},"directories":{},"maintainers":[{"name":"alpacali","email":"alpaca8570@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/papyrus-cli_1.0.3_1775407546776_0.19468712722755677"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T14:50:12.282Z","modified":"2026-04-05T16:45:47.031Z","1.0.0":"2026-04-05T14:50:12.532Z","1.0.1":"2026-04-05T15:07:24.677Z","1.0.2":"2026-04-05T16:40:01.228Z","1.0.3":"2026-04-05T16:45:46.928Z"},"bugs":{"url":"https://github.com/Papyrus/Papyrus-cli/issues"},"author":{"name":"Papyrus Team"},"license":"MIT","homepage":"https://github.com/Papyrus/Papyrus-cli#readme","keywords":["papyrus","srs","spaced-repetition","flashcards","learning","cli","study"],"repository":{"type":"git","url":"git+https://github.com/Papyrus/Papyrus-cli.git"},"description":"Papyrus CLI - Command line interface for Papyrus SRS learning system","maintainers":[{"name":"alpacali","email":"alpaca8570@outlook.com"}],"readme":"```\r\n╔═══════════════════════════════════════════════════════════════╗\r\n║                          PAPYRUS CLI                          ║\r\n╠═══════════════════════════════════════════════════════════════╣\r\n║                                                               ║\r\n║ █████████████████████████████████████████████████████████████ ║\r\n║ █                    •                                      █ ║\r\n║ █               •          •∙                       ·       █ ║\r\n║ █  ▓▓▓▓▓▓▓  ▓▓▓▓▓  ▓▓▓▓▓▓▓ ▓▓   ▓▓ ▓▓▓▓▓▓▓ ▓▓   ▓▓  ▓▓▓▓▓▓  █ ║\r\n║ █  ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓       █ ║\r\n║ █  ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓   ▓▓ ▓▓       █ ║\r\n║ █  ▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓∙ ▓▓▓▓▓  ▓▓▓▓▓▓▓ ▓▓   ▓▓  ▓▓▓▓▓   █ ║\r\n║ █  ▓▓      ▓▓   ▓▓ ▓▓         ▓▓   ▓▓ ▓▓  ∙▓▓·  ▓▓      ▓▓  █ ║\r\n║ █ ·▓▓   ·  ▓▓   ▓▓ ▓▓         ▓▓ • ▓▓  ▓▓∙ ▓▓∙  ▓▓      ▓▓  █ ║\r\n║ █  ▓▓ ·    ▓▓   ▓▓ ▓▓         ▓▓   ▓▓   ▓▓  ▓▓▓▓▓  ▓▓▓▓▓▓   █ ║\r\n║ █                      ·       ∙                            █ ║\r\n║ █       ·                                   ·               █ ║\r\n║ █       •    •     ▓▓▓▓▓▓  ▓▓       ▓▓▓▓▓▓▓                 █ ║\r\n║ █•              · ▓▓       ▓▓        ·▓▓▓           ·•      █ ║\r\n║ █  ∙              ▓▓       ▓▓         ▓▓▓    ••         •   █ ║\r\n║ █       ·         ▓▓       ▓▓         ▓▓▓         ∙         █ ║\r\n║ █  ·              ▓▓       ▓▓ ·  ·    ▓▓▓               ·   █ ║\r\n║ █              ∙  ▓▓•      ▓▓         ▓▓▓                   █ ║\r\n║ █               •  ▓▓▓▓▓▓  ▓▓▓▓▓▓▓ ·▓▓▓▓▓▓▓          ∙ •  · █ ║\r\n║ █             •              •          ·•·           ·     █ ║\r\n║ █       ·                     •             •          ∙    █ ║\r\n║ █████████████████████████████████████████████████████████████ ║\r\n║                                                               ║\r\n╚═══════════════════════════════════════════════════════════════╝\r\n```\r\n\r\n[![npm version](https://img.shields.io/npm/v/@alpacali/papyrus-cli)](https://www.npmjs.com/package/@alpacali/papyrus-cli)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org/)\r\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.8-blue)](https://www.typescriptlang.org/)\r\n\r\nA powerful command-line interface for [Papyrus](https://github.com/Papyrus/Papyrus) - the SRS (Spaced Repetition System) learning application.\r\n\r\nRunning `papyrus` without any arguments will display the ASCII art banner above.\r\n\r\n## ✨ Features\r\n\r\n- 🎴 **Card Management** - Create, edit, delete, and search flashcards\r\n- 📚 **Interactive Review** - Terminal-based review sessions with SM-2 algorithm\r\n- 📊 **Statistics** - Track your learning progress\r\n- 💾 **Data Management** - Backup, restore, import, and export your data\r\n- 🚀 **Server Control** - Start and manage the Papyrus API server\r\n- ⚙️ **Configuration** - Flexible CLI configuration\r\n\r\n## 📦 Installation\r\n\r\n```bash\r\nnpm install -g @alpacali/papyrus-cli\r\n```\r\n\r\nOr use with npx:\r\n\r\n```bash\r\nnpx @alpacali/papyrus-cli <command>\r\n```\r\n\r\n## 🚀 Quick Start\r\n\r\n```bash\r\n# 1. Start the Papyrus server\r\npapyrus serve\r\n\r\n# 2. Add a card\r\npapyrus card add \"What is the capital of France?\" \"Paris\"\r\n\r\n# 3. Start reviewing\r\npapyrus review\r\n\r\n# 4. Check your stats\r\npapyrus stats\r\n```\r\n\r\n## 📖 Commands\r\n\r\n### Card Management\r\n\r\n```bash\r\n# List all cards\r\npapyrus card list\r\npapyrus card list --tags \"language\" --detailed\r\n\r\n# Show card details\r\npapyrus card show <id>\r\n\r\n# Add a new card\r\npapyrus card add \"Question\" \"Answer\" --tags \"tag1,tag2\"\r\n\r\n# Edit a card\r\npapyrus card edit <id> --question \"New question\" --tags \"updated\"\r\n\r\n# Delete a card\r\npapyrus card delete <id>\r\npapyrus card delete <id> --force\r\n\r\n# Search cards\r\npapyrus card search \"keyword\"\r\n\r\n# Import from text file\r\npapyrus card import cards.txt\r\n\r\n# Export to JSON\r\npapyrus card export --output cards.json\r\n\r\n# List due cards\r\npapyrus card due\r\n```\r\n\r\n### Review\r\n\r\n```bash\r\n# Start interactive review session\r\npapyrus review\r\n\r\n# Show review statistics\r\npapyrus stats\r\n```\r\n\r\n### Data Management\r\n\r\n```bash\r\n# Create backup\r\npapyrus data backup\r\npapyrus data backup --output my-backup.db\r\n\r\n# Restore from backup\r\npapyrus data restore my-backup.db\r\n\r\n# List backups\r\npapyrus data list-backups\r\n\r\n# Clean old backups\r\npapyrus data clean-backups --keep 5\r\n\r\n# Export data\r\npapyrus data export data.json\r\n\r\n# Import data\r\npapyrus data import data.json\r\n\r\n# Show data stats\r\npapyrus data stats\r\n```\r\n\r\n### Server Management\r\n\r\n```bash\r\n# Start server\r\npapyrus serve\r\npapyrus serve --port 8080 --detach\r\n\r\n# Check server status\r\npapyrus status\r\n\r\n# Stop server\r\npapyrus stop\r\n\r\n# Open API docs\r\npapyrus docs\r\n```\r\n\r\n### Configuration\r\n\r\n```bash\r\n# Show configuration\r\npapyrus config\r\n\r\n# Get specific value\r\npapyrus config --get apiUrl\r\n\r\n# Set value\r\npapyrus config --set apiUrl=http://localhost:8080\r\n\r\n# Reset to defaults\r\npapyrus config --reset\r\n```\r\n\r\n## 📝 Import Format\r\n\r\nWhen importing cards from a text file, use the following format:\r\n\r\n```\r\nQuestion 1 === Answer 1\r\n\r\nQuestion 2 === Answer 2\r\n\r\n# Lines starting with # are ignored\r\nQuestion 3 === Answer 3\r\n```\r\n\r\n## ⚙️ Configuration\r\n\r\nConfiguration is stored in `~/.papyrus/config.json`:\r\n\r\n```json\r\n{\r\n  \"apiUrl\": \"http://127.0.0.1:8000\",\r\n  \"dataDir\": \"~/Documents/Papyrus\"\r\n}\r\n```\r\n\r\n## 🛠️ Development\r\n\r\n```bash\r\n# Clone repository\r\ngit clone https://github.com/Papyrus/Papyrus-cli.git\r\ncd Papyrus-cli\r\n\r\n# Install dependencies\r\nnpm install\r\n\r\n# Run in development mode\r\nnpm run dev\r\n\r\n# Run quality checks\r\nnpm run quality\r\n\r\n# Build\r\nnpm run build\r\n```\r\n\r\n## 🔧 Requirements\r\n\r\n- Node.js 18+\r\n- Papyrus API server running\r\n\r\n## 🤝 Contributing\r\n\r\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\r\n\r\n## 📄 License\r\n\r\nMIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n---\r\n\r\n**Papyrus CLI** - Learn smarter, remember longer.\r\n","readmeFilename":"README.md"}