Skip to content

Cookbook ​

Everything FoBiS does, by task. Each chapter opens with how that part of FoBiS works, then gives one recipe per task: the fobos lines, the commands, a real output, the limits worth knowing, and links to the tutorial chapter that shows it running and to the reference of every option. Every output on these pages is generated by the tutorials' sessions and checked by CI; every fobis command and fobos mode key is checked against FoBiS itself.

New to FoBiS? Start with the first tutorial: it builds a project in five minutes. Come back here when you need something specific.

ChapterWhat it covers
Buildinghow a build works, a new project, modes for debug and release, flags per compiler, templates and variables, features, parallel and incremental builds, sources, C files, preprocessing, the cache, running a program
Libraries and other build systemsstatic and shared libraries, pkg-config files, external libraries, a project built on another, custom rules, a Makefile, fpm, compile_commands.json
Dependenciesa GitHub dependency pinned or in a semver range, built with your sources or as a library, a local directory, test-only dependencies, the lock file, installing from GitHub, offline machines
Testingtest programs, suites, parallel and MPI tests, doctests, coverage, defects only a checked build sees, explained failures
Verifying resultscases and the quantities they print, references and tolerances, checked builds across compilers, numerical error, whether a change is harmless or faster, the gate, profiles
Code qualitythe linter, legacy code, suppressions and fixes, reviews of a change, who calls what, verified modernisation, C and Python bindings
AI assistanceexplained build failures and crashes, questions about the code, generated tests, a second reader, commit messages, merge conflicts, what to trust
Models, knowledge and agentsa local model, other providers, offline clusters, knowledge packs, the MCP server for your agent, AGENTS.md
Many projectsan ecosystem of repositories, the dashboard, commands in dependency order, checks before a release, shared boilerplate, the release train
CI and machine outputa GitHub Actions workflow, the gate in CI, lint reports, JSON output, a pre-commit hook
HPC and clustersMPI, OpenMP and GPU builds, several compilers, launchers, Slurm, profiling on a node, air-gapped machines