Skip to main content

Document Standards

All Crew Aids must follow these structural standards. The GitLab CI/CD pipeline parses folder and file names to generate PDF filenames and validate the site build - deviations from these standards can cause build failures or incorrect PDF output.


Labeling System​

Every Crew Aid has a Reference Code that uniquely identifies it. This code is derived entirely from where the document lives in the folder structure - it is never written into the files themselves.

Full Reference Code format: <UNIT>-<CATEGORY>-<TYPE>-<SERIES>

Example: 262COS-DIP-SOP-001 - a Standard Operating Procedure (SOP) developed by 262COS focused on the DIP.

Document Types​

TypeDescription
SOPStandard Operating Procedure - step-by-step procedures to achieve a specific outcome
AIDAid - reference or methodology guide for situations where a rigid step-by-step SOP is not viable
CLChecklist - normally references SOPs for accomplishing task items within the list

Category IDs​

CategoryFolderDescription
EP00_EMERGENCYEmergency procedures
PRE01_PRE_EXECUTIONPre-mission, planning, and non-execution procedures
DIP02_DIPCVA/H DIP procedures
MIP03_MIPCVA/H MIP procedures
COMM04_COMMUNICATIONCommunication and task management tools and processes
HA05_HOST_ANALYSTHost Analyst procedures
NA06_NETWORK_ANALYSTNetwork Analyst procedures
OPS07_OPERATIONSGeneral cyber operations procedures
CTE08_CTECyber Threat Emulation and red-team activities
ICS09_ICSICS/SCADA related procedures
LEAD10_ELEMENT_LEADMission Element Lead processes
IA11_INTELIntel related procedures
ELK12_ELASTICLogstash, Elasticsearch, Kibana, and Beat procedures
MS13_METASPONSEMetasponse procedures
SO14_SECURITY_ONIONSecurity Onion procedures
EG16_ENDGAMEEndgame procedures
GIT17_GITGit procedures
POST99_POST_EXECUTIONPost-mission and debriefing procedures
XXXX_*Reserved for draft, archived, or template documents

Folder and File Naming​

Document Folder​

Create the document folder inside the appropriate category folder. The folder name encodes the document type, series number, and title:

<TYPE>-<SERIES> - <TITLE>
  • Use the next unused series number for the given type within that category folder
  • Use a space-hyphen-space (-) separator between the series ID and the title
  • Keep the title short and descriptive

Example:

CREW_AIDS/02_DIP/SOP-005 - CVAH 3.8 DIP Operations Reference/

This folder encodes the reference code 262COS-DIP-SOP-005.

Page Files​

Each section of the document is a separate .md file. Files are displayed in alphabetical order, so prefix each filename with a zero-padded two-digit number and underscore:

00_introduction.md
01_procedures.md
02_reference.md

The # H1 heading on the first line of each file sets the page title in Docusaurus. If there is no H1, Docusaurus defaults to a cleaned-up version of the filename.

Assets Folder​

Store all images used by the document in an assets/ subfolder inside the document folder. Keep assets specific to each document in that document's own assets/ folder to avoid filename collisions across documents.

SOP-005 - CVAH 3.8 DIP Operations Reference/
β”œβ”€β”€ assets/
β”‚ └── screenshot.png
β”œβ”€β”€ _category_.json
β”œβ”€β”€ 00_introduction.md
└── 01_procedures.md

_category_.json​

Every document folder must contain a _category_.json file. This file tells Docusaurus to generate an index page for the document with navigation tiles for each sub-page.

Required format:

{
"label": "262COS-<CATEGORY>-<TYPE>-<SERIES> - <TITLE>",
"link": {
"type": "generated-index",
"description": "One-sentence description of what this document covers."
}
}
danger

The description field must be inside the link object. Placing it at the top level is a common mistake that causes Docusaurus to ignore it silently - or in some versions, to throw a build error.

Correct:

{ "label": "...", "link": { "type": "generated-index", "description": "..." } }

Wrong:

{ "label": "...", "description": "...", "link": { "type": "generated-index" } }

The label must contain the full document identifier followed by the title, exactly matching the folder name. This is what appears in the Docusaurus sidebar.


00_introduction.md - Mandatory Requirements​

Every Crew Aid must have a 00_introduction.md as its first page. The CI/CD pipeline reads the revision history table from this file to construct the PDF filename - if the table is absent, the version date is omitted from the PDF name.

Mandatory sections:

  • Revision History table (required for versioned PDF output) - add a new row for every change
  • Purpose - one or two sentences on what the document is for

Optional but standard sections:

  • End-State - expected results after successfully following the document
  • Requirements - everything needed before starting
  • Considerations - limitations, caveats, or context the reader should know

Revision History table format:

| Date        | Author         | Summary              |
|:------------|:---------------|:---------------------|
| 22-MAR-2026 | CW2 Bernadotte | Initial draft |
| 01-APR-2026 | CW2 Bernadotte | Added Phase 2 steps |

Use DD-MON-YYYY date format. The most recent entry date is used as the version date in the PDF filename.