1.0.1 • Published 5 months ago
currcalc v1.0.1
currcalc
Advanced Currency Converter CLI with Node.js, TypeScript, and Interactive Features
Features
- 🌐 Convert between 170+ global currencies
- 💾 Store conversion history
- 🔄 Auto-complete currency selection
- 📊 Beautiful, colorful output
- 🔍 Fast fuzzy search for currencies
- 📱 Multiple API key storage options
- ⚡ Response caching for faster performance
Installation
# Install globally
pnpm install -g currcalc
# Or run directly with pnpm
pnpm dlx currcalc
Setup
API Key Setup
- Create a free account on ExchangeRates API
- Subscribe to the free plan and copy your API key
- Set up your API key using one of these methods:
Method 1: Command Line
pnpm dlx currcalc --key YOUR_API_KEY
Method 2: Environment Variable
# Windows
set CURR_API_KEY=YOUR_API_KEY
# Mac & Linux
export CURR_API_KEY=YOUR_API_KEY
Usage
Basic Currency Conversion
pnpm dlx currcalc
Follow the interactive prompts:
- Select source currency (with autocomplete)
- Select target currency (with autocomplete)
- Enter the amount to convert
Command Line Options
# View conversion history
pnpm dlx currcalc --history
pnpm dlx currcalc -h
# Clear conversion history
pnpm dlx currcalc --clear
pnpm dlx currcalc -c
# Set API key
pnpm dlx currcalc --key YOUR_API_KEY
pnpm dlx currcalc -k YOUR_API_KEY
# View help
pnpm dlx currcalc --help
# View version
pnpm dlx currcalc --version
Development
Prerequisites
- Node.js 16+
- pnpm or yarn
Setup Development Environment
# Clone repository
git clone https://github.com/user/currcalc.git
cd currcalc
# Install dependencies
pnpm install
# Run in development mode
pnpm run dev
# Build for production
pnpm run build
# Run linting
pnpm run lint
# Run tests
pnpm run test
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- ExchangeRates API for currency data
- Inquirer.js for interactive CLI
- Commander.js for command line option parsing