@squawk
    Preparing search index...

    @squawk

    squawk logo  @squawk

    MIT License TypeScript npm

    TypeScript libraries for building aviation applications - weather and NOTAM parsing, FAA airport, airspace, and navigation data, flight plan routing and E6B math, live ADS-B decoding and feeds, aircraft registry lookup, and an MCP server that exposes it all to LLM clients.

    Documentation | Architecture | Conventions | Contributing | Security | Discussions

    Every package is published independently under the @squawk scope, so install only what you need. Parsing libraries work on their own:

    npm install @squawk/weather
    
    import { parseMetar } from '@squawk/weather';

    const metar = parseMetar('METAR KJFK 041853Z 21010KT 10SM FEW250 18/06 A3012');

    console.log(metar.stationId); // "KJFK"
    console.log(metar.flightCategory); // "VFR"

    Query libraries are pure logic with no bundled data. Each has a companion *-data package holding a pre-processed FAA snapshot - pair them for zero-config use, or supply your own records:

    npm install @squawk/airports @squawk/airport-data
    
    import { usBundledAirports } from '@squawk/airport-data';
    import { createAirportResolver } from '@squawk/airports';

    const resolver = createAirportResolver({ data: usBundledAirports.records });

    const jfk = resolver.byIcao('KJFK');
    console.log(jfk?.name);

    const nearby = resolver.nearest({ lat: 40.6413, lon: -73.7781 });
    for (const result of nearby) {
    console.log(result.airport.name, result.distanceNm, 'nm');
    }

    To try the whole suite with no code, point an MCP-compatible LLM client at npx @squawk/mcp. See the @squawk/mcp README for client setup.

    Package Description
    @squawk/weather Parse raw aviation weather strings (METAR, SPECI, TAF, SIGMET, AIRMET, PIREP, FD winds aloft), with an opt-in live AWC fetch layer
    @squawk/notams Parse raw ICAO-format and FAA domestic NOTAM strings into structured objects
    Package Description
    @squawk/mcp Model Context Protocol server exposing the squawk libraries as tools for LLMs

    Each query library is listed with its companion data package. The bundled snapshots are built from FAA sources and cover US data only.

    Package Description
    @squawk/airports Airport queries by identifier, location, or fuzzy search
    @squawk/airport-data Pre-processed FAA NASR airport snapshot with runways, frequencies, and ILS data
    @squawk/airspace Airspace queries by position and altitude, identifier, or fuzzy search across Class B/C/D/E, Special Use Airspace, and ARTCC boundaries
    @squawk/airspace-data Pre-processed FAA NASR airspace GeoJSON snapshot for use with @squawk/airspace
    @squawk/navaids Navaid queries by identifier, frequency, type, location, or fuzzy search
    @squawk/navaid-data Pre-processed FAA NASR navaid snapshot for use with @squawk/navaids
    @squawk/fixes Fix/waypoint queries by identifier, location, or fuzzy search
    @squawk/fix-data Pre-processed FAA NASR fix/waypoint snapshot for use with @squawk/fixes
    @squawk/airways Airway lookup, traversal, and expansion by designation, fix, or search
    @squawk/airway-data Pre-processed FAA NASR airway snapshot for use with @squawk/airways
    @squawk/procedures Instrument procedure lookup and expansion for SIDs, STARs, and IAPs (CIFP)
    @squawk/procedure-data Pre-processed FAA CIFP procedure snapshot for use with @squawk/procedures
    Package Description
    @squawk/flightplan Flight plan route string parsing and resolution using composed resolvers
    @squawk/flight-math Aviation flight computer calculations (E6B wind triangle, altitude, airspeed)
    Package Description
    @squawk/adsb-feed Live ADS-B aircraft feed from a local dump1090-fa station (JSON, SBS, or Beast)
    @squawk/mode-s Decode raw Mode-S/ADS-B messages: CRC, CPR position, velocity, altitude, identity
    @squawk/beast Parse the Beast binary format into decoded Mode-S messages, with live streaming
    @squawk/icao-registry ICAO hex to N-number and aircraft info lookup with FAA parsing utilities
    @squawk/icao-registry-data Pre-processed FAA ReleasableAircraft snapshot for use with @squawk/icao-registry
    Package Description
    @squawk/geo Geospatial utilities: great-circle distance, bearing, midpoint, point-in-polygon
    @squawk/units Aviation-aware unit conversion and formatting utilities
    @squawk/search Domain-agnostic fuzzy string matching and ranked search scoring
    @squawk/types Shared type definitions used across all packages
    App Description
    Atlas The official Squawk viewer - a chart-first web app for browsing aeronautical data. Not published to npm; run it from this repo.
    @squawk/adsbtop Terminal dashboard for live ADS-B aircraft tracking, built on @squawk/adsb-feed. Published to npm.
    @squawk/adsbscope ATC-style radar scope for live ADS-B traffic, served to your browser by a small CLI built on @squawk/adsb-feed. Published to npm.
    npm install -g @squawk/adsbtop
    npm install -g @squawk/adsbscope

    Working on the repo requires the Node version in .nvmrc (currently 24) or newer. The published @squawk/* packages support Node 22 and newer.

    npm install
    npm run build # build all packages
    npm run test # run all tests
    npm run lint # lint all packages
    npm run docs # generate documentation
    npm run build:data # rebuild the *-data snapshots from FAA source files (see Tools)

    See CONTRIBUTING.md for the full contributor workflow.

    The tools/ directory contains the build pipelines that produce the data packages from raw FAA source files. They are not published to npm but are fully usable if you want to rebuild data from a newer FAA cycle or customize the pipeline. Most tools accept a NASR subscription .zip or extracted directory via --local and write their output to the corresponding data package. The ICAO registry tool parses the FAA ReleasableAircraft database; the procedure tool parses the FAA CIFP (ARINC 424) zip. See npm run build:data -- --help for the orchestrator that runs them all.

    Tool Description
    build-airspace-data Processes FAA NASR shapefiles and AIXM XML into airspace GeoJSON
    build-icao-registry-data Processes FAA ReleasableAircraft into ICAO registry JSON
    build-airport-data Processes FAA NASR airport, runway, frequency, and ILS CSVs into JSON
    build-navaid-data Processes FAA NASR NAV_BASE.csv into navaid JSON
    build-fix-data Processes FAA NASR FIX CSVs into fix/waypoint JSON
    build-airway-data Processes FAA NASR AWY.txt and ATS.txt into airway JSON
    build-procedure-data Processes FAA CIFP into SID / STAR / IAP procedure JSON

    The tools share CSV parsing, CLI argument handling, and input resolution helpers through the private build-shared workspace package.

    MIT