DEV Community

Jhones Bomfim
Jhones Bomfim

Posted on

MarteoCLI: Democratizing the C++ Journey for Beginners

For those starting their journey in programming, the first experience often determines whether they will persist or give up. In modern languages like Rust or Python, the ecosystem is welcoming: a single command and you have a project ready to go. In C++, the story is usually different.

Too often, beginners give up before writing their first std::cout. They face a daunting gap: "Where do I put my header files?", "How do I configure CMake?", "Why can't my compiler find the file?". To bridge this "configuration limbo," I developed MarteoCLI.

The Problem: An Unnecessary "Rite of Passage"

Traditionally, starting a C++ project requires you to be a build system expert before you even become a programmer. The ritual involves manually creating folders, configuring include paths, and fighting against the rigid syntax of CMake. This process doesn't teach programming logic; it only creates friction. A beginner's focus should be on understanding algorithms, pointers, and classes - not wasting hours troubleshooting a CMakeLists.txt file.

The Solution: MarteoCLI

MarteoCLI (available on PyPI) was born with a clear mission: to be the "Cargo" or "NPM" that the C++ ecosystem for beginners never had.
Developed under BomfInit-Labs, I focused on three main pillars:

  1. Accessibility: Simple installation via pip install marteocli.
  2. Standardization: Teaching project organization best practices invisibly.
  3. Speed: Moving from zero to a compilable project in seconds.

How it works in practice

Imagine a student wanting to start a project today. Instead of creating files manually, they simply run:
marteo start create my_project -t cmake

Instantly, MarteoCLI generates a professional structure:

  • /src: For your source files.
  • /include: For your headers.
  • CMakeLists.txt: Pre-configured and ready to build. The tool offers templates that adapt to the student's needs: from -t blank for those who want total control, to -t header for those creating libraries.

Global Impact: Empowering Education

My goal with MarteoCLI is for it to be used in classrooms and by self-taught learners worldwide. By removing the "Boilerplate" barrier, we allow technology students anywhere - from Brazil to India - to have the same ease of entry into one of the world's most powerful languages.
C++ doesn't have to be intimidating. With the right tools, we can turn "configuration fear" into the "joy of creation."

How to Get Started?

MarteoCLI is an open-source project. If you are a beginner, install it and try it out. If you are an experienced developer, I invite you to contribute with new templates and improvements to our repository.

Let's make C++ accessible for the next generation of developers.

Top comments (0)