A Big box is a generic word to say a "project".

— T-h2o

1. File hierachy

1.1. The program

inc

Include, for headers files

src

Source, for source code files

obj

Objet, for compiled source code

1.2. The documentation

docs

Documentation folder

1.3. The tester

test

Contains all sources for testing the program

2. Tools

2.1. Version control

git

no need to say more

2.2. A source code formater

clang-format

Clang format is a tool from llvm for formatting source files

2.3. HTML generator

Convert AsciiDoc to HTML5

— Asciidoctor

The tool is available into this docker image

  1. pull the image

    docker pull asciidoctor/docker-asciidoctor
  2. run the image with interactive mode

    docker run -it -v ${PWD}:/documents/ asciidoctor/docker-asciidoctor

3. Makefile rules

all

Compile the program

db

Compile the program and launch a debugger on the program

format

Run clang-format in each source files

docs

Generate from AsciiDoc into html

4. Markup language

AsciiDoc

It is clear as markdown and has more feature than markdown

5. Workflow

An article on a git workflow git-workflow