
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
github-archiver
Advanced tools
A powerful CLI for mass archiving GitHub repositories with parallel processing and comprehensive error handling.
~/.github-archiver/config.jsonnpm install -g github-archiver
or with Bun:
bun install -g github-archiver
git clone https://github.com/mynameistito/github-archiver.git
cd github-archiver
bun install && bun run build
bun install -g .
bun install
bun run dev -- <command>
Note: This project is optimized for Bun. While it works with Node.js (v22+), Bun provides faster installation, execution, and development experience.
# Authenticate
github-archiver auth login
# Archive (opens editor to input repos)
github-archiver archive
authManage GitHub authentication.
| Command | Description |
|---|---|
auth login | Authenticate with Personal Access Token |
auth logout | Remove stored token |
auth status | Check authentication status |
archiveArchive multiple repositories.
github-archiver archive [options]
| Option | Default | Description |
|---|---|---|
--file <path> | - | Read repository URLs from file |
--stdin | - | Read from stdin |
--dry-run | false | Validate without archiving |
--concurrency <n> | 3 | Parallel operations (1-50) |
--timeout <n> | 300 | API timeout in seconds (10-3600) |
--verbose | false | Enable verbose logging |
--force | false | Skip confirmation prompts |
Examples:
# Interactive (opens editor)
github-archiver archive
# From file
github-archiver archive --file repos.txt
# From stdin
cat repos.txt | github-archiver archive --stdin
# Dry-run
github-archiver archive --file repos.txt --dry-run
# High concurrency
github-archiver archive --file repos.txt --concurrency 10
# Force without confirmation
github-archiver archive --file repos.txt --force
Supported formats:
https://github.com/owner/repo or https://github.com/owner/repo.gitgit@github.com:owner/repo.git or git@github.com:owner/repoowner/repoFile Example:
# Repositories to archive
https://github.com/facebook/react
torvalds/linux
owner/private-repo
# Comments ignored
https://github.com/nodejs/node
repo (Full control of private repositories)Generate token: https://github.com/settings/tokens/new → Create with repo scope → Run github-archiver auth login
🔐 Checking authentication...
✅ Authenticated as: username
📝 Getting repositories...
📋 Will archive 5 repositories:
1. facebook/react
2. torvalds/linux
3. owner/repo-1
4. owner/repo-2
5. owner/repo-3
Are you sure you want to archive these repositories? [y/N]: y
Starting to archive repositories... (concurrency: 3)
[======================= ] 4/5 (80%) - owner/repo-3
┌────────────────────────────────────┐
│ Archive Operation Summary │
├────────────────────────────────────┤
│ Successful: 5 │
│ Skipped: 0 │
│ Failed: 0 │
├────────────────────────────────────┤
│ Total: 5 │
│ Duration: 2m 45s │
└────────────────────────────────────┘
✅ All repositories processed successfully!
No token found: Run github-archiver auth login
Invalid/expired token: Generate new token at https://github.com/settings/tokens → auth logout → auth login
Permission denied: Verify repo ownership/push access, check repo scope, ensure repo isn't already archived
Rate limit exceeded: Wait (resets hourly), lower --concurrency 1, increase --timeout 600
Network error/timeout: Check connection, GitHub API may be unavailable, retry with --timeout 600
Repository not found: Verify URL, check if deleted, confirm GitHub access
Config: ~/.github-archiver/config.json (Linux/macOS) or %USERPROFILE%\.github-archiver\config.json (Windows)
Logs: ~/.github-archiver/logs/ (Linux/macOS) or %USERPROFILE%\.github-archiver\logs\ (Windows)
src/
├── commands/ # CLI commands (auth, archive)
├── services/ # GitHub API, archiving, auth management
├── utils/ # Parsing, formatting, logging
├── types/ # TypeScript definitions
└── constants/ # Configuration constants
tests/
└── unit/ # Unit tests
Core Services:
bun install
# Development commands
bun run typecheck # Check TypeScript
bun run test # Run unit tests
bun run test:coverage # Run tests with coverage
bun run build # Build production bundle
bun run lint # Check code style
bun run format # Auto-format code
bun run dev -- auth login # Run dev mode
Using npm instead?
npm install
npm run typecheck # Equivalent commands
npm run test
npm run build
npm run lint
npm run format
This project uses Ultracite (Biome) for:
any)Run code quality checks:
# Check for issues
bun run lint
# Auto-fix and format code
bun run format
See AGENTS.md for detailed code standards and best practices.
This project uses semantic-release for automated versioning and publishing.
Commit format (Conventional Commits):
feat: → minor bumpfix: → patch bumpBREAKING CHANGE: → major bumpchore:, docs:, test: → no bumpPushing to main triggers automatic release. See docs/RELEASE.md for detailed setup and workflow.
bun installbun run formatbun run typecheck and bun run test passBefore committing:
bun run format # Auto-fix code style
bun run lint # Check for issues
bun run typecheck # Verify TypeScript
bun run test # Run test suite
bun run build # Build production bundle
MIT - See LICENSE file for details.
Check the Troubleshooting section or open an issue on GitHub.
Built with TypeScript, Commander.js, Octokit, Winston, Biome, and optimized for Bun runtime.
FAQs
security holding package
The npm package github-archiver receives a total of 2 weekly downloads. As such, github-archiver popularity was classified as not popular.
We found that github-archiver demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.