embarkstudios / opensource-template Goto Github PK
View Code? Open in Web Editor NEW๐ป Template for creating new repositories
Home Page: https://github.com/EmbarkStudios
License: Apache License 2.0
๐ป Template for creating new repositories
Home Page: https://github.com/EmbarkStudios
License: Apache License 2.0
We should have an issue template
@Jake-Shadle's guide (EmbarkStudios/rust-ecosystem#30) is probably a good fit for this repo. Not sure if it should be in the README or in its own doc.
actions-rs
has basically been dead for a while and while it works, we should switch to something maintained, and even better, simpler, such as https://github.com/dtolnay/rust-toolchain.
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.
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.
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 :)
A tracking issue to track which opensource repositories have been successfully converted to the new README style detailed in #33
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.
Is your feature request related to a problem? Please describe.
We often use cargo-deny for rust projects but this template doesn't contain a default deny.toml so we're likely to forget adding one, like I did with mirror-mirror.
Describe the solution you'd like
Add a default deny.toml. Could be EmbarkStudios/mirror-mirror#58
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
Contributor Covenant has made updates since we adopted their CoC. We should take a look at version 2.0 and decide if we should update our CoC.
https://www.contributor-covenant.org/version/2/0/code_of_conduct/
cc @XAMPPRocky @lpil
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 both license files and the README text about our dual licensing
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.
ie. build status, crates.io
When we create a new repo we can just fill in the proper URLs.
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,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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.