Skip to main content
Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

GitHub Repo Setup in the VA

Product and code repositories

Product managers and developers have different, but overlapping, areas of focus. GitHub at the VA provides two different kinds of repository workspaces to allow teams to work most efficiently.

Product repository

Home for a product’s docs & compliance. There should be just one of these for each product.

A product repository should have README.md that explains where this product fits in at VA: what product line it belongs to, who the product management team is, and what code repositories implement it.

Product repositories also contain version-controlled artifacts like these:

  • Product documentation
  • Compliance docs & checklists
  • Issues for:
    • Epics
    • User stories
    • Risks

Example product repository: https://github.com/department-of-veterans-affairs/demo-product

Code repository

These contain the source code that implements your product. A product many have many of these. Each one contains code and developer-facing artifacts for a single component (an API, say, or a web user interface).

  • Source code
  • CI/CD tests & scripts
  • Releases
  • Developer READMEs with information about the technology used, any special branches, build automation, and how to get started with development
  • Issues for:
    • Tasks
    • Bugs
    • Tests

Example code repository: https://github.com/department-of-veterans-affairs/reading-time-demo

Getting started

At VA, you can create private repositories as needed – for example when a new code component is called for, or to re-factor existing code. Here’s how:

  1. Create a new repository https://github.com/organizations/department-of-veterans-affairs/repositories/new
  2. Choose one of these templates from the Repository template dropdown
    Repository Template Picker
  3. Kick back while your repository is created, complete with the proper directory structure, issue templates and labels.
  4. Edit the README.md in your new repository to identify your team, and any related product or code repositories.

If you have questions about this, contact your configuration manager, or file an issue in configuration-management, where the team at @department-of-veterans-affairs/configuration-management can help.

Configuring a repository that already exists

To add the VA configurations to an existing repository, you’ll want to copy the .github folder from the template you need into your own repository.

That gives you the proper issue templates, and in the case of a code repository will set up the VA standard labels. (Although it will delete your existing labels — so you may need to re-label existing issues.)

Copy the .github folder from the appropriate repository template:

  • Product documentation (1 per product): https://github.com/department-of-veterans-affairs/va-product-documentation-template
  • Code (one for each component of your source code): https://github.com/department-of-veterans-affairs/va-code-project-template

Return to Guides