docs: Add a short GettingStarted.md file Should help us get off the ground a bit easier. Change-Id: Ied996cf2a6e1b83aee3f4b55294cd3846212b45a
diff --git a/GettingStarted.md b/GettingStarted.md new file mode 100644 index 0000000..9823992 --- /dev/null +++ b/GettingStarted.md
@@ -0,0 +1,69 @@ +# What is this? + +This is Project Shodan, a project to research the fusion of novel hardware and +software architectures to produce a low-power, ambient AI core. For more +information, see our internal site at +[sites/cerebrahardware/shodan](https://sites.google.com/corp/google.com/cerebrahardware/shodan). + +## Developing in this Codebase + +We've stored our code in Gerrit, and like the Android developers before us, we +use `repo` to manage the projects in our Gerrit repositories. + +To get started, first make sure you have a Git login for all our projects +by going to [googlesource.com/new-password](https://www.googlesource.com/new-password) +and pasting the provided script into a terminal. + +Now you need to pull down a copy of the `repo` +tool from our public facing sites and add it to your path: + +``` +mkdir -p bin +export PATH=$PATH:$HOME/bin +curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo +chmod a+x ~/bin/repo +``` + +Make sure you've initialized git with your name and email address, and have +configured it properly for fetching the sources: + +``` +git config --global user.name "Your Name" +git config --global user.email "you@example.com" +``` + +Once you've done this, you're actually ready to check out the sources. Make a +new directory where you'd like it to live, and initialize `repo` with the +current release branch. + +``` +repo init -u https://spacebeaker.googlesource.com/manifest +repo sync -j$(nproc) +``` + +## Repository Layout + +Our layout is pretty simple: + +#### build/ + +Contains build scripts for the whole tree. This is effectively just an +orchestration layer to make building the whole shebang easier. Each subtree may +have its own build systems and have their own ways of building. + +#### cicd/ + +Contains continuous integration scripts and tooling for Jenkins, our CI/CD tool. + +#### docs/ + +Lots of extra documentation (we hope) about how the repo is laid out, how the +build system works, code reviews, licensing, etc. + +#### manifest/ + +The repo manifest used to glue all the git repositories together. + +## More Information + + - [Information on how to use repo](https://go/repo)