Where to Find F Prime Documentation: Complete Guide to NASA's Flight Software Framework

The F Prime documentation is located in the docs/user-manual/ directory of the nasa/fprime repository, with a rendered web version available at fprime.jpl.nasa.gov.

The F Prime flight software framework maintains its entire documentation set inside the repository under the docs/ path. This allows developers to access version-controlled manuals offline while contributing improvements through pull requests. All primary guides, tutorials, and API references are written in markdown and organized into logical sections covering architecture, build systems, and ground operations.

Repository Documentation Structure

The core documentation resides in docs/user-manual/ and is divided into functional sections that mirror the framework's architecture.

Overview and Architecture

The Overview section at docs/user-manual/overview/01-full-intro.md provides the technical introduction to the F Prime ecosystem. This file covers high-level architecture, components, ports, and topologies required to understand flight software design.

Framework Core Concepts

Detailed Framework mechanics are documented in docs/user-manual/framework/README.md. This section explains state machines, memory management, data products, and ground interface protocols implemented in the F Prime core.

Build System Configuration

The CMake workflow and platform support guides are found in docs/user-manual/build-system/README.md. It includes toolchain configuration instructions and platform customization options for cross-compilation targets.

Design Patterns

Reusable implementation strategies are cataloged in docs/user-manual/design-patterns/README.md. This covers rate groups, hub patterns, and health checking mechanisms used across flight software components.

Ground Data System (GDS)

Testing and visualization tools are documented in docs/user-manual/gds/gds-dev-guide.md. This guide details the GDS CLI, telemetry dashboards, and integration testing procedures used for hardware-in-the-loop validation.

Step-by-Step Tutorials

Practical Tutorials are located in docs/tutorials/README.md, including the "Hello World" tutorial, cross-compilation examples, and Docker/Rancher deployment guides. These provide hands-on experience with component development.

System Design Documents

Reference SDDs for core services are stored alongside their implementations. For example, Svc/WatchDog/docs/sdd.md contains the System Design Document for the WatchDog service, with similar files for Version and FileDownlink components.

Online Documentation Portal

NASA maintains a synchronized web rendering of the manual for convenient browser access. The online versions are kept in lock-step with the repository markdown files.

You can choose between the offline markdown files in the repository or the web-hosted version based on your connectivity and search preferences.

Accessing Documentation Locally

Query and convert the documentation using command-line tools or Python scripts for offline reading.

Opening Files from the Terminal

Navigate to the repository root and open specific markdown files directly in your default viewer:


# Change to the repository root

cd /path/to/fprime

# Open the Architecture overview

xdg-open docs/user-manual/overview/02-fprime-architecture.md

Generating a Documentation Index

Use this Python script to print a table of contents of all manual sections:

import pathlib

def list_manual_sections():
    root = pathlib.Path("docs/user-manual")
    for md in sorted(root.rglob("*.md")):
        with md.open() as f:
            first_line = next(f).strip()
            heading = first_line.lstrip('# ').strip()

            print(f"{md.relative_to(root)} – {heading}")

if __name__ == "__main__":
    list_manual_sections()

Converting to HTML

Generate a single searchable HTML file using pandoc:


# Install pandoc if needed

pip install pandoc

# Convert the entire user manual to HTML

pandoc -s -o fprime_manual.html \
    $(git ls-files 'docs/user-manual/**/*.md')

Key Documentation Files

Summary

  • F Prime documentation is stored in docs/user-manual/ within the nasa/fprime repository.
  • The manual is organized into Overview, Framework, Build System, Design Patterns, GDS, and Tutorials sections.
  • Access the rendered web version at fprime.jpl.nasa.gov or browse markdown files directly in the repository.
  • Use pandoc or Python scripts to generate offline documentation catalogs from the source markdown.

Frequently Asked Questions

Where is the F Prime documentation source code stored?

The documentation source is maintained in the docs/ directory of the nasa/fprime repository, specifically under docs/user-manual/. These markdown files are tracked in version control, allowing you to read them offline or submit improvements via pull requests.

How do I access the F Prime documentation without internet access?

Clone the repository and navigate to docs/user-manual/ to read the markdown files directly. You can also generate a local HTML copy using the pandoc command to convert the markdown files into a single browsable document.

What is the difference between the repository documentation and the website?

The content is identical. The repository contains the markdown source files that are automatically rendered to HTML at fprime.jpl.nasa.gov. The website provides enhanced navigation and search capabilities, while the repository files allow offline access and version-specific documentation.

Which documentation should I read first as a new F Prime developer?

Start with docs/user-manual/overview/01-full-intro.md for architectural concepts, then proceed to docs/tutorials/README.md for the "Hello World" tutorial. The docs/user-manual/framework/README.md file provides essential background on component implementation and state machines.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →