diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 00000000..49870020
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,6 @@
+# This file is sensitive since rules below may be used for restricting who can
+# make access control changes.
+/.github/CODEOWNERS @GSA-TTS/searchgov-admins
+
+# Changes to the following Terraform directory will impact access control in cloud.gov spaces. Any PR involving these files should get a review from someone in FAC-admins.
+/terraform/dev/developers.tf @GSA-TTS/searchgov-admins
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/Makefile b/.github/ISSUE_TEMPLATE/Makefile
deleted file mode 100644
index 9556ae52..00000000
--- a/.github/ISSUE_TEMPLATE/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-fmt: $(wildcard *.jsonnet)
- jsonnetfmt \
- -i \
- --indent 2 \
- --max-blank-lines 2 \
- --sort-imports \
- --string-style s \
- --comment-style s \
- $?
-
-build: $(wildcard *.jsonnet)
- # $(subst from,to,text)
- jsonnet $? > $(subst jsonnet,yaml,$?)
-
-all: fmt build
-.PHONY: all
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/adr-template.md b/.github/ISSUE_TEMPLATE/adr-template.md
new file mode 100644
index 00000000..8d79220f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/adr-template.md
@@ -0,0 +1,27 @@
+---
+name: ADR issue template
+about: Starting point for architecture decision records
+title: '[ADR]
'
+labels: 'adr'
+assignees: ''
+---
+
+## Areas of impact
+
+- [ ] Compliance
+- [ ] Content
+- [ ] CX
+- [ ] Design
+- [ ] Engineering
+- [ ] Policy
+- [ ] Product
+- [ ] Process
+- [ ] UX
+
+## Related documents/links
+
+## Context
+
+## Decision
+
+## Consequences
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug-report-template.md b/.github/ISSUE_TEMPLATE/bug-report-template.md
new file mode 100644
index 00000000..75f06921
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug-report-template.md
@@ -0,0 +1,71 @@
+name: Bug Report š
+description: Report a bug and help Search.gov improve.
+title: "Search.gov - Bug: [YOUR TITLE]"
+labels: ["bug"]
+projects: ["GSA-TTS/60"]
+body:
+ - type: textarea
+ id: problem
+ attributes:
+ label: Describe the bug
+ description: Add a clear and concise description of the bug. Let us know if it impacts major or minor functionality and if you have workaround.
+ validations:
+ required: true
+ - type: textarea
+ id: reproduce
+ attributes:
+ label: Steps to reproduce the bug
+ description: Describe how to reproduce this issue.
+ placeholder: |
+ 1. Go to '...'
+ 2. Click on '....'
+ 3. Scroll down to '....'
+ 4. See error...
+ validations:
+ required: true
+ - type: textarea
+ id: expectation
+ attributes:
+ label: Expected Behavior
+ description: Add a clear and concise description of what you expected to happen.
+ validations:
+ required: true
+ - type: textarea
+ id: screenshots
+ attributes:
+ label: Screenshots
+ description: Add screenshots to help provide context, if applicable.
+ validations:
+ required: false
+ - type: textarea
+ id: system
+ attributes:
+ label: System setup
+ description: Provide your system details. Be sure to include your device, operating system, and browser (with version).
+ placeholder: |
+ - Device:
+ - Operating system:
+ - Browser and version:
+ validations:
+ required: false
+ - type: textarea
+ id: context
+ attributes:
+ label: Additional context
+ description: Add any other context about the problem.
+ validations:
+ required: false
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Code of Conduct
+ description: Please confirm the following
+ options:
+ - label:
+ I agree to abide by the [Digital.gov Community Guidelines](https://digital.gov/communities/community-guidelines/) and the [TTS Code of Conduct](https://handbook.tts.gsa.gov/code-of-conduct/). Respect your peers, use plain language, and be patient.
+ required: true
+ - label:
+ I checked the [current
+ issues](https://github.com/GSA-TTS/FAC/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Bug%22) for
+ duplicate bug reports.
+ required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/epic.md b/.github/ISSUE_TEMPLATE/epic.md
index 1a8ab732..25e12dd2 100644
--- a/.github/ISSUE_TEMPLATE/epic.md
+++ b/.github/ISSUE_TEMPLATE/epic.md
@@ -14,11 +14,9 @@ assignees: ''
[comment]: # "How did this problem originate? If it was revealed through user feedback, how was that feedback received and from whom?"
## Job Story(s)
-
When I [situation], I want to [motivation] so I can [outcome/benefit].
## What are we planning to do about it?
-
[comment]: # "What is the scope of the design and engineering work required for this project?"
[comment]: # "Along the way, this epic will be linked with issues and pull requests"
@@ -27,4 +25,40 @@ When I [situation], I want to [motivation] so I can [outcome/benefit].
[comment]: # "What items have been considered but may fall out of the scope of design and engineering work for this project?"
## How will we measure success?
-[comment]: # "Are there a set of quantifiable metrics that we can surface once the work has been completed in order to determine how successful our solution was?"
\ No newline at end of file
+[comment]: # "Are there a set of quantifiable metrics that we can surface once the work has been completed in order to determine how successful our solution was?"
+
+
+# Security Considerations
+[comment]: # "Our SSP says 'The team ensures security implications are considered as part of the agile requirements refinement process by including a section in the issue template used as a basis for new work.'"
+[comment]: # "Please do not remove this section without care."
+[comment]: # "Note any security concerns that might be implicated in the change. 'None' is OK, but we must be explicit here."
+
+Required per [CM-4](https://nvd.nist.gov/800-53/Rev4/control/CM-4).
+
+
+
+
+
+
+ Process checklist
+
+- [ ] Has a clear story statement
+- [ ] Can reasonably be done in a few days (otherwise, split this up!)
+- [ ] Shepherds have been identified
+- [ ] UX youexes all the things
+- [ ] Design designs all the things
+- [ ] Engineering engineers all the things
+- [ ] Meets acceptance criteria
+- [ ] Meets [QASP conditions](https://derisking-guide.18f.gov/qasp/)
+- [ ] Presented in a review
+- [ ] Includes screenshots or references to artifacts
+- [ ] Tagged with the sprint where it was finished
+- [ ] Archived
+
+### If there's UI...
+- [ ] Screen reader - Listen to the experience with a screen reader extension, ensure the information presented in order
+- [ ] Keyboard navigation - Run through acceptance criteria with keyboard tabs, ensure it works.
+- [ ] Text scaling - Adjust viewport to 1280 pixels wide and zoom to 200%, ensure everything renders as expected. Document 400% zoom issues with USWDS if appropriate.
+
+
+
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md
new file mode 100644
index 00000000..2796de53
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature-request.md
@@ -0,0 +1,51 @@
+name: Feature Request š”
+description:
+ Suggest a new idea for the design system.
+title: 'Search.gov - Feature: [YOUR TITLE]'
+labels: ['Type: Feature Request','Status: Triage']
+body:
+ - type: markdown
+ attributes:
+ value: '## Feature Request š”'
+ - type: textarea
+ id: problem
+ attributes:
+ label: Is your feature request related to a problem? Please describe.
+ description: "Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]"
+ validations:
+ required: true
+ - type: textarea
+ id: solution
+ attributes:
+ label: "Describe the solution you'd like"
+ description: "Provide a clear and concise description of what you want to happen."
+ validations:
+ required: true
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: "Describe alternatives you've considered"
+ description: "Provide a clear and concise description of any alternative solutions or features you've considered."
+ validations:
+ required: false
+ - type: textarea
+ id: context
+ attributes:
+ label: Additional context
+ description: "Add any other context or screenshots about the feature request."
+ validations:
+ required: false
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Code of Conduct
+ description: Please confirm the following
+ options:
+ - label:
+ I agree to abide by the [Digital.gov Community Guidelines](https://digital.gov/communities/community-guidelines/) and the [TTS Code of Conduct](https://handbook.tts.gsa.gov/code-of-conduct/). Respect your peers, use plain language, and be patient.
+ required: true
+ - label:
+ I checked the [current
+ issues](https://github.com/GSA-TTS/FAC/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Feature+Request%22) for
+ duplicate feature requests.
+ required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/helpdesk-issue.md b/.github/ISSUE_TEMPLATE/helpdesk-issue.md
new file mode 100644
index 00000000..7fb2c9e9
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/helpdesk-issue.md
@@ -0,0 +1,68 @@
+name: Helpdesk Issue
+description: Used as output from helpdesk issue triage.
+title: "[HD]: "
+labels: ["helpdesk"]
+projects: ["GSA-TTS/60"]
+assignees:
+ - jadudm
+body:
+ - type: markdown
+ attributes:
+ value: |
+ **Remember to keep all PII out of tickets.**
+
+ Do not use names, and do not attach files to this ticket.
+ - type: input
+ id: zendesk-link
+ attributes:
+ label: Zendesk link
+ description: Link to the issue in Zendesk
+ placeholder: ex. https://fac-something.zendesk.com/something/...
+ validations:
+ required: true
+ - type: checkboxes
+ id: fac-components
+ attributes:
+ label: Search.gov components involved
+ description: Select all that apply
+ options:
+ - label: crawling/indexing
+ - label: search results page
+ - label: API
+ - label: the helpdesk
+ - label: static site
+ - label: other
+ validations:
+ required: true
+ - type: dropdown
+ id: browser
+ attributes:
+ label: What browser did the user report as using?
+ multiple: false
+ options:
+ - Firefox
+ - Chrome
+ - Safari
+ - Microsoft Edge
+ - Other (Opera, Brave, etc.)
+ - type: markdown
+ attributes:
+ value: |
+ Place all files and screenshots in the [Google Drive Helpdesk folder](https://drive.google.com/drive/folders/1L5eCVFlXxMyF98O2us5znZUPYaOx02gI) and link to that folder here.
+
+ - type: input
+ id: gdrive-link
+ attributes:
+ label: Gdrive link
+ description: Link to supporting files in GDrive
+ placeholder: ex. https://google.com/drive/something/...
+ validations:
+ required: false
+ - type: textarea
+ id: what-happened
+ attributes:
+ label: What happened?
+ description: Summarize the issue the user is experiencing.
+ placeholder:
+ validations:
+ required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/offboarding.md b/.github/ISSUE_TEMPLATE/offboarding.md
new file mode 100644
index 00000000..7bc3f3a2
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/offboarding.md
@@ -0,0 +1,37 @@
+---
+name: : š« Offboarding
+about: An offboarding checklist for folks departing the team
+title: Offboarding checklist for {GitHub Username}
+labels: 'backlog'
+assignees: ''
+---
+
+**Instructions for the issue creator:**
+1. Fill in the GitHub username of the new person (if known) and the name of the onboarding buddy.
+2. Remove the horizontal line below and everything above it (these instructions).
+3. Remove sections that do not apply (based on role)
+
+---
+
+# We all serve, @{GitHub Username}, and thank you for yours
+
+We serve the public through our work, and your work on Search.gov was most welcome. As you roll off the team, we still need to close some things out.
+
+{OFFBOARDING BUDDY'S GH USERNAME} will be your offboarding buddy, and can help you if you get stuck on any of the steps in the checklist below. Accesses that need to be checked/removed:
+
+- [ ] private team Slack channels
+ - [ ] Slack, if leaving TTS but staying within GSA
+- [ ] team shared drive(s)
+- [ ] team calendar
+- [ ] ZD helpdesk instance
+- [ ] FigJam (if appropriate)
+- [ ] GH teams as appropriate:
+ - [ ] searchgov-admins
+ - [ ] searchgov-maintainers
+ - [ ] searchgov-team
+- [ ] (Engineers) Remove yourself from Cloud.gov access, and create a PR. Add a comment below pointing to the PR below.
+- [ ] Jira
+- [ ] Confluence
+- [ ] Trello
+
+If you are leaving GSA employ, you will have other offboarding responsibilities beyond the scope of this ticket. This ticket tracks Search.gov accesses only.
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/onboarding.md b/.github/ISSUE_TEMPLATE/onboarding.md
index 4429d03e..b219589c 100644
--- a/.github/ISSUE_TEMPLATE/onboarding.md
+++ b/.github/ISSUE_TEMPLATE/onboarding.md
@@ -9,6 +9,7 @@ assignees: ''
**Instructions for the issue creator:**
1. Fill in the GitHub username of the new person (if known) and the name of the onboarding buddy.
2. Remove the horizontal line below and everything above it (these instructions).
+3. Remove sections that do not apply (based on role)
---
@@ -16,11 +17,28 @@ assignees: ''
{ONBOARDING BUDDY'S GH USERNAME} will be your onboarding buddy and can help you if you get stuck on any of the steps in the checklist below. There's also a separate checklist that your onboarding buddy will tackle!
-## For you
+## For all team members
+
+All team members will want to take the following steps:
+
+- [ ] Review [the project README](https://github.com/GSA-TTS/jemison/blob/main/docs/README.md)
+- [ ] Ask in `#search-general` for team members to reach out and setup an intro coffee
+- [ ] Complete OLU trainings
+- [ ] Review the TTS handbook
+ - [ ] https://handbook.tts.gsa.gov/getting-started/
+ - [ ] https://handbook.tts.gsa.gov/about-us/tts-history/
+ - [ ] Skim through: https://handbook.tts.gsa.gov/
+- [ ] Review our [agile processes](https://github.com/GSA-TTS/jemison/blob/main/docs/process/agile.md)
+ - [ ] If you are unfamiliar with agile, [this is a good overview](https://digital.gov/event/2019/11/04/foundations-agile-i/)
+- [ ] Familiarized yourself with the [Jemison architecture](https://github.com/GSA-TTS/jemison/blob/main/docs/architecture/index.md)
+
+### Systems access
-- [ ] Review [the project README](https://github.com/GSA-TTS/jemison/docs/README.md)
- [ ] Join/get added to the team Slack channels
-- [ ] Review our [process documentation](https://github.com/GSA-TTS/jemison/docs/process/)
+- [ ] Get added to the team shared drive
+- [ ] (Feds) get added to the Federal shared drive
+- [ ] Have the team calendar owner share the calendar invite link to our new team member
+- [ ] Get added to our ZD helpdesk instance
- [ ] Get access to our GitHub repositories
- [ ] If you're not already a member of BOTH the [GSA](https://github.com/orgs/GSA/people) and [GSA-TTS](https://github.com/orgs/GSA-TTS/people) GitHub organizations, [follow the process outlined here](https://github.com/GSA/GitHub-Administration#joining-the-gsa-enterprise-organization), requesting access to the appropriate org(s). When it's time to send the mail, look up the Product Lead (see [the staffing list](https://docs.google.com/document/d/1g8nYqYS_ifFlZB-DBgfeSoJRMB__EqWsmLnacyk-bDI/edit#heading=h.us8xylqg455c)) then start with this template, mailing from your GSA email address:
@@ -34,7 +52,7 @@ assignees: ''
- https://github.com/GSA
- https://github.com/GSA-TTS
- I will be working on the FAC project:
+ I will be working on the Search.gov project:
- https://github.com/GSA-TTS/jemison
I have cc'd the search.gov lead for awareness.
@@ -42,16 +60,20 @@ assignees: ''
Thank you!
```
- (Note this step could take a few days; humans handle these requests.)
- - [ ] Once you are added to the GSA-TTS org, ask [the person(s) with the "Maintainer" role to add you to the `jemison-team` team](https://github.com/orgs/GSA-TTS/teams/jemison-team/members). This will grant you read/write access to our repositories.
- - [ ] Have the team calendar owner share the calendar invite link to our new team member.
+ - [ ] Once you are added to the GSA-TTS org, ask [the person(s) with the "Maintainer" role to add you to the `searchgov-team` team](https://github.com/orgs/GSA-TTS/teams/searchgov-team/members). This will grant you read/write access to our repositories.
+
+## For UX/design
-**For designers, also...**
-- [ ] Review the [design onboarding document]()
+- [ ] Review the [design onboarding document](TBD)
- [ ] Visit https://touchpoints.digital.gov/ and set up a touchpoints account
-- [ ] If you don't already have a Figma license, request one from your supervisor.
-- [ ] If you don't already have a Mural ccount, follow the instructions to get one [here](https://handbook.tts.gsa.gov/tools/mural/).
+- [ ] If you don't already have a FigJam license, ping in the general channel that you need one.
+
+## For CX/content
+
+TBD
+
+## For Engineering
-**For engineers, also...**
- [ ] Familiarize yourself with Go, Jsonnet, and Cloud.govātools used in this project.
- [ ] If it's not already set up on your machine & account, enable [commit signing](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits). Also see the pinned messages in the Slack development channel.
- [ ] If you're not already, get [setup with Cloud.gov](https://cloud.gov/docs/getting-started/setup/)
@@ -63,6 +85,4 @@ assignees: ''
## For your onboarding buddy
-Note: If you're not able to do any of these yourself, you're still responsible for making sure that the right person makes them happen!
-
-... *tbd* ...
\ No newline at end of file
+Note: If you're not able to do any of these yourself, feel free to leverage your onboarding buddy (or any number of team members) to help make sure things happen.
diff --git a/.github/ISSUE_TEMPLATE/production-ssh-access.md b/.github/ISSUE_TEMPLATE/production-ssh-access.md
new file mode 100644
index 00000000..0174759c
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/production-ssh-access.md
@@ -0,0 +1,38 @@
+name: Log of temporarily enabling production ssh access
+description: Used to record when and why we enabled ssh access to production.
+title: "[Production ssh access]: "
+labels: ["prodssh"]
+projects: ["GSA-TTS/60"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Use this only **after** production ssh access has been disabled again; do not create a ticket before that has happened.
+
+ Assign the people who were involved in the ssh access to this ticket.
+
+ Close the ticket after itās created; this is for logging activity, not tracking work yet to be done.
+ - type: input
+ id: prodssh-start
+ attributes:
+ label: Start (UTC)
+ description: UTC timestamp for when production ssh was enabled
+ placeholder: 2023-10-11 19:14
+ validations:
+ required: true
+ - type: input
+ id: prodssh-end
+ attributes:
+ label: End (UTC)
+ description: UTC timestamp for when production ssh was disabled
+ placeholder: 2023-10-11 19:19
+ validations:
+ required: true
+ - type: textarea
+ id: explanation
+ attributes:
+ label: Explanation
+ description: Outline why access was enabled and what was done. Link to an issue if possible.
+ placeholder:
+ validations:
+ required: true
\ No newline at end of file
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 00000000..11adc96a
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,30 @@
+We prefer smaller PRs that merge more often.
+
+## Haiku-length summary
+
+
+
+### Additional details
+
+
+
+## PR Checklist: Submitter
+
+- [ ] Link to an issue if possible. If thereās no issue, describe what your branch does. Even if there is an issue, a brief description in the PR is still useful.
+- [ ] List any special steps reviewers have to follow to test the PR. For example, adding a local environment variable, creating a local test file, etc.
+- [ ] For extra credit, submit a screen recording like [this one](https://github.com/GSA-TTS/FAC/pull/1821).
+- [ ] Make sure youāve merged `main` into your branch shortly before creating the PR. (You should also be merging `main` into your branch regularly during development.)
+- [ ] Make sure that whatever feature youāre adding has tests that cover the feature. This includes test coverage to make sure that the previous workflow still works, if applicable.
+- [ ] Make sure the E2E tests pass.
+- [ ] Do manual testing locally.
+ - [ ] If thatās not applicable for some reason, check this box.
+- [ ] Once a PR is merged, keep an eye on it until itās deployed to dev, and do enough testing on dev to verify that it deployed successfully, the feature works as expected, and the happy path for the broad feature area still works.
+
+## PR Checklist: Reviewer
+
+- [ ] Pull the branch to your local environment and run `make macup ; make e2e"` (FIXME)
+- [ ] Manually test out the changes locally
+ - [ ] Check this box if not applicable in this case.
+- [ ] Check that the PR has appropriate tests.
+
+The larger the PR, the stricter we should be about these points.