Skip to content

Add development environment setup guide #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 41 commits into from
Nov 16, 2020
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
719faa5
Add mac dev setup instructions
hillaryj Jul 8, 2020
a7e18c0
Formatting updates
hillaryj Jul 8, 2020
6106448
Add link to new instructions
hillaryj Jul 8, 2020
1bfa0bd
Fix header weights
hillaryj Jul 8, 2020
a3f2596
Fix header weights
hillaryj Jul 8, 2020
1b98502
Flesh out some sections plus placeholders
hillaryj Jul 8, 2020
4539ebf
Update instructions
hillaryj Jul 14, 2020
a93979a
Additional info and linting
hillaryj Jul 21, 2020
91fca40
Restore linting.
hillaryj Jul 21, 2020
afef90a
Flesh out GPG-signing and fix header depth
hillaryj Nov 3, 2020
bd9e407
Add dev env and commit message guides
hillaryj Nov 3, 2020
cc3ca6c
Add mac dev setup instructions
hillaryj Jul 8, 2020
ea92397
Formatting updates
hillaryj Jul 8, 2020
7866f6b
Add link to new instructions
hillaryj Jul 8, 2020
f8d0645
Fix header weights
hillaryj Jul 8, 2020
b9a25e9
Fix header weights
hillaryj Jul 8, 2020
bd27596
Flesh out some sections plus placeholders
hillaryj Jul 8, 2020
a821d58
Update instructions
hillaryj Jul 14, 2020
e287ef3
Additional info and linting
hillaryj Jul 21, 2020
3277cc1
Restore linting.
hillaryj Jul 21, 2020
4e7e589
Flesh out GPG-signing and fix header depth
hillaryj Nov 3, 2020
ef4d1aa
Add dev env and commit message guides
hillaryj Nov 3, 2020
5b64ab0
Merge branch 'add-dev-env-setup' of https://github.com/cisagov/develo…
hillaryj Nov 3, 2020
3fb39fd
Remove useless line break changes
hillaryj Nov 3, 2020
6d9f86b
Add FISMA-Ready Github guide
hillaryj Nov 5, 2020
802d2dd
Use plain language
hillaryj Nov 5, 2020
267f338
Improve wording and grammar
hillaryj Nov 5, 2020
a848650
Update titles and bullet periods
hillaryj Nov 5, 2020
8ad9ac2
Update onboarding-checklist.md
hillaryj Nov 5, 2020
a90236a
Reinstate italics
jsf9k Nov 5, 2020
ad35141
Make sentence less awkward
jsf9k Nov 5, 2020
414cf77
Update dev_envs/mac-env-setup.md
hillaryj Nov 6, 2020
2aeec6e
Apply suggestions from code review
hillaryj Nov 6, 2020
2768312
Simplify group names for clarity
hillaryj Nov 6, 2020
c1026d4
Update mac-env-setup.md
hillaryj Nov 6, 2020
e5b842f
Apply suggestions from code review
hillaryj Nov 6, 2020
37987f9
Update README.md
hillaryj Nov 6, 2020
ead641b
Update onboarding-checklist.md
hillaryj Nov 10, 2020
34f2ae9
Update onboarding-checklist.md
hillaryj Nov 10, 2020
d7d2e3f
Apply suggestions from code review
hillaryj Nov 16, 2020
3109a6d
Apply suggestions from code review
hillaryj Nov 16, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 146 additions & 0 deletions .github/ISSUE_TEMPLATE/onboarding-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# Onboarding Checklist #

## Instructions ##

When someone new joins the team:

1. Create a new issue called "Onboard _Name_" from this template.
1. Remove any block of tasks that doesn't apply to the new team member's role.
1. Assign the new person's onboarding buddy to this issue.
1. Remove this `Instructions` block.
1. Submit this issue.

---

## Directions ##

**Onboardee and buddy:** Try to go through your checklists in order.

**Buddy:** If you can’t complete any of the items on your checklist
personally, _you are responsible for ensuring that someone with the
correct access completes that item._

## Onboardee checklist ##

### Getting to know VM Fusion ###

- [ ] Take notes on anything that is confusing or frustrating during your
onboarding process.
- Please share this information with your buddy and the team so we can
make things better.
- If you notice a problem (especially with things like documentation), you
are more than welcome to fix it!
- You can also file issues and pull requests on the [template onboarding checklist].
- [ ] Meet with your onboarding buddy (they should reach out to you).
- [ ] Once you've finished the checklists below, make suggestions for steps
that would have improved your onboarding experience as pull requests on the
[template onboarding checklist] used to make this issue.

