Why This Project Exists
This project addresses the complexity and fragmentation of dependency management in C and C++. Existing solutions often require steep learning curves, complex build system integrations, or proprietary registries, and this project was created to provide a streamlined, Git-centric experience similar to modern package managers like npm or cargo.
Key Features
-
Zero-Config Scaffolding:
Instant project creation with
crew create. - Git-Native Dependencies: Install any library directly via URL, branch, or tag.
-
Automated Include Flags: Easily
generate
-Ipaths for your compiler. -
Built-in Script Runner:
Automate build and run tasks via
crew.json.
Architecture Overview
Crew follows a modular CLI architecture designed for speed and simplicity. The main components include:
- CLI Entry (crew.py): Parses user commands and routes them to the appropriate logic.
- Engine (crew_utils.py): Handles the heavy lifting of dependency resolution, Git operations, and manifest management.
- Storage (crew_modules/): A local workspace where all project dependencies are housed and versioned.
Data flows from
remote Git repositories via
git clone into
local subdirectories. The system
maintains project state in crew.json,
allowing it to be
highly portable and easy to version
control.
Technology Stack
Installation / Setup
Prerequisites
- Python 3.6 or higher
- Git installed and accessible in the system path
- Internet connection (for library fetching)
Steps
-
Scaffold your first project:
crew create my-app --template cpp cd my-app -
Install a library (e.g., nlohmann/json):
crew install https://github.com/nlohmann/json.git -
Add the include flags to your build command:
g++ main.cpp $(crew flags) -o app -
Run your application using the build script:
crew run build && crew run start
Usage
Crew is designed to bring developer happiness to C++. To get started:
-
Run
pip install crew-clito get the tool globally. -
Use
crew initto add Crew to an existing project. -
Use
crew install url@tagto pin dependencies to specific versions.
For automated builds, you can use
crew run to execute scripts defined in
your manifest. The system supports
modern Git workflows, allowing
users to
manage dependencies without a central
server.
Project Structure
Roadmap
Security
Please report vulnerabilities to the 127 CREW maintainers via our GitHub repository.
License
Licensed under the GNU General Public License v3.0 (GPL-3.0).
Maintainers
Maintained by 127 CREW.