Is it because this tool is a mischievous shapeshifter, masterfully transforming your data from one form to another—turning chaotic JSON into structured CSV, or decoding cryptic tokens into readable text? Or is it just a simple shorthand for a RuneKit Developer toolkit? The answer is yes.
RuneKit is a comprehensive, open-source offline developer toolkit designed to help streamline common development tasks. Built with privacy-first principles, all processing happens 100% locally on the user's machine, with absolutely no data transmitted to external servers.
RuneKit provides a CLI tool, Web application, Desktop application, and Docker containers - all powered by a shared TypeScript core library.
- Privacy-First: All processing happens locally. No network requests, no data leaves your device.
- Multi-Platform: CLI tool, Web app, Native Desktop app, and Docker containers.
- Code Reuse: A single TypeScript
corelibrary powers all platforms. - Open Source: MIT licensed and driven by community contributions.
Install the RuneKit CLI tool globally:
npm install -g runekitOr use npx without installing:
npx runekit --helpVisit runekit-web.example.com to use the web version.
For self-hosting, check out our Docker images.
# Format JSON
runekit format-json '{"name":"John","age":30}'
# Format XML
runekit format-xml '<root><child>text</child></root>'
# Format YAML
runekit format-yaml 'name: John\nage: 30'
# Convert CSV to JSON
echo 'name,age\nJohn,30' | runekit csv-to-json
# Convert JSON to CSV
echo '[{"name":"John","age":30}]' | runekit csv-to-csv
# Decode JWT token
runekit decode-jwt eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiSm9obiIsImFnZSI6MzB9.5B8B23GQ3GQ3GQ3GQ3GQ3GQ3GQ3GQ3GQ3GQ3GQ3GQ
# Decode SAML response
echo 'PHNhbWxwOlJlc3BvbnNlIHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiPjwvc2FtbHA6UmVzcG9uc2U+' | runekit decode-samlAll commands support reading from stdin when no argument is provided:
cat data.json | runekit format-json| Platform | Technology Stack | Use Case | Distribution |
|---|---|---|---|
| CLI Tool | Node.js/TypeScript | Automation, scripting, CI/CD | npm, Homebrew, etc. |
| Web App | React/TypeScript | Quick browser access, no install | Vercel, Docker, Self-hosted |
| Native App | Tauri (Rust/TS) | Deep system integration, local files | GitHub Releases |
| Docker | Nginx/Alpine | Self-hosting the web app for teams | Docker Hub, GHCR |
- Node.js >= 16.0.0
- npm or yarn
-
Clone the repository:
git clone https://github.com/your-username/runekit.git cd runekit -
Install dependencies:
npm install
-
Build all packages:
npm run build
-
Run tests:
npm test
runekit/
├── packages/
│ ├── core/ # SHARED OFFLINE LOGIC (TypeScript)
│ │ ├── src/formatters/ # JSON, XML, YAML formatters
│ │ ├── src/converters/ # CSV <> JSON conversion
│ │ ├── src/parsers/ # JWT, SAML decoders
│ │ └── index.ts # Main export for all functions
│ ├── cli/ # Node.js CLI Tool (consumes `core`)
│ │ ├── src/commands/ # CLI command implementations
│ │ └── package.json
│ ├── web/ # React Web App (consumes `core`)
│ │ ├── src/pages/ # UI for each tool
│ │ └── package.json
│ └── desktop/ # Tauri Native App (consumes `core`)
│ ├── src-tauri/ # Rust backend for system tasks
│ └── package.json
├── docker/ # Docker configs for self-hosting the web app
├── LICENSE # MIT License
└── README.md
We welcome contributions from the community! Please see our CONTRIBUTING.md for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have helped shape RuneKit
- Inspired by the need for privacy-first developer tools