[fx][create] Add a tool that creates scaffolding for projects

fx create is a tool that generates project scaffolding so that
developers can get up and running quickly without remembering
all the boiler-plate necessary to stand up a project on Fuchsia.

This first commit supports v2 components, but v1 component support
will be added in a follow up CL to prove that no changes need to
happen in the Rust code to add new project types.

Usage: fx create component-v2 my-project --lang rust

Change-Id: Ifbeca5eb68532aec51db4d71f34960f9bf34556d
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/375833
Reviewed-by: Adam Barth <abarth@google.com>
Reviewed-by: Adam Lesinski <adamlesinski@google.com>
Reviewed-by: Gary Bressler <geb@google.com>
Reviewed-by: Adam Perry <adamperry@google.com>
Commit-Queue: Adam Lesinski <adamlesinski@google.com>
Testability-Review: Adam Perry <adamperry@google.com>
17 files changed
tree: 5619ccce9b0cf51ed474933f33430e52a040a166
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .dir-locals.el
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. AUTHORS
  22. BUILD.gn
  23. CODE_OF_CONDUCT.md
  24. CONTRIBUTING.md
  25. LICENSE
  26. OWNERS
  27. PATENTS
  28. README.md
  29. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.