### Required items for all team members ###

Completing these items helps us fulfill security and compliance requirements.
If you get stuck, or if these requirements are confusing, ask for help from
your onboarding buddy.

#### GitHub ####

- [ ] If you don't already have a GitHub account,
[create a GitHub account with your government email address](https://github.com/join).
- [ ] If you already have a GitHub account, [add your government email address](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account).
- [ ] Go through the [FISMA-Ready Github guide](https://github.com/fisma-ready/github)
to set up your GitHub account to be added to CISA.
- [ ] Once your GitHub account has been added to the `cisagov` organization,
make sure you're assigned to this issue.

#### Mandatory Training ####

- [ ] Complete [PALMS Cybersecurity Training](https://etms.hq.dhs.gov),
including Mandatory Cyber Security and Privacy Training, including accepting
the Rules of Behavior, which is required before we can give you access to any
systems, like Trio.

### Microsoft Teams chat ###

Once you're set up on Microsoft Teams, we recommend you join the following:

- [ ] [CISA](https://teams.microsoft.com/l/team/19%3aa40fd338ea7a45de994a7c7ce9671fd4%40thread.skype/conversations?groupId=8c6c0b00-7244-46e1-bef9-76ce2a1906f5&tenantId=3ccde76c-946d-4a12-bb7a-fc9d0842354a)
- [ ] [CSD All Staff](https://teams.microsoft.com/l/team/19%3a65f1c4b58edf4246995ae3fa732767ee%40thread.skype/conversations?groupId=6dfc3f23-3a49-44ce-ad37-6c7a9d8fb0aa&tenantId=3ccde76c-946d-4a12-bb7a-fc9d0842354a)
- [ ] [Vulnerability Management](https://teams.microsoft.com/l/team/19%3a2161749c8eb94adeb31480e298f3b532%40thread.skype/conversations?groupId=61e939a6-2165-4085-a26e-decae97d1471&tenantId=3ccde76c-946d-4a12-bb7a-fc9d0842354a)

### Getting to know the VM Fusion Dev Team ###

- [ ] Bookmark the [dev team project board] to track issues and work across
multiple Github repositories.
- [ ] Bookmark [VM JIRA] to work with the rest of VM Fusion.

### Trio Google Workspace ###

In addition to your CISA email address `[email protected]`, you'll
also get an account on Trio, which is a Google Workspace account used for
cross-team and cross-agency collaboration and is generally
`[email protected]`. Trio may take a few days to get set up.

Once your Trio account is set up:

- [ ] Visit
[chat.google.com](https://chat.google.com) and join applicable rooms.
- [ ] Make sure you have been added to several [dev team Google Groups] so you
can participate in team-wide internal communication:
- [ ] [ALL Trio users](https://groups.google.com/a/beta.dhs.gov/d/forum/all)
- [ ] [CISA COOL Administrators](https://groups.google.com/a/trio.dhs.gov/forum/#!forum/cisa-cool-group)
- [ ] [cisa-cool-account-support](https://groups.google.com/a/trio.dhs.gov/d/forum/cisa-cool-account-support-group)
- [ ] [cisa-cool-users](https://groups.google.com/a/trio.dhs.gov/d/forum/cisa-cool-users-group)
- [ ] [cisagov-github](https://groups.google.com/a/trio.dhs.gov/forum/#!forum/cisagov-github-group)
- [ ] [NCATS](https://groups.google.com/a/beta.dhs.gov/d/forum/ncats)
- [ ] [NCATS AWS Support](https://groups.google.com/a/beta.dhs.gov/d/forum/ncats-aws-support)
- [ ] [NCATS Infrastructure Development](https://groups.google.com/a/beta.dhs.gov/d/forum/ncats-dev)
- [ ] In Google Drive, add the [NCATS Google Drive folder]. If you create
or move a doc there, it'll get the right access permissions for team members
to be able to view and edit it.
- [ ] In Google Calendar, add the [Dev Team - Events & OOO calendar](https://calendar.google.com/calendar/embed?src=beta.dhs.gov_pou7e62ob7h1qadu1m8n4o996g%40group.calendar.google.com&ctz=America%2FNew_York).

## Role-specific items ##

### Dev Team ###

Useful links:

- [ ] [NCATS Data Dictionary](https://github.com/cisagov/ncats-data-dictionary)
repo for information about what's stored in the MongoDB database
- [ ] [CISA COOL AWS Accounts](https://docs.google.com/spreadsheets/d/1It0FIlG7ZxTwrRV-zVYUAMw18L6ZstQiAYT7vGYf5VE/edit#gid=2069139012)
sheet for AWS accounts reference
- [ ] [Performance Plans](https://docs.google.com/spreadsheets/d/1UaGI8u70CXOGBtvJFQ85vCkPbqyDh5PVws0Xu893piw/edit?ts=5e558417&pli=1#gid=474573185)
sheet, which is similar to what you'll see in USAPerformance.
- [ ] [COOL Wiki](https://github.com/cisagov/cool-system/wiki/)
- [ ] [CyHy Wiki](https://github.com/cisagov/cyhy-system/wiki/)
- [ ] Set up your [environment on your CISA-provided Mac laptop](/dev_envs/mac-env-setup.md).

## Buddy checklist ##

- [ ] Introduce yourself to the new team member and talk about your
background so they know who you are.
- [ ] Identify a straightforward, well-defined first issue, ideally something
they could conceivably complete in their first two/three weeks using their
existing skills. Discuss the context with them, then make them the assignee.
- [ ] Discuss suggestions for how the onboarding experience could have been
improved and open as PRs on the [template onboarding checklist].

## Required items for all team members ##

- [ ] Invite them to relevant recurring meetings.
- [ ] Invite them to relevant [Github cisagov teams](https://github.com/orgs/cisagov/teams/).

## Required items for VM Fusion dev team members ##

- [ ] Add them as a member of the [Dev Team - Events & OOO calendar].
- [ ] Add them as a member of the [NCATS Infrastructure Development group](https://groups.google.com/a/beta.dhs.gov/d/forum/ncats-dev).

<!-- Links for use throughout the checklist -->
[template onboarding checklist]: https://github.com/cisagov/development-guide/blob/master/onboarding-checklist.md
[NCATS Google Drive folder]: https://drive.google.com/drive/folders/0APw76nbCAmzuUk9PVA
[Dev Team - Events & OOO calendar]: https://calendar.google.com/calendar/embed?src=beta.dhs.gov_pou7e62ob7h1qadu1m8n4o996g%40group.calendar.google.com&ctz=America%2FNew_York
[VM JIRA]: https://jira.ncats.cyber.dhs.gov/secure/Dashboard.jspa

<!-- dev team -->
[dev team project board]: https://app.zenhub.com/workspaces/vm-bizops-dev-5e596691c12d3435405dfaf3/board
[dev team Google Groups]: https://groups.google.com/a/trio.dhs.gov/forum/#!myforums
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,24 @@

A set of guidelines and best practices for an awesome engineering team.
Heavily "inspired" by the
[18-F Development Guide](https://github.com/18f/development-guide).
[18F Development Guide](https://github.com/18f/development-guide).

* [Open Source Policy](/open-source-policy)
<!-- * [Development Ethos](/ethos)-->
* [Project Setup](/project_setup)
<!-- * [Personal Development Environments](/dev_envs)-->
* [Development Environments](/dev_envs)
* [CISA-provided Mac Setup](/dev_envs/mac-env-setup.md)
* Language Guides
* HCL
* JavaScript
* [Python](/languages/python)

## Tools and Services We Use ##
## Git, GitHub, and you ##

* [FISMA-Ready Github account setup](https://github.com/fisma-ready/github)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should emphasize that for us you do not need to use your government e-mail address to create a GitHub account if you do not have one already. You should add it as an account e-mail however.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll probably want to adopt and tailor the FISMA-ready guide to our own policies.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the onboarding checklist, I added wording around create-vs-add-email. 34f2ae9

* [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/#seven-rules)

## Tools and services we use ##

* [AWS](https://aws.amazon.com) - Our main cloud provider
* [Coveralls](https://coveralls.io/github/cisagov) - Test coverage tracking
Expand Down
2 changes: 2 additions & 0 deletions dev_envs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Mac ##

- [Mac Dev Environment Setup](mac-env-setup.md)

## Linux ##

## Other ##
Loading