DEV Community

Aria Diniz
Aria Diniz

Posted on

1

C Project Starter: A Command-Line Tool for New C Projects

In the past few months, I've been dedicating a lot of time to one of my goals for this year: mastering the C language. As a result of this goal, I have been developing several projects in the language, from implementing data structures to tools to help me in my daily tasks. Since I've been incorporating this language into my routine quite a bit, I've created a tool to assist in creating new projects, aiming to save time writing boilerplate, setting up folder structures, etc. I named the project C Project Starter, and it's available on my GitHub.

C Project Starter was created to be used as a command-line tool on UNIX systems. To install it, simply clone the repository and run the install.sh script. You can also choose manual installation. Instructions are available in the project's README.md.

Using the tool is very simple. After installing it, just run

cgen –name project_name -c 23
Enter fullscreen mode Exit fullscreen mode

in the terminal, where "project_name" is the name of your project, and "23" is the desired C version. The tool will create a directory with the project name containing gitignore, main.c, and CMakeLists.txt files, and it will also have subdirectories src, lib, and include.

If there is a need, either mine or from a user, I will improve the tool by adding more customization options.

If you like the project or have any suggestions for changes or criticisms, feel free to get in touch, comment here, or open an issue on the project.

Thank you for reading this far!

AWS Security LIVE! Stream

Go beyond the firewall

There's more to security than code. Explore solutions, strategies, and the full story on AWS Security LIVE!

Learn More

Top comments (0)

Sentry image

Make it make sense

Only the context you need to fix your broken code with Sentry.

Start debugging →

👋 Kindness is contagious

If you found this article helpful, a little ❤️ or a friendly comment would be much appreciated!

Got it