ArSky is a powerful and easy-to-use Node.js CLI tool for generating or fetching ASCII art. With ArSky, you can either retrieve ASCII art for any word or create your own from an image file.
- Features
- Installation
- Usage
- Development
- Contributing
- Troubleshooting
- Changelog
- License
- Acknowledgments
- Fetch ASCII art for given words or phrases
- Generate ASCII art from image files
- TypeScript support for enhanced type safety and developer experience
- Comprehensive test suite using Jest
- Consistent code style with ESLint and Prettier
- Cross-platform compatibility (Windows, macOS, Linux)
Install ArSky globally using npm:
npm install -g arsky
For local development:
git clone https://github.com/ArgonautAli/arsky
cd arsky
npm install
ArSky can be used with the following options:
-g, --get <text>
: Input text to get ASCII art-c, --create <path>
: Input path to an image file to create ASCII art-s, --search <text>
: Input text to create ASCII art from Google image search results-v, --version
: Display the current version of ArSky-h, --help
: Display help information
Fetch ASCII art for a word from archives:
arsky -g coffee
Create ASCII art from an image:
arsky -c path/to/your/image.png
Create ASCII art from a random image using Google image search:
arsky -s "michael scott"
For more options and detailed usage instructions:
arsky --help
- Node.js (version 14 or higher)
- npm (version 6 or higher)
npm run build
: Compile TypeScript to JavaScriptnpm start
: Run the compiled appnpm run dev
: Run the app in development mode with ts-nodenpm test
: Run the test suitenpm run lint
: Run ESLintnpm run lint:fix
: Run ESLint with auto-fixnpm run format
: Format code with Prettiernpm run format:check
: Check code formatting without making changes
We use Jest for unit testing. Run the test suite with:
npm test
This project uses ESLint for linting and Prettier for code formatting.
To run the linter:
npm run lint
To automatically fix linting issues:
npm run lint:fix
To format code with Prettier:
npm run format
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- 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
Please ensure your code adheres to the existing style by using the provided ESLint and Prettier configurations.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
If you encounter any issues, please check the FAQ or open an issue in the GitHub repository.
For a detailed list of changes and version history, please refer to the CHANGELOG.
This project is licensed under the MIT License - see the LICENSE file for details.
- ASCII Art Archive for providing a vast collection of ASCII art
- Sharp for high-performance image processing
- Commander.js for command-line interface support
- All the contributors who have helped shape ArSky