A modern, powerful development shell and build system for C/C++ projects.
- Intelligent code completion for seamless C/C++ development
- Powerful build pipeline with incremental compilation
- Multiple toolchain support for cross-platform development
- Smart project management with dependency tracking
- Parallel builds across multiple projects and components for maximum performance
- Custom shell with tab completion
- Command history management
- Project configuration via YAML
- Cross-platform support (Windows, macOS, Linux)
To start using InsurgeNT, run the shell:
python -m insurgent.shell
InsurgeNT now supports parallel builds by default for maximum performance.
# Build all targets in parallel
build
# Build specific target
build myapp
# Build with debug symbols
build --debug mylib
# Build sequentially (non-parallel)
build --sequential
InsurgeNT uses YAML configuration for project definitions. Here's an example:
project: example
description: An example project
authors: Your Name
license: MIT
version: 0.1.0
language: c++
standard: c++20
compiler: g++
compiler_flags:
global: "-fPIC"
common: "-O2 -Wall -Wextra"
cpp: "-std=c++20"
ld: "-lstdc++"
project_dirs:
- sources
project_type: executable
output: bin/example
# Optional bootstrap step
bootstrap:
task: prepare
command: "mkdir -p bin"
pip install insurgent
For development, InsurgeNT provides setup scripts to create a virtual environment and install dependencies:
# Setup development environment
./setup.sh
# With additional options
./setup.sh --venv=custom_venv --hooks --lint
# Setup development environment
setup.bat
# With additional options
setup.bat --venv=custom_venv --hooks --lint
To run linting tools on your code:
# Check and format code
./lint.sh
# Only check code (for CI)
./lint.sh --check
# Check and format code
lint.bat
# Only check code (for CI)
lint.bat --check
After installation, you can run the development shell by executing:
python -m insurgent.shell
ls
,cd
,pwd
- File navigationmkdir
,touch
,rm
,cp
- File operationsbuild <project> [options]
- Build a projecthistory
- Show command history
InsurgeNT includes a powerful build system for C/C++ projects with features like:
- Incremental builds
- Dependency tracking
- Multiple compiler support
- Parallel and fully asynchronous compilation for maximum performance
- Cross-platform compatibility
InsurgeNT is licensed under the MIT License