mirror of
https://github.com/discordeno/discordeno.git
synced 2026-09-17 08:47:22 +00:00
Update CONTRIBUTING.md (#2435)
* Update CONTRIBUTING.md * Update CONTRIBUTING.md
This commit is contained in:
+4
-79
@@ -1,81 +1,6 @@
|
||||
# Contributing
|
||||
|
||||
- Read the [style guide](#style-guide).
|
||||
- Ask for help on the [official Discord server](https://discord.gg/ddeno)
|
||||
- If you are going to work on an issue, mention so in the issue comments before you start working on the issue.
|
||||
- If you are going to work on a new feature, create an issue and discuss with other contributors before you start
|
||||
working on the feature.
|
||||
- Abide by and heed to [Discord Developer Terms of Service](https://discord.com/developers/docs/legal)
|
||||
|
||||
## Submitting a Pull Request
|
||||
|
||||
- Give the PR a descriptive title using [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
- Do not do unrelated changes (only do changes addressed in the title).
|
||||
- Ensure there is a related issue and it is referenced in the pull request text.
|
||||
- Ensure there are tests that cover the changes.
|
||||
- Ensure all of the checks (lint and test) are passing.
|
||||
|
||||
## Style Guide
|
||||
|
||||
- Do not make changes to the `deno.json` configuration file.
|
||||
- File names shall use camel case.
|
||||
- Comply with
|
||||
[these guidelines for inclusive code](https://chromium.googlesource.com/chromium/src/+/master/styleguide/inclusive_code.md).
|
||||
- An exported function must not have more than 4 individual parameters, the rest arguments should be incorporated inside
|
||||
an object as a single parameter.
|
||||
- Export all interfaces, types, and enums that are used for or inside an exported entity.
|
||||
- Every exported entity must be accompanied by a Typedoc (JSDoc without explicit types) comment block. Ideally, we
|
||||
prefer single line comment block.
|
||||
- Top-level functions should not use arrow syntax.
|
||||
- Minimize dependencies (do not add a dependency unless it is absolutely necessary and has been discussed on the Discord
|
||||
Server).
|
||||
- Do not make circular imports.
|
||||
- Utilize functional API wherever possible and avoid usage of ES6 classes.
|
||||
- Please follow the
|
||||
[guidelines for inclusive code](https://chromium.googlesource.com/chromium/src/+/master/styleguide/inclusive_code.md).
|
||||
|
||||
## Maintainer Guide
|
||||
|
||||
- Add related labels to issues and PRs when they get opened (do not close unlabeled issues/PRs).
|
||||
- Only merge PRs using squash commits.
|
||||
- Before merging a PR confirm that its complying with all requirements.
|
||||
|
||||
## Types Guide
|
||||
|
||||
- Must use camel case (same property name as in the docs just in camel case).
|
||||
- Each field or property must be accompanied with a reasonable JSDoc comment right above its type definition.
|
||||
- Must be placed inside of the types module (in `src/types` directory).
|
||||
|
||||
Example:
|
||||
|
||||
```ts
|
||||
/** https://discord.com/developers/docs/resources/user#user-object */
|
||||
export interface User {
|
||||
/** The user's id */
|
||||
id: string;
|
||||
/** The user's username, not unique across the platform */
|
||||
username: string;
|
||||
/** The user's 4-digit discord-tag */
|
||||
discriminator: string;
|
||||
/** The user's avatar hash */
|
||||
avatar: string | null;
|
||||
/** Whether the user belongs to an OAuth2 application */
|
||||
bot?: boolean;
|
||||
/** Whether the user is an Official Discord System user (part of the urgent message system) */
|
||||
system?: boolean;
|
||||
/** Whether the user has two factor enabled on their account */
|
||||
mfaEnabled?: boolean;
|
||||
/** The user's chosen language option */
|
||||
locale?: string;
|
||||
/** Whether the email on this account has been verified */
|
||||
verified?: boolean;
|
||||
/** The user's email */
|
||||
email?: string | null;
|
||||
/** The flags on a user's account */
|
||||
flags?: UserFlags;
|
||||
/** The type of Nitro subscription on a user's account */
|
||||
premiumType?: PremiumTypes;
|
||||
/** The public flags on a user's account */
|
||||
publicFlags?: UserFlags;
|
||||
}
|
||||
```
|
||||
- This isn't a job! Have fun!
|
||||
- Commit messages can(but you don't have to hehe) be nonsense!
|
||||
- PR description and title should be as detailed as possible!
|
||||
- Always remember to blame wolf and @ITOH every day!
|
||||
|
||||
Reference in New Issue
Block a user