{"id":31133095,"url":"https://github.com/fllesser/nbr","last_synced_at":"2026-05-29T06:31:20.216Z","repository":{"id":309668708,"uuid":"1034811877","full_name":"fllesser/nbr","owner":"fllesser","description":"Unofficial CLI for NoneBot2 - A Rust implementation","archived":false,"fork":false,"pushed_at":"2026-05-27T19:33:40.000Z","size":391,"stargazers_count":6,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T21:17:48.503Z","etag":null,"topics":["cli","nb-cli","nonebot2"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fllesser.png","metadata":{"files":{"readme":"README-en.md","changelog":"Changes.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-09T03:19:43.000Z","updated_at":"2026-05-19T03:57:37.000Z","dependencies_parsed_at":"2025-11-28T19:03:32.187Z","dependency_job_id":null,"html_url":"https://github.com/fllesser/nbr","commit_stats":null,"previous_names":["fllesser/nbr"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/fllesser/nbr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fllesser%2Fnbr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fllesser%2Fnbr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fllesser%2Fnbr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fllesser%2Fnbr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fllesser","download_url":"https://codeload.github.com/fllesser/nbr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fllesser%2Fnbr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33640627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","nb-cli","nonebot2"],"created_at":"2025-09-18T05:41:00.728Z","updated_at":"2026-05-29T06:31:20.201Z","avatar_url":"https://github.com/fllesser.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NoneBot CLI (Rust Implementation)\n\nA fast and efficient Rust implementation of the NoneBot command-line interface for managing NoneBot2 projects, plugins, and adapters.\n\n### Note: This project is still under development, and some features may not be fully functional.\n\n## 🚀 Features\n\n- **Fast Package Management**: Uses [uv](https://astral.sh/blog/uv) for lightning-fast Python package installation\n- **Project Management**: Initialize, create, and manage NoneBot2 projects\n- **Plugin Management**: Install, uninstall, and update NoneBot2 plugins\n- **Adapter Management**: Manage NoneBot2 adapters for different platforms\n- **Environment Checking**: Validate Python environment and dependencies\n- **Template Generation**: Generate boilerplate code for bots and plugins\n\n## 📋 Prerequisites\n\n### Required\n- **Rust** (1.85+) - for building the CLI tool\n- **Python** (3.10+) - for running NoneBot2 projects\n- **uv** (0.9.0+) - for Python package management\n\n### Install uv\n\u003cdetails\u003e\n\u003csummary\u003eUse astral official install script(recommended)\u003c/summary\u003e\n\n    curl -LsSf https://astral.sh/uv/install.sh | sh\n\n\u003c/details\u003e\n\n## 🛠 Installation\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall with cargo\u003c/summary\u003e\n\n    cargo install nbr\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall from releases\u003c/summary\u003e\n\nOnly support Linux(x86_64), MacOS(arm64) and Windows(x86_64)\n\n\u003cdetails\u003e\n\u003csummary\u003eLinux(x86_64)\u003c/summary\u003e\n\nDownload the latest release from GitHub\n\n    curl -LsSf https://github.com/fllesser/nbr/releases/latest/download/nbr-Linux-musl-x86_64.tar.gz | tar -xzf -\n\nMove the binary to your PATH\n\n    sudo mv nbr /usr/local/bin/\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMacOS(arm64)\u003c/summary\u003e\n\nDownload the latest release from GitHub\n\n    curl -LsSf https://github.com/fllesser/nbr/releases/latest/download/nbr-macOS-arm64.tar.gz | tar -xzf -\n\nMove the binary to your PATH\n\n    sudo mv nbr /Users/{username}/.local/bin/\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eWindows(x86_64)\u003c/summary\u003e\n\nDownload the latest release from GitHub\n\n    curl -LsSf https://github.com/fllesser/nbr/releases/latest/download/nbr-Windows-msvc-x86_64.zip | tar -xzf -\n\nMove the binary to your PATH\n\n    ...\n\u003c/details\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall with repository\u003c/summary\u003e\nClone the repository\n\n    git clone https://github.com/fllesser/nbr.git\n\nInstall globally\n\n    cargo install --path .\n\n\u003c/details\u003e\n\n\n## 📖 Usage\n\n\n\u003cdetails\u003e\n\u003csummary\u003eProject Management\u003c/summary\u003e\n\nCreate a new NoneBot2 project, Option `-p` / `--python` to specify the Python version\n\n    nbr create\n\nRun NoneBot2 project, Option `-r` / `--reload` to reload the project\n\n    nbr run\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ePlugin Management\u003c/summary\u003e\n\nInstall a plugin\n\n    nbr plugin install nonebot-plugin-emojilike\n\nInstall a plugin with specific index\n\n    nbr plugin install nonebot-plugin-emojilike --index https://pypi.org/simple/\n\nInstall a plugin from github repo\n\n    nbr plugin install https://github.com/fllesser/nonebot-plugin-abs@master\n\nUninstall a plugin\n\n    nbr plugin uninstall nonebot-plugin-emojilike\n\nUpdate plugins, Option `-r` / `--reinstall` to reinstall this plugin\n\n    nbr plugin update \u003cplugin\u003e\n\nUpdate all plugins\n\n    nbr plugin update --all\n\nList installed plugins, Option `--outdated` to list outdated plugins\n\n    nbr plugin list\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAdapter Management\u003c/summary\u003e\n\nInstall adapters\n\n    nbr adapter install\n\nUninstall adapters\n\n    nbr adapter uninstall\n\nList installed adapters, Option `-a` / `--all` to list all installed adapters\n\n    nbr adapter list\n\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n\u003csummary\u003eEnvironment Management\u003c/summary\u003e\n\nCheck environment status\n\n    nbr env check\n\nPrint environment information\n\n    nbr env info\n\n\u003c/details\u003e\n\n\n## 🏗 Development\n\n### Project Structure\n\n```\nsrc/\n├── cli/\n│   ├── adapter.rs      # Adapter management\n│   ├── create.rs       # Project creation\n│   ├── env.rs          # Environment checking\n│   ├── generate.rs     # Code generation\n│   ├── init.rs         # Project initialization\n│   ├── plugin.rs       # Plugin management\n│   └── run.rs          # Bot execution\n├── config.rs           # Configuration management\n├── error.rs            # Error handling\n├── main.rs             # CLI entry point\n└── utils.rs            # Utility functions\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Run tests (`cargo test`)\n5. Commit your changes (`git commit -m 'Add amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [NoneBot2](https://github.com/nonebot/nonebot2) - The original NoneBot framework\n- [uv](https://github.com/astral-sh/uv) - Fast Python package installer\n\n## 📞 Support\n\n- **Issues**: [GitHub Issues](https://github.com/fllesser/nbr/issues)\n- **Documentation**: [docs/](docs/)\n- **NoneBot Community**: [NoneBot Documentation](https://v2.nonebot.dev/)\n\n---\n\n**Note**: This is a Rust reimplementation of the NoneBot CLI with enhanced performance through uv integration. For the original Python version, see the [official NoneBot CLI](https://github.com/nonebot/nb-cli).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffllesser%2Fnbr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffllesser%2Fnbr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffllesser%2Fnbr/lists"}