Installation โข Docs โข Roadmap โข Community
๐ง Early Alpha ๐ง
Comet is a platform agnostic, automatically declarative package manager purpose built to simplify the needs of both developers and new users alike. It tries to providing a versatile, fast, and capable alterntive to other monolthic
Comet aims to provide:
- Automatic logging and managing of package configurations
- multi-source fetching (eg. git, self hosted repos, the comet Mono-repo)
- Easy integration for other managers, (see npm for example)
- Reduced reliance on complex package ecosystems (such as pip + conda)
Have you ever heard the dreaded "it works on my machine" comment? Comet is designed to elimate this issue entirely. Simply install the packages build dependencies needed to build and run your application in one command, and your done! Even if comet doesn`t know how to build your project. You can use the automatically generated dependency tree to replicate your environment. Or you can easily define the build process yourself in a familar format (eg. toml)
Nix is a powerful tool, but it also very complex. This doesnt mean either is better, you should use the right tool for the job. For a comparison, look at the chart below.
Feature | Comet | Nix | Others (apt, dnf, brew, etc.) |
---|---|---|---|
Declarative | โ | โ | โ |
Windows support | โ | โ | |
MacOS support | โ | โ | โ
(e.g., brew ) |
Linux support | โ | โ | โ |
Automatic package declarations | โ | โ | โ |
System-wide installation | โ yet | โ | โ |
Source availability | โ Multi-source (custom URL, Git registries, etc.) | ||
Plugin support | โ | โ | โ |
Ease of use | โ | โ Generally straightforward for most users | |
Environment management | โ | โ
(e.g., nix-shell , nix develop , nix-env ) |
venv for Python, Docker for containers) |
Advanced build system | โ yet | โ | โ |
Reproducibility | โ (focused on environments) | โ Deterministic builds | โ |
Build isolation | โ | โ (sandboxing and pure builds) | โ |
Community adoption | In development, limited | Widespread among advanced users | โ Ubiquitous across common operating systems |
Ecosystem maturity | โ Established and stable | โ Highly mature | |
Integration with CI/CD | โ seamless integration (only on unix runners) |
Important
Comet is currently in early development. this means that the installation process is not yet stable. and must be done manually.
- Install the rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Clone the repository
git clone https://github.com/Starlight-Industries/Comet.git
- Navigate to the project directory
cd Comet
- Build & install the project
cargo install --path .
Note
If you are on windows, you will need to add the cargo bin directory to your path.
setx PATH "%PATH%;%USERPROFILE%\.cargo\bin"
Tip
if comet cannot be found make sure it is in your $PATH and restart your shell
Warning
This method is not yet stable, and may not work as expected. This method may or may not be available at the time of reading. (The script is a placeholder at the time of writing)
Simply run the following command to install the latest version of Comet.
curl -fsSL https://raw.githubusercontent.com/Starlight-Industries/Comet/main/install.sh | sh
[WIP] Check back later. Or you could Contribute! ๐
Current Status: Project planing โ
- Fully plan out package spec <- We are here โญ
- Basic package management system (install/remove).
- Core logging framework for package declarations.
- Dependency management with sandboxing.
- Full-featured library backend.
- Cross-platform support Windows.
- Oficial GUI for easy package management.
- Environment variable configuration baked into the CLI.
- Cross-manager integration with npm, pip, and more.
- Community-driven plugin repository.
- MacOS Support.
- Web-based package browser (inspired by Flathub).
- Intelligent version rollbacks.
- Bootstrap linux via Comet.
starlight-linux soonโข
โญ - The most support is avalible for this platform.
๐ฅ - This platform is currently supported with high priority.
Platform | Status | Priority |
---|---|---|
Linux | โ Supported | โญ Main |
Windows | ๐ In progress | ๐ฅ High |
macOS | ๐ Planned |
Note
We are always looking for new contributors to help us achieve our goals, so if you're interested and posess a targeted device, please reach out to us on Discord (Eg. MacOS ๐).
Here are the following links to all of our socials, if you discover a different account on any platform not listed here claiming to be affilated they are NOT affilated with the project, starlight-industries, or any of our related projects, products, or services.
Can Comet replace system package managers?
No, not yet atleast. Comet is designed to complement system package managers by focusing on project-level and environment-specific package management, this is still subject to change though.How can I contribute?
We welcome contributions! Check out the [Contributing Guide]() for details on how to get started. Whether it's fixing bugs, improving documentation, or building new features, we'd love your help!Thank you for considering contributing to Comet! We appreciate your interest in helping us improve the project. Comet is an open-source project and is made possible by the contributions of many individuals like You:
For more information on how to contribute, please refer to the Contributing Guide.
Made with โค๏ธ by Starlight-industries & the open source community
๐ Star us on GitHub | ๐ข Share with friends | ๐ค Join the community!