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:
rnr
is designed to reduce complexity in running your project by automatically detecting project type, package manager, and scripts. Usernr
to 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
rnr
is installed globally to be accessible from any project directory.
Navigate to your project directory and run:
rnr
This command runs your project in development mode by default.
🚀 Quick Start: Just type
rnr
in your project folder, and you’re good to go!
- Development mode:
rnr dev
orrnr -m dev
- Production mode:
rnr prod
orrnr -m prod
- Build mode:
rnr build
orrnr -m build
- When run for the first time,
rnr
will detect your project settings - You'll be prompted to confirm or modify these settings
- Settings are saved in a
.rnr.rc
file 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.rc
file - Run
rnr
again 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
rnr
doesn’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:
rnr
prioritizes 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.rc
to 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.rc
and runrnr
again - Verify correct scripts in
package.json
- Check if the necessary package manager is installed
🛑 Common Fix: Resetting your configuration by deleting
.rnr.rc
often 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 link
to test local changes globally before publishing.
Contributions are welcome! Please refer to the CONTRIBUTING.md file in the repository for guidelines.
💻 Contribute: Help improve
rnr
by 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!