Giter VIP home page Giter VIP logo

opensource-template's People

Contributors

arirawr avatar fu5ha avatar jake-shadle avatar jasper-bekkers avatar lpil avatar repi avatar tgolsson avatar vzout avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opensource-template's Issues

Make a more generalised template for other languages

We want to open source more things in more languages!

Let's figure out how to make a generalised template that works for other languages than Rust.

  • Add multiple languages to code guidelines in contributing.md
  • Add comments to the badges section to show which ones are for different languages (ie. cargo badge)
  • Investigate CI
  • Link to embark.games or an open source hub website instead of embark.rs
  • Rename repo (opensource-template?)

Add deps.rs & Discord badges to all Rust repos?

Tested adding the recently revived https://deps.rs badge as well as our Ark Discord badge to the README in rust-gpu as well as in physx-rs (EmbarkStudios/physx-rs#97) and does look quite nice.

image

Thinking we should have both for all of our Rust crates and in this template, thoughts?

It will keep a bit of pressure to make sure dependencies are up to date and secure, but that we are doing quite well anyway I think.

My only concern would be that I don't want the README badge line to be so long so it always gets split out to multiple lines. But maybe one can shorten some of the badges, esp. the contributor covenant text is very long. Or change some other wording or combine?

Thoughts @Jake-Shadle @XAMPPRocky @arirawr @lpil ?

Not high priority, but nice :)

Tracking: New README Header Style

A tracking issue to track which opensource repositories have been successfully converted to the new README style detailed in #33

  • cargo-deny
  • puffin
  • lmdb-rs
  • rkv
  • rpmalloc-rs
  • blender_addons
  • aws-lambda-rust-runtime
  • cassini
  • cos-gpu-installer
  • container-engine-accelerators
  • gltf
  • imgui-rs
  • gke-accelerated-xorg-example
  • kubekite
  • vk-mem-rs
  • Unreal.js-core
  • urdf-rs
  • helix-oidc
  • rust-multibase
  • rust-ecosystem
  • wasmer
  • buildkite-jobify
  • tower-http
  • dialoguer
  • tower-grpc
  • kubernetes-rust
  • wg-ui
  • istio
  • ash-molten
  • reqwest
  • actix-web
  • k8s-buildkite-plugin
  • tokio
  • container-packer-qemu
  • coreaudio-sys
  • wasmparser.rs
  • cranelift
  • tower-hyper
  • winit
  • glam-rs
  • cpal
  • serde-xml-rs
  • sentry-rust
  • InfraworldRuntime
  • tensorflow-onnx
  • netboot.xyz
  • nativefiledialog
  • tame-oauth
  • physx-rs
  • nfd-rs
  • opensource-template
  • tame-gcs
  • zbox
  • serde_urlencoded
  • Python-xNormal
  • cargo-fetcher
  • color-backtrace
  • infraworld-cornerstone
  • webbrowser-rs
  • colored
  • texture-synthesis
  • spdx
  • flamegraph
  • img_hash
  • opensource-website
  • rust-embed-resource
  • iovec
  • app_dirs2
  • PhysX
  • mockito
  • agones
  • enumflags2
  • anyhow
  • docker-pyinstaller
  • ring
  • page_size_rs
  • .github
  • prost
  • raw-window-handle
  • sccache
  • cargo-about
  • tonic
  • prom2hny
  • istio-api
  • KantanCharts
  • vscode-unreal-angelscript
  • blender-tools
  • smush-rs
  • legion
  • cargo-deny-action
  • docker-devpi
  • advisory-db
  • concaveman-cpp
  • shaderc-rs
  • missing-symbols
  • cfg-expr
  • rust
  • krates
  • keyring-rs
  • rules_helm
  • include_dir
  • lewton
  • imgui-inspect
  • superluminal-perf-rs
  • UE4StateMachineExPlugin
  • service
  • nfd2
  • juniper
  • ImpostorBaker
  • labeler
  • automerge-action
  • review-action
  • mimalloc_rust
  • deepspeech-rs
  • bson-rust
  • wayland-rs
  • rust-postgres
  • wasmtime
  • symbolicator
  • target-lexicon
  • sentry-native
  • flatbuffers
  • xxhrs
  • rust-gpu
  • cargo_metadata
  • tract
  • cc-rs
  • BLAKE3
  • cargo-outdated
  • rustsec-crate
  • rust-crates-index
  • cargo
  • prefabricator-ue4
  • rust-gamedev.github.io
  • opensource
  • spirv-tools-rs
  • wasi-test
  • SPIRV-Tools
  • relnotes
  • secret-service-rs
  • opa-policies
  • stacker
  • tryhard
  • sentry-contrib-rust
  • HoudiniEngineForUnreal-v2
  • breakpad
  • golang-pkg-browser
  • rspirv
  • grafana-cortex-tools
  • alsa-rs
  • rust-cexpr
  • grafonnet-lib
  • winapi-rs
  • skyhook
  • octobors
  • rpmalloc
  • naga
  • metrics
  • octocrab
  • tracing
  • gsutil
  • rapier
  • emojis
  • schannel-rs
  • tame-oidc
  • sqlx
  • hashbrown
  • nalgebra
  • jsonwebtoken
  • parry
  • Feather
  • fork-daichirata-hammer
  • fork-bazelbuild-rules_go
  • go-buildkite
  • ash
  • rust_serialization_benchmark
  • vk-sync-rs
  • UE4-EditorScriptingToolsPlugin
  • discord_game_sdk
  • rules_k8s
  • rspirv-reflect
  • gpu-allocator
  • symbolic
  • wasmbin
  • discord-sdk
  • discord-api-docs
  • mio
  • grafana
  • spirv-reflect-rs
  • rymder
  • rust_tracy_client
  • rfd
  • pubnub_go
  • kube-rs
  • annotator-buildkite-plugin

Cargo deny config

How about adding our deny.toml from our main project to the template here and make sure all of our open source crates use it in CI?

I think we want to both disallow more crates and also verify that the dependencies in our open source crates do use compatible licenses. And a good start for that would be to have a shared base deny.toml as well as make cargo-deny part of the standard CI config for all of our crates from the beginning.

Some of our crates may have different or additional rules though, but having a base template or master file would make it a lot easier.

This would also have the benefit of making public our main cargo-deny configuration for visibility/transparency to other projects.

Finalize CONTRIBUTING.md

We should figure out what we want to specify in CONTRIBUTING.md vs README.md and finish our formulations so we can add this to all of our repos

Changelog

One thing that we should probably have for all of our open source projects is a changelog, following some convention like this. It's kind of painful, but it's good practice to have, since they make it easier for people to see what is going on, and is a good intro for new people who want to contribute, either internally or externally.

Add licenses

Add both license files and the README text about our dual licensing

Embark Open Source banner

Would be nice to have a nice-looking header at the top of all our READMEs, so one can easily see that a project is maintained by Embark. Doesn't need to be too large/tall, just something small to keep a consistent identity.

Add badges to README

ie. build status, crates.io
When we create a new repo we can just fill in the proper URLs.

Add more default tools running in CI?

We could add a few useful tools in our opensource template, so as to not add them every single time:

  • cargo-deny is nice to avoid multiple copies of the same dependency, or at least be aware of those (and also double-checking our license constraints),
  • cargo-machete or cargo-udeps might be cool to remove unused dependencies,
  • integrating with cargo-vet by default would be very sweet, but that's probably higher effort, so not sure it should be in the default case.

One could argue it's easy to remove extra tools, than it is to add them with a good default configuration. So I'd be in favor of having more tools by default, and after a fork of this repo template one can remove them on a case by case basis.

Replace static PR template with bot(s)

Right now our PR template includes 3 checkboxes, for doing various things, it'd be nicer to replace them with bots, such as highfivebot so that people who contribute to any of our repos only have to eg, say they've read the contribution guidelines and code of conduct once, as well as give the nice "hey, new person, thank you!" etc.

And then for more advanced stuff like, "describe your changes" could just ask them to fill out the CHANGELOG.md if they haven't, otherwise there is no need to poke them. Which would also mean that all of our repos need an actual good CHANGELOG.md in the first place which is generally a good idea for our public repos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.