Skip to content

LuizEduardoMarchi/build-better-github-repos

Repository files navigation

Build Better GitHub Repos

πŸ“ Build Better GitHub Repositories in 2026

Portuguese

GitHub repo size GitHub stars GitHub forks GitHub last commit License

πŸ“ Guide to Building a Proper GitHub Repository

πŸ’‘ Even in 2026, many people still have questions about how to properly organize a GitHub repository.
Having a functional project is important, but presenting it in a clear and organized way can make a huge difference for anyone visiting your profile.

πŸ“– With that in mind, I created this guide with some good practices that can help you structure your repositories.
By following these tips, your projects will become more organized, professional, and much easier for others to understand.

πŸ”₯ Tip: Choose good names for your projects. A clear and catchy name can attract more attention from people who visit your profile for the first time.
Remember: first impressions matter.

πŸ‘‹ Hi! My name is Luiz Eduardo. I'm a Software Engineering student and I use this profile to publish academic and personal projects, such as this guide.

✨ The goal of this repository is to help others organize their projects on GitHub by encouraging good practices in documentation, organization, and code presentation.

πŸ“š Summary

πŸ“Œ About

This repository presents a simple and practical guide with good practices for organizing your projects on GitHub.

πŸ“– Before anything, what is a README?

πŸ“Œ A README works as the showcase of your project.
It is where visitors will have their first contact with your work and quickly understand what your repository is about.

README: Before and After

    ❌ Bad README

        β€’ Title
        β€’ Description
        β€’ How to run

    βœ… Good README 

        β€’ Title
        β€’ Description
        β€’ Summary
        β€’ Features
        β€’ Technologies
        β€’ Structure
        β€’ Execution
        β€’ Operation
        β€’ Guide
        β€’ Contributions
        β€’ License
        β€’ Author

The Rule of 5 Questions

1 β€” What is this project?
2 β€” What does it do?
3 β€” How can someone run the project?
4 β€” How is the code structured?
5 β€” How can people contribute to the project?

🧭 If your README clearly answers these five questions, it is already fulfilling its role.

πŸš€ Now let's move on to what really matters

πŸ—οΈ How to build the structure of your repository?

In the book The Pragmatic Programmer, the authors present an important idea about software development: "Programming is more than just writing code. Good developers think about the problem, the design, and the organization of the system even before they start implementing it." This means that organization and planning are also part of the development process.

πŸ”— Reference: Hunt, Andrew; Thomas, David. The Pragmatic Programmer. Addison-Wesley.

  • ⚠️ Important: The goal of this guide is to help you organize and improve the page of a repository β€” whether you are creating one from scratch or improving an existing one β€” not to teach how to build a software project from scratch.

πŸ“‚ Recommended structure for a repository

🏷️ 1 β€” Project name

This is the first contact users will have with your project, so it should be clear, intuitive, and easy to remember. A good practice is to use simple names in lowercase separated by hyphens, a pattern known as kebab-case, which is widely used in the development community.

Example:

  • software-engineering-projects

πŸ“ 2 β€” Project description

    Provide a brief explanation of what the project is and what problem it solves.

Example:

  • Repository dedicated to publishing projects and activities developed during my Software Engineering degree.

βš™οΈ 3 β€” Features

    List the functionalities available in the project.

    You can also mention features that will be implemented in the future.

Example

  • User registration
  • Reservation creation
  • Reservation listing
  • Database integration (under development)

🧰 4 β€” Technologies used

    This section helps visitors quickly understand which tools were used in the development of the project.

Example

  • C++
  • Git
  • PostgreSQL

πŸ“ 5 β€” Project structure

    Here you can show how your project is organized internally.

    This helps other developers quickly understand the architecture of your code.
Example:
sistema-autenticacao/
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ main.cpp
β”‚ └── utils.cpp
β”œβ”€β”€ docs/
β”‚ └── authentication-guide.md
β”œβ”€β”€ modules/
β”‚ └── authentication/
β”‚ └── authentication.cpp
β”œβ”€β”€ database/
β”‚ └── database.cpp
β”œβ”€β”€ config/
β”‚ └── config.cpp
└── tests/
└── test_main.cpp

πŸ§ͺ 6 β€” How to run the project

    Explain in a simple way how anyone can run the project.

    Tip: It is also important to inform the programming language version used.
 Example using C++
To compile and run this project, you will need:

- Language: C++ (C++20 standard)
- Compiler: GCC 10+, Clang 10+, or MSVC 19.28+

To run the project in the terminal:

  • git clone
  • g++ main.cpp -o login
  • ./login

βš™οΈ 7 β€” How the system works

    In this section you can briefly explain how the system works in general.

Example

  • The system runs through the terminal, where users can authenticate and configure their profile.

🀝 8 β€” Contributions

    If the project is open source, explain how other people can contribute.
> Example
> - Contributions are welcome.
> - Feel free to open issues or submit pull requests.

>  You can also recognize people who contributed to the project:
> - [Colleague name] β€” AI logic
> - [Your name] β€” project structure and C++
> - [Another contributor] β€” documentation and tests

πŸ“Š 9 β€” Project status

    Indicate the current stage of the project.
> Example:

> 🚧 In development
             ou
>      βœ… Completed

πŸ“œ 10 β€” License

    Here you define how others can use your project.

Example

  • This project is licensed under the MIT License.

πŸ‘€ 11 β€” Author

    Include your name if you are the main author of the project.

Example

  • Luiz Eduardo Marchi

⭐ If this guide was useful to you

If this guide helped you in any way, consider leaving a ⭐ on the repository.
This helps other people find the project.

🏁 Conclusion

πŸ’‘ Organizing a repository well may seem simple, but it can make a big difference in how your work is perceived by others.

A well-documented project demonstrates organization, attention to detail, and commitment to good development practices. It also makes the code easier to understand, encourages contributions, and makes your portfolio look much more professional.

By applying these small improvements to your repositories, your projects will not only become easier to understand but will also present a much stronger image of your work as a developer.

🧠 Remember: writing code is not enough β€” knowing how to present and document your project is also an important skill for any developer.

Below are some useful icons that can be used to organize sections in a README.

🎨 Icons to use in your README

Icons can help make documentation more visual and easier to navigate.
Below are some common examples frequently used in README files.

πŸ“š General structure

Icon Common use Example
πŸ“Œ About the project ## πŸ“Œ About the project
πŸ“š Summary ## πŸ“š Summary
πŸ“– Documentation ## πŸ“– Documentation
🧠 Concepts or explanations ## 🧠 Concepts

βš™οΈ Development

Icon Common use Example
βš™οΈ System operation ## βš™οΈ How it works
🧰 Technologies used ## 🧰 Technologies
πŸ—οΈ Project structure ## πŸ—οΈ Project structure
πŸ§ͺ Tests ## πŸ§ͺ Tests

πŸš€ Project execution

Icon Common use Example
πŸš€ Running the project ## πŸš€ How to run
πŸ’» Terminal usage ## πŸ’» Usage
πŸ“¦ Installation ## πŸ“¦ Installation

🀝 Collaboration

Icon Common use Example
🀝 Contributions ## 🀝 Contributions
πŸ‘₯ Contributors ## πŸ‘₯ Contributors
πŸ› Report bugs ## πŸ› Bugs

πŸ“Š Project information

Icon Common use Example
πŸ“Š Project status ## πŸ“Š Status
πŸ“œ License ## πŸ“œ License
πŸ‘€ Author ## πŸ‘€ Author
🏁 Conclusion ## 🏁 Conclusion

About

A practical guide to organize and improve your GitHub repositories with better README structure and best practices.

Topics

Resources

License

Stars

Watchers

Forks

Contributors