Skip to main content
New Swift-BAT/GUANO and IceCube Notice Types Available! See news and announcements

To install a local development version of the GCN web site on your own computer, skip ahead to the Quick Start section below.

Contributing to General Coordinates Network

Do you have an idea to make GCN better, or do you have a bug to report? We'd love to hear from you! GCN (this site) is an open source project on GitHub. Help us by reporting feature requests and bugs in our GitHub issue tracker.

Or, if you feel like rolling your sleeves up, propose a code change by forking the project and submitting a GitHub pull request. See our GitHub guide if you are new to GitHub.

Don't know where to start? Look for issues in GitHub that are labelled good first issue.

Here are some more specific ways that you can help.

  • Write documentation. The best and easiest way to help is to contribute text or typographical corrections, especially in the Documentation section (files and directories starting with _gcn.docs. in the app/routes directory in GitHub) and Missions section (files and directories starting with _gcn.missions.). Look for GitHub issues with the label content.

    Most of the written content on this site is formatted in Markdown, an easy to use markup language. To learn Markdown, read the GitHub Flavored Markdown guide.

    In general, written content should follow the American Astronomical Society style guide and use SI unit abbreviations.

  • Improve design and accessibility. We are constantly seeking to improve the GCN user experience. Look for issues in GitHub that are marked frontend.

    We use the US Web Design System, an open source design language and front end framework that is common to many Federal agencies. US Web Design System components for React are provided by react-uswds.

  • Add new features to the web site. We have lots of ideas for new features, visualizations, and ways to interact with GCN data. We bet you have lots of ideas too! Look for issues in GitHub that are marked frontend or backend.

    GCN is built in Remix, a full stack web framework built on React and written in TypeScript (JavaScript with type annotations).

Quick Start

Here are instructions for getting the GCN site set up and running on your own computer for local development.

  1. Set up Node.js on your computer

    Make sure that Node.js and NPM are installed on your computer. There are several options to install Node.js and NPM. Pick one of the following:

  2. Set up Python on your computer

    Make sure that Python 3.9 or newer is installed on your computer. There are several Python distributions available depending on your operating system. Pick one of the following:

    • If you are new to Python, then we suggest the Anaconda Distribution.
    • For other distributions and installation methods, see the Python Setup and Usage guide in the official Python documentation.
    • If you have a sufficiently new version of Linux or macOS, then a suitable version of Python may come pre-installed on your system. To check, run python3 --version.
  3. Clone and configure the project

    Clone the Git repository onto your computer, install all dependencies, and install the pre-commit hooks by running these commands:

    git clone https://github.com/nasa-gcn/gcn.nasa.gov
    cd gcn.nasa.gov
    npm install
    
  4. Start development server

    Start the local development server by running the following command:

    npm run dev
    

    Open a web browser and navigate to http://localhost:3333 to see the local site live.

Looking for U.S. government information and services? Visit USA.gov