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.
| Chapter | What it covers |
|---|---|
| Building | how 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 systems | static and shared libraries, pkg-config files, external libraries, a project built on another, custom rules, a Makefile, fpm, compile_commands.json |
| Dependencies | a 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 |
| Testing | test programs, suites, parallel and MPI tests, doctests, coverage, defects only a checked build sees, explained failures |
| Verifying results | cases 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 quality | the linter, legacy code, suppressions and fixes, reviews of a change, who calls what, verified modernisation, C and Python bindings |
| AI assistance | explained build failures and crashes, questions about the code, generated tests, a second reader, commit messages, merge conflicts, what to trust |
| Models, knowledge and agents | a local model, other providers, offline clusters, knowledge packs, the MCP server for your agent, AGENTS.md |
| Many projects | an ecosystem of repositories, the dashboard, commands in dependency order, checks before a release, shared boilerplate, the release train |
| CI and machine output | a GitHub Actions workflow, the gate in CI, lint reports, JSON output, a pre-commit hook |
| HPC and clusters | MPI, OpenMP and GPU builds, several compilers, launchers, Slurm, profiling on a node, air-gapped machines |