Say goodbye to managing multiple package managers and remembering unique run scripts for each project type. With rnr, you’re just one command away from launching your project, whether it's JavaScript, TypeScript, Next.js, Vite, React Native, Express.js, Nuxt.js, Vue.js, or more. Future support for additional applications, like Python, is coming soon!
- Introduction
- Key Features
- Installation
- Basic Usage
- Advanced Usage
- Supported Project Types
- Package Manager Priority
- Configuration File (.rnr.rc)
- Troubleshooting
- Development
- Contributing
- License
- Support
💡 Tip:
rnris designed to reduce complexity in running your project by automatically detecting project type, package manager, and scripts. Usernrto streamline your development experience.
rnr is a command-line tool designed to simplify running JavaScript and TypeScript projects. It automatically detects your project type, package manager, and run scripts, allowing you to start your project with a single command.
- Automatic detection of project type and configuration
- Support for multiple project types (Next.js, Express.js, React, Vue, etc.)
- Smart package manager selection (Bun, pnpm, Yarn, npm)
- Easy switching between development, production, and build modes
- Self-configuring with customizable settings
📌 Key Feature: Save time and reduce errors with
rnr’s automatic project detection and package manager prioritization.
Install rnr globally using one of the following commands:
- npm:
npm install -g rnr - yarn:
yarn global add rnr
🛠 Important: Ensure that
rnris installed globally to be accessible from any project directory.
Navigate to your project directory and run:
rnrThis command runs your project in development mode by default.
🚀 Quick Start: Just type
rnrin your project folder, and you’re good to go!
- Development mode:
rnr devorrnr -m dev - Production mode:
rnr prodorrnr -m prod - Build mode:
rnr buildorrnr -m build
- When run for the first time,
rnrwill detect your project settings - You'll be prompted to confirm or modify these settings
- Settings are saved in a
.rnr.rcfile in your project root
⚙️ Tip: First-time setup is a one-time process, and it’s easy to update later if your project changes.
- Delete the
.rnr.rcfile - Run
rnragain to recreate the configuration
- Next.js
- Express.js
- Vite + React
- Nuxt.js
- Turborepo
- Monorepo (Lerna)
- React
- Vue
- Unknown (generic JavaScript/TypeScript projects)
✅ Pro Tip: Even if
rnrdoesn’t officially support your project type, it can still detect and run generic JavaScript or TypeScript projects.
rnr detects and uses package managers in the following order:
- Bun
- pnpm
- Yarn
- npm
🎯 Note:
rnrprioritizes faster, modern package managers like Bun and pnpm. Ensure they are installed if you prefer them.
The .rnr.rc file contains:
- Project type
- Package manager
- Run scripts for development and production
🔧 Customizable: You can easily modify
.rnr.rcto tweak how your project runs, including changing run scripts or package managers.
If you encounter issues:
- Ensure you're in the correct project directory
- Delete
.rnr.rcand runrnragain - Verify correct scripts in
package.json - Check if the necessary package manager is installed
🛑 Common Fix: Resetting your configuration by deleting
.rnr.rcoften resolves issues.
For persistent issues, open an issue on the GitHub repository.
To set up for development:
-
Clone the repository:
git clone https://github.com/sujit-shrc/rnr.git cd rnr -
Install dependencies:
npm install -
Build the project:
npm run build -
Link the package globally:
npm link
Running tests: npm test
Linting: npm run lint
🧑💻 Developer Note: Use
npm linkto test local changes globally before publishing.
Contributions are welcome! Please refer to the CONTRIBUTING.md file in the repository for guidelines.
💻 Contribute: Help improve
rnrby submitting bug reports or pull requests.
rnr is released under the MIT License. See the LICENSE file for details.
For questions, suggestions, or issues, please use the GitHub issue tracker.
💬 Need Help? Feel free to open a GitHub issue if you run into any problems or need assistance.
With rnr, simplify your development workflow and focus on what matters most - Happy Coding!