A comprehensive collection of essential engineering utilities for developers, migrated from the popular Alfred engineer tools extension. This Raycast extension provides 8 core functionalities to streamline your daily development workflow.
- Encode: URL encoding, Base64 encoding, and hexadecimal conversion
- Decode: URL decoding, Base64 decoding, hexadecimal decoding, and Unicode character decoding
- UUID Generator: Generate both UUID v4 (random) and UUID v7 (time-ordered) identifiers
- TypeID: Encode and decode TypeID format strings (type-prefixed UUIDs)
- Hash Generator: Generate MD5, SHA1, and SHA256 hashes from text input
- DateTime: Convert between Unix timestamps and human-readable dates, with timezone support
- File Size: Convert between bytes and human-readable file sizes (KB, MB, GB, etc.)
- IP Lookup: Get detailed information about IP addresses including location, ISP, and ASN data
- Install the extension from the Raycast Store
- Open Raycast and search for any of the available commands
- Start using the tools immediately - no configuration required
| Command | Description | Example Usage |
|---|---|---|
Encode |
Encode text to various formats | URL encode API parameters |
Decode |
Decode encoded text | Decode Base64 API responses |
UUID Generator |
Generate UUIDs | Create unique identifiers |
TypeID |
Work with TypeIDs | Generate typed UUIDs |
Hash Generator |
Create cryptographic hashes | Generate file checksums |
DateTime |
Convert timestamps | Debug API timestamps |
File Size |
Convert file sizes | Calculate download sizes |
IP Lookup |
Get IP information | Debug network issues |
- Node.js (v16 or higher)
- npm or yarn
- Raycast account for testing
# Clone the repository
git clone <repository-url>
cd raycast-engineer-tools
# Install dependencies
npm install
# Start development mode with hot reload
npm run dev
# Run linting
npm run lint
# Auto-fix linting issues
npm run fix-lint
# Build for production
npm run buildraycast-engineer-tools/
├── src/
│ ├── encode.tsx # URL/Base64/Hex encoding
│ ├── decode.tsx # Multi-format decoding
│ ├── uuid.tsx # UUID v4/v7 generation
│ ├── typeid.tsx # TypeID encode/decode
│ ├── hash.tsx # MD5/SHA1/SHA256 hashing
│ ├── datetime.tsx # Timestamp conversion
│ ├── filesize.tsx # File size conversion
│ ├── ip-lookup.tsx # IP address information
│ └── utils/ # Shared utility functions
│ ├── encoding.ts # Encoding/decoding utilities
│ ├── uuid.ts # UUID generation utilities
│ ├── typeid.ts # TypeID utilities
│ ├── datetime.ts # Date/time utilities
│ ├── filesize.ts # File size utilities
│ └── network.ts # Network/IP utilities
├── package.json
├── tsconfig.json
└── README.md
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes following the existing code style
- Test your changes:
npm run build && npm run lint - Submit a pull request with a clear description
This project uses:
- TypeScript with strict type checking
- ESLint with
@raycast/eslint-configfor consistent code style - React with functional components and hooks
- Raycast API for all UI components
Before submitting changes:
# Build the extension
npm run build
# Check for linting issues
npm run lint
# Auto-fix linting issues
npm run fix-lintThis project is licensed under the MIT License - see the LICENSE file for details.
- Originally migrated from the Alfred engineer tools extension
- Built with the Raycast API
- Icons and design inspiration from Raycast's design system
- Raycast Store - Download Raycast
- Developer Documentation - Raycast API docs
- Issues - Report bugs and request features