|
1 |
| -# crates.io |
| 1 | +<div align="center"> |
| 2 | +<picture> |
| 3 | + <source media="(prefers-color-scheme: dark)" srcset="./docs/readme-logo-dark.png"> |
| 4 | + <img alt="crates.io logo" src="./docs/readme-logo.png" width="200"> |
| 5 | +</picture> |
| 6 | +</div> |
2 | 7 |
|
3 |
| -[](https://whatsdeployed.io/s-9IG) |
| 8 | +--- |
4 | 9 |
|
5 |
| -Source code for the default [Cargo](https://doc.rust-lang.org/cargo/) registry. |
6 |
| -Viewable online at [crates.io](https://crates.io). |
| 10 | +<div align="center"> |
7 | 11 |
|
8 |
| -## Status of crates.io |
| 12 | +[Homepage][crates.io] |
| 13 | +| [Usage Policy](https://crates.io/policies) |
| 14 | +| [Security](https://www.rust-lang.org/policies/security) |
| 15 | +| [Status](https://status.crates.io/) |
| 16 | +| [Contact](#contact) |
| 17 | +| [Contributing](#contributing) |
9 | 18 |
|
10 |
| -Any known issues currently affecting the registry running at https://crates.io |
11 |
| -will be posted to [@CratesIoStatus](https://twitter.com/cratesiostatus). |
| 19 | +</div> |
12 | 20 |
|
13 |
| -If you are experiencing an issue not addressed there, please contact us in one |
14 |
| -of the following ways: |
| 21 | +## Overview |
15 | 22 |
|
16 |
| -- [File a new issue](https://github.com/rust-lang/crates.io/issues/new) |
17 |
| -- Email [help@crates.io](mailto:help@crates.io) |
18 |
| -- Chat on the #t-crates-io Zulip stream on https://rust-lang.zulipchat.com/#narrow/stream/318791-t-crates-io/ |
| 23 | +Welcome to the GitHub repository for [crates.io], the official package registry for the [Rust] programming language. |
19 | 24 |
|
20 |
| -A volunteer will get back to you as soon as possible. |
| 25 | +[crates.io] serves as a central registry for sharing "crates", which are packages or libraries written in [Rust] that you can use to enhance your projects. This repository contains the source code and infrastructure for the [crates.io] website, including both frontend and backend components. |
| 26 | + |
| 27 | +This service is maintained for you by the [crates.io team], with support from the [Rust Foundation](https://rustfoundation.org/). File hosting is donated by [Amazon Web Services](https://aws.amazon.com/), with CDN services donated by [Fastly](https://fastly.com/). |
21 | 28 |
|
22 | 29 | ## Contributing
|
23 | 30 |
|
24 |
| -Welcome! We love contributions! crates.io is an [Ember](https://emberjs.com/) |
25 |
| -frontend with a Rust backend, and there are many tasks appropriate for a |
26 |
| -variety of skill levels. |
| 31 | +We welcome contributions from the community! Whether you're fixing a bug, implementing a new feature, or improving documentation, your contributions help make [crates.io] better for everyone. |
| 32 | + |
| 33 | +[crates.io] is built with [Rust] for the backend services. More specifically, the [axum] web framework and [diesel] for database access, with a [custom-built background worker system](./crates_io_worker). The frontend is an [Ember.js] application written in JavaScript. |
| 34 | + |
| 35 | +Please review our [contribution guidelines](./docs/CONTRIBUTING.md) before submitting your pull request. The same document also contains instructions on how to set up a local development environment. |
| 36 | + |
| 37 | +## Issue Tracker |
| 38 | + |
| 39 | +If you encounter any bugs or have technical issues with [crates.io], please feel free to open an issue in our [issue tracker](https://github.com/rust-lang/crates.io/issues). Our team will review and address these as fast as we can. |
| 40 | + |
| 41 | +For feature suggestions, enhancements, or general discussions about [crates.io], we encourage you to utilize [GitHub Discussions] instead. Visit the [Discussions tab][GitHub Discussions] to engage with the community, share your ideas, and participate in ongoing conversations. Your input is valuable in shaping the future of [crates.io], and we look forward to hearing your thoughts! |
| 42 | + |
| 43 | +## Contact |
27 | 44 |
|
28 |
| -Please see [docs/CONTRIBUTING.md](https://github.com/rust-lang/crates.io/blob/main/docs/CONTRIBUTING.md) for ideas about what to work on and how to set up a development |
29 |
| -environment. |
| 45 | +For any questions or inquiries about [crates.io], feel free to reach out to us via: |
30 | 46 |
|
31 |
| -### Categories |
| 47 | +- **Zulip:** [#t-crates-io](https://rust-lang.zulipchat.com/#narrow/stream/318791-t-crates-io/) |
| 48 | +- **Email:** [help@crates.io](mailto:help@crates.io) |
| 49 | +- **GitHub Discussions:** [rust-lang/crates.io][GitHub Discussions] |
32 | 50 |
|
33 |
| -Adding or editing the categories and corresponding descriptions displayed on |
34 |
| -[crates.io/categories](https://crates.io/categories) does not require a full |
35 |
| -development environment set up. |
| 51 | +We're here to help and eager to hear from you! |
36 | 52 |
|
37 |
| -The list of categories available on crates.io is stored in |
38 |
| -[`src/boot/categories.toml`](https://github.com/rust-lang/crates.io/blob/main/src/boot/categories.toml). |
39 |
| -To propose adding, removing, or changing a category, send a pull request making |
40 |
| -the appropriate change to that file as noted in the comment at the top of the |
41 |
| -file. Please add a description that will help others to know what crates are in |
42 |
| -that category. |
| 53 | +## Code of Conduct |
43 | 54 |
|
44 |
| -For new categories, it's helpful to note in your PR description examples of |
45 |
| -crates that would fit in that category, and describe what distinguishes the new |
46 |
| -category from existing categories. |
| 55 | +Respect and inclusivity are core values of the [Rust] community. Our [Code of Conduct] outlines the standards of behavior expected from all participants. By adhering to these guidelines, we aim to create a welcoming space where individuals from diverse backgrounds can collaborate and learn from one another. We appreciate your commitment to upholding these principles and fostering a positive community atmosphere. |
47 | 56 |
|
48 |
| -After your PR is accepted, the next time that crates.io is deployed the |
49 |
| -categories will be synced from this file. |
| 57 | +If you have a Code of Conduct concern, please contact the moderators using the links in the [Code of Conduct]. |
50 | 58 |
|
51 | 59 | ## License
|
52 | 60 |
|
53 | 61 | Licensed under either of these:
|
54 | 62 |
|
55 |
| -- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or |
56 |
| - https://www.apache.org/licenses/LICENSE-2.0) |
57 |
| -- MIT license ([LICENSE-MIT](LICENSE-MIT) or |
58 |
| - https://opensource.org/licenses/MIT) |
| 63 | +- Apache License, Version 2.0, ([LICENSE-APACHE](./LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0) |
| 64 | +- MIT license ([LICENSE-MIT](./LICENSE-MIT) or https://opensource.org/licenses/MIT) |
| 65 | + |
| 66 | +[crates.io]: https://crates.io/ |
| 67 | +[Rust]: https://www.rust-lang.org/ |
| 68 | +[crates.io team]: https://www.rust-lang.org/governance/teams/crates-io |
| 69 | +[Code of Conduct]: https://www.rust-lang.org/policies/code-of-conduct |
| 70 | +[GitHub Discussions]: https://github.com/rust-lang/crates.io/discussions |
| 71 | +[axum]: https://crates.io/crates/axum |
| 72 | +[diesel]: https://crates.io/crates/diesel |
| 73 | +[Ember.js]: https://emberjs.com/ |
0 commit comments