diff --git a/repos.json b/repos.json new file mode 100644 index 0000000..c3fdfac --- /dev/null +++ b/repos.json @@ -0,0 +1,17 @@ +{ + "rust-ai-client": { + "extends": "rust", + "repo_name": "rust-ai-client", + "crate_name": "ai-client-rs" + }, + "rust-bevy-ai": { + "extends": "rust", + "repo_name": "rust-bevy-ai", + "crate_name": "bevy-ai-toolkit" + }, + "rust-bevy-combat": { + "extends": "rust", + "repo_name": "rust-bevy-combat", + "crate_name": "bevy-combat" + } +} diff --git a/sync-files/rust/.github/settings.yml b/sync-files/rust/.github/settings.yml new file mode 100644 index 0000000..e5605a6 --- /dev/null +++ b/sync-files/rust/.github/settings.yml @@ -0,0 +1,51 @@ +# Settings for Rust repositories in the jbcom organization +_extends: .github + +repository: + # See https://docs.github.com/en/rest/reference/repos#update-a-repository for all available settings. + + # The name of the repository. + # name: repo-name + + # A short description of the repository that will show up on GitHub. + # description: description of repo + + # A URL with more information about the repository. + # homepage: https://example.github.io/ + + # A comma-separated list of topics to set on the repository. + # topics: rust, bevy + + # Either `true` to make the repository private, or `false` to make it public. + private: false + + # Either `true` to enable issues for this repository, `false` to disable them. + has_issues: true + + # Either `true` to enable projects for this repository, or `false` to disable them. + # If projects are enabled, the default projects templates will be used. + has_projects: true + + # Either `true` to enable the wiki for this repository, `false` to disable it. + has_wiki: true + + # Either `true` to enable downloads for this repository, `false` to disable them. + has_downloads: true + + # Updates the default branch for this repository. + default_branch: main + + # Either `true` to allow squash-merging pull requests, or `false` to prevent + # squash-merging. + allow_squash_merge: true + + # Either `true` to allow merging pull requests with a merge commit, or `false` + # to prevent merging pull requests with merge commits. + allow_merge_commit: true + + # Either `true` to allow rebase-merging pull requests, or `false` to prevent + # rebase-merging. + allow_rebase_merge: true + + # Either `true` to automatically delete head branches when pull requests are merged, or `false` to prevent this. + delete_branch_on_merge: true diff --git a/sync-files/rust/.github/workflows/rust.yml b/sync-files/rust/.github/workflows/rust.yml new file mode 100644 index 0000000..29ba09f --- /dev/null +++ b/sync-files/rust/.github/workflows/rust.yml @@ -0,0 +1,26 @@ +name: Rust CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Format + run: cargo fmt -- --check + - name: Lint + run: cargo clippy -- -D warnings + - name: Test + run: cargo test --verbose + - name: Build + run: cargo build --verbose --release diff --git a/sync-files/rust/.gitignore b/sync-files/rust/.gitignore new file mode 100644 index 0000000..a1e6d19 --- /dev/null +++ b/sync-files/rust/.gitignore @@ -0,0 +1,108 @@ +# This file should only ignore things that are generated during a `x.py` build, +# generated by common IDEs, and optional files controlled by the user that +# affect the build (such as bootstrap.toml). +# +# In particular, things like `mir_dump` should not be listed here; they are only +# created during manual debugging and many people like to clean up instead of +# having git ignore such leftovers. You can use `.git/info/exclude` to +# configure your local ignore list. + +## File system +.DS_Store +desktop.ini + +## Editor +*.swp +*.swo +Session.vim +.cproject +.idea +*.iml +.vscode +.project +.vim/ +.helix/ +.zed/ +.favorites.json +.settings/ +.vs/ +.dir-locals.el + +## Tool +.valgrindrc +.cargo +# Included because it is part of the test case +!/tests/run-make/thumb-none-qemu/example/.cargo + +## Configuration +/bootstrap.toml +/config.toml +/Makefile +config.mk +config.stamp +no_llvm_build + +## Build +/dl/ +/doc/ +/inst/ +/llvm/ +/mingw-build/ +/build +/build-rust-analyzer +/dist/ +/unicode-downloads +/target +/library/target +/src/bootstrap/target +/src/ci/citool/target +/src/tools/x/target +# Created by `x vendor` +/vendor +# Created by default with `src/ci/docker/run.sh` +/obj/ +# Created by nix dev shell +/ .envrc +src/tools/nix-dev-shell/flake.lock + +## ICE reports +rustc-ice-*.txt + +## Temporary files +*~ +\#* +\#*\# +.#* + +## Tags +tags +tags.* +TAGS +TAGS.* + +## Python +__pycache__/ +*.py[cod] +*$py.class + +## Node +node_modules +/src/doc/rustc-dev-guide/mermaid.min.js + +## Rustdoc GUI tests +tests/rustdoc-gui/**.lock + +## Test dashboard +.citool-cache/ +test-dashboard/ + +## direnv +/.envrc +/.direnv/ + +## nix +/flake.nix +flake.lock +/default.nix + +# Before adding new lines, see the comment at the top. diff --git a/sync-files/rust/README.md b/sync-files/rust/README.md new file mode 100644 index 0000000..f9bb324 --- /dev/null +++ b/sync-files/rust/README.md @@ -0,0 +1,34 @@ +# {{CRATE_NAME}} + + + +[![Latest version](https://img.shields.io/crates/v/{{CRATE_NAME}}.svg)](https://crates.io/crates/{{CRATE_NAME}}) +[![Documentation](https://docs.rs/{{CRATE_NAME}}/badge.svg)](https://docs.rs/{{CRATE_NAME}}) +[![CI](https://github.com/jbcom/{{REPO_NAME}}/actions/workflows/rust.yml/badge.svg)](https://github.com/jbcom/{{REPO_NAME}}/actions/workflows/rust.yml) + +## Overview + +(insert high-level overview of the package) + +## Usage + +Add this to your `Cargo.toml`: + +```toml +[dependencies] +{{CRATE_NAME}} = "0.1.0" +``` + +## Development + +Run tests with: + +```bash +cargo test +``` + +## License + +This project is licensed under the terms of the MIT license.