Skip to content

Commit

Permalink
Add CONTRIBUTING.md for CLI (#159)
Browse files Browse the repository at this point in the history
Closes #156, originally part of #152.

This adds a small contributing guide for the Bevy CLI, and updates the
root `README.md` to include a list of features, various links, and
licensing info.
  • Loading branch information
BD103 authored Oct 29, 2024
1 parent 8a0e3bf commit 346f171
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 6 deletions.
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Contributing

Thank you for your interest in the Bevy CLI! Make sure to join the [Bevy Discord] and check out the [working group channel] for the latest information on the CLI and linter.

[Bevy Discord]: https://discord.gg/bevy
[working group channel]: https://discord.com/channels/691052431525675048/1278871953721262090

## Getting Started

Feel free to pick an issue from the [issue tracker], fork the repository, and submit a PR for it! You can also help out by participating in conversation (both on Github and Discord) and [reviewing others' pull requests].

[issue tracker]: https://github.com/TheBevyFlock/bevy_cli/issues
[reviewing others' pull requests]: https://github.com/TheBevyFlock/bevy_cli/pulls

### Nightly Rust

`bevy_lint` uses a specific nightly toolchain, described in [`rust-toolchain.toml`]. If you have [Rustup] installed, this toolchain should be automatically installed once you run `rustc` or `cargo` within the workspace.

> [!WARNING]
>
> Some components may still be missing due to a [`rustup` bug](https://github.com/rust-lang/rustup/issues/3255). If you get `can't find crate` errors when trying to build, ensure that you have the `rustc-dev` component installed for the toolchain specified in [`rust-toolchain.toml`].
[`rust-toolchain.toml`]: rust-toolchain.toml
[Rustup]: https://rustup.rs

## Other Resources

Please familiarize yourself with [Bevy's Code of Conduct], which applies to this project as well. Additionally, take a look at [Bevy's Contributing Guide], as many of the engine's procedures transfer to the CLI.

[Bevy's Code of Conduct]: https://github.com/bevyengine/bevy/blob/main/CODE_OF_CONDUCT.md
[Bevy's Contributing Guide]: https://bevyengine.org/learn/contribute/introduction/
32 changes: 26 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
# Bevy CLI

A Bevy CLI tool.
A prototype [Bevy] CLI tool intended to streamline common tasks when working on projects. Please see the [initial scope document] and [original issue] for history and motivation. The CLI's current features include:

## Nightly Rust
- Project generation from a template
- [A custom, Bevy-specific linter](bevy_lint/README.md)
- Out-of-the-box support for bundling projects into WebAssembly
- An HTTP server for testing these WASM bundles

The Bevy CLI includes a [custom linter](bevy_lint) that integrates directly with `rustc` through [`#![feature(rustc_private)]`](https://doc.rust-lang.org/nightly/unstable-book/language-features/rustc-private.html). Because of this, building this project requires nightly Rust with the `rustc-dev` and `llvm-tools-preview` components. If you use Rustup, a pinned version will be automatically installed when you compile this project based on the contents of [`rust-toolchain.toml`](rust-toolchain.toml).
If you need assistance or want to help, reach out to the [`bevy_cli` working group channel] in the [Bevy Discord].

> [!WARNING]
>
> Some components may still be missing due to a [`rustup` bug](https://github.com/rust-lang/rustup/issues/3255). If you get `can't find crate` errors when trying to build, ensure that you have the toolchain and components installed, based on [`rust-toolchain.toml`](rust-toolchain.toml).
[Bevy]: https://bevyengine.org
[initial scope document]: https://hackmd.io/cCHAfbtaSviU_MDnbNHKxg
[original issue]: https://github.com/bevyengine/bevy/issues/436
[`bevy_cli` working group channel]: https://discord.com/channels/691052431525675048/1278871953721262090
[Bevy Discord]: https://discord.gg/bevy

## License

The Bevy CLI is licensed under either of

- Apache License, Version 2.0 ([`LICENSE-APACHE`](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT license ([`LICENSE-MIT`](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)

at your option.

## Contributing

Please see [`CONTRIBUTING.md`](CONTRIBUTING.md) for more information!

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

0 comments on commit 346f171

Please sign in to comment.