Skip to content

PoCInnovation/CodeBaseManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeBaseManager

Description

CodeBaseManager is a command line tool designed to ease the development of projects through multiple, single purpose, language independent, modules.

Each module are manage differently. By default, there are some modules but you can develop your own if you want. The final objective is to give a true open source tool that can help you to manage your codebase.

It will have a backend to hold information about the codebase, build system and such, of the project for the modules to use.

The project is compose of 3 services : the CLI, a backend and a watcher.

The CLI allow you to launch commands through the terminal who will control the watcher and backend. The watcher is a service who run continuously to get information about projects that wil be send to backend.

See below a schema of the current architecture

CMB-architecture

Installation

⚠️ Requires go 1.14

 git clone https://github.com/PoCInnovation/CodeBaseManager
 cd CodeBaseManager
 ./install.sh

Quick Start

cbm module [command]
or
cbm help

If no command is provided then, depending on the module, you may enter a shell. This shell can execute a command at a time and the module's commands.

Configuration

Each codebase can be configured thanks to TOML file.

For example, it's possible to manage functional tests like this :

cbm-toml-example

Modules

A module fills up a specific task. In the future they will be able to interact with the backend and with each other (for specific features).

Current

Modules Description Aliases Shell
server Allows you to interact with CBM's backend none no
repository Provides helpers for the organization of the repository (as well as project) none no
codebase Allows to find informations about the codebase none yes
functional-tests Allows to test a binary through the use of TOML files to describe tests "ft" yes

Predicted

Modules Description
unit-tests Allows to write unit tests for your functions
build Allows to describe a build system in a unique way
debug Allows to debug your program or functions

Dependencies

Dependency License
spf13/Cobra Apache License 2.0
BurntSushi/toml MIT License
gin-gonic/gin MIT License
logrusorgu/aurora Unlicense License

Example

Here is an example of result what you can do with CBM

Find module

cbm-find-example

Cat module

cbm-cat-example

Functional tests

Config

cbm-test-example

Result

cbm-test-example


Maintainers