If you found some error or want append more information please add pull request in github or create new issues for ask or problem


Yet another... C++ Source Package Manager.


You can add any issues on github: https://github.com/wsjcpp/wsjcpp/issues

Or write me an e-mail with topic: "wsjcpp" to mrseakg@gmail.com

I need your help with this project!
Please rate it with a star, follow updates notifications by clicking on "watch" button or just make a fork https://github.com/wsjcpp/wsjcpp
For submitting the official package into brew: "GitHub repository is not notable enough (<30 forks, <30 watchers and <75 stars)"

features - has implementation

all goals - not yet implemented


MacOS: brew

Via brew To upgrade package:

MacOS: build from source code

Debian/Ubuntu: build && install from source code

Look on YouTube


Step 1. Install the latest docker into your system

Step 2. Pull a container with wsjcpp

Step 3. Change the directory to the one containing your project (cd ~/my-project)

Step 4. Run interactive command line container

Now you can use "wsjcpp" command and build/run your project

more dependencies in docker image

If you need more deb packages and programs than the image "sea5kg/wsjcpp:latest" contains, you can install it via apt, but don't forget that after restarting the container they will be lost.

To solve this problem you need to prepare Dockerfile.dev that looks something like this:

Now you can use "wsjcpp" command and build/run your project

Build your docker image:

Run container from your image (+ extend port):


search packages in github

I think that better praxis is to add topic in the github repository: https://github.com/topics/wsjcpp-package

init new package

Then you need to specify several fields (or you can do it later in wsjcpp.yml): At this step different files will be generated (if they don't exist), eg:

Submit source packages into wsjcpp

At the moment, wsjcpp can work with public repositories in

Below you can see that it is easy to submit wsjcpp-package:

Step 1. Create "wsjcpp.yml" file with minimal content (please fill in the fields with your data) in your repository

Step 2. And add topic
into your public github project

Step 3. Test installation of your project

wsjcpp info

Information about current package. Example:

wsjcpp distribution

Developer defines what exactly your package will distribute (without main/trash/unit-tests - only core code). Example:

wsjcpp unit-tests

Create unit-tests for your distributed files Example:

wsjcpp generate

Generate source code from templates supplied with packages Example:

wsjcpp resources

Convert binary or text resource files into C++ code Example:
How to use resources from code:

wsjcpp prepare

Prepare some usefull files


E-mail: mrseakg@gmail.com

Telegram: https://t.me/wsjcpp

Official web-site: https://wsjcpp.org

GitHub: https://github.com/wsjcpp/wsjcpp


idea: wsjcpp prepare deb-package

Prepare folder with a deb package

idea: wsjcpp prepare ppa-package

Prepare folder for a ppa source package

idea: wsjcpp prepare dockerfile

Prepare sample Dockerfile for you package

GitHub Issue

idea: wsjcpp docs generate

Scan sources and generate documentation like a doxygen

GitHub Issue

idea: web-dev-panel

launch: wsjcpp web-dev-panel start --web ./web --project-dir ./project --port 8777

Or simply (default port: 8777): wsjcpp web-dev-panel start

missing package: wsjcpp-do-run-command

What will be done:
  • Simple web app
  • File tree of a project (exclude git maybe)
  • Code editor: using a CodeMirror
  • Command line web
  • Tabs: editor / console / test / packages / docs
  • Or buttons: build / run-unit-tests

GitHub Issue

idea: add support conan

1. Push/prepare package for conan.io

2. Install packages from conan.io

idea: wsjcpp clean

Call the script ./clean.sh

idea: wsjcpp install -g "url"

Add installation to global directory in system / or in home user directory

idea: wsjcpp install "git@github.com:...."

Add support of installation packages from private repository (with credentials https/ssh/git)

idea: wsjcpp server-origin start

Same "registry"

Web server for caching/registry source packages in local network (e.g. for use within your company)
Not implemented yet

what will be included:


Он же билд сервер - для проверки пакетов (на основе докера)

Без авторизации - просто ссылка на репозиторий (github) и версию пакета (типа wsjcpp publish link : version) - также сохраняются все файлы для дистрибьюции - запрещена повторная заливка пакета

С авторизацией (простенькая) - загружается сорс код по файлово - то что в дистрибьюции - надо проработать протокол типа заливается вначале wsjcpp.yml - потом дозаливаются все остальные файлы

Регистрация только в ручном режиме - заходим в админку и добавляем пользователя с ролью девелопер

Состояние сборки и тестов (если не прошли тесты и сборка то пакет дропается с сервера а состояния остаются)

Хранятся последняя версия пакета а также версии на которые ссылаются предыдущие + хранятся unit-tests - весь остальной храм удаляется


wsjcpp publish ссылка-на-гитхаб:бранч-или-тег

wsjcpp publish путь-до-локального-пакета

wsjcpp publish --origin ссылка-сервера-регистратора что-куда

если оригин не указан то используется дефолтный wsjcpp.org