Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
After you've reviewed these contribution guidelines, you'll be all set to contribute to this project.
CONTRIBUTING.md 8.42 KiB

Contribution guide

✌️ Thanks for your contributions ✌️

When you contribute...

  • 任意のIssueについて、せっかく実装してくださっても、実装方法や設計の認識が揃ってないとマージできない/しないことになりかねないので、初めにそのIssue上で着手することを宣言し、必要に応じて他メンバーと実装方法や設計のすり合わせを行ってください。宣言することは作業が他の人と被るのを防止する効果もあります。
    • 設計に迷った時はプロジェクトリーダーの判断を仰いでください。
  • 時間や優先度の都合上、提出してくださったPRが長期間放置されることもありますがご理解ください。
    • 温度感高めで見てほしいものは責付いてください。

Issues

Feature suggestions and bug reports are filed in https://github.com/misskey-dev/misskey/issues .

  • Please search existing issues to avoid duplication. If your issue is already filed, please add your reaction or comment to the existing one.
  • If you have multiple independent issues, please submit them separately.

Branches

  • master branch is tracking the latest release and used for production purposes.
  • develop branch is where we work for the next release.
  • l10n_develop branch is reserved for localization management.

Localization (l10n)

Misskey uses Crowdin for localization management. You can improve our translations with your Crowdin account. Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository. The owner @syuilo merges the PR into the develop branch before the next release.

If your language is not listed in Crowdin, please open an issue.

Crowdin

Documentation

  • Documents for instance admins are located in /docs.
  • Documents for end users are located in /src/docs.

Test

  • Test codes are located in /test.

Continuous integration

Misskey uses GitHub Actions for executing automated tests. Configuration files are located in /.github/workflows.

Adding MisskeyRoom items

  • Use English for material, object and texture names.
  • Use meter for unit of length.
  • Your PR should include all source files (e.g. .png, .blend) of your models (for later editing).
  • Your PR must include the glTF binary files (.glb) of your models.
  • Add a locale key room.furnitures.YOUR_ITEM at /locales/ja-JP.yml.
  • Add a furniture definition at src/client/scripts/room/furnitures.json5.

If you have no experience on 3D modeling, we suggest to use the free 3DCG software Blender. You can find information on glTF 2.0 at glTF 2.0 — Blender Manual.

FAQ

How to resolve conflictions occurred at yarn.lock?

Just execute yarn to fix it.

Glossary

AP

Stands for ActivityPub.

MFM

Stands for Misskey Flavored Markdown.

Mk

Stands for Misskey.

SW

Stands for ServiceWorker.

Nyaize

Convert な(na) to にゃ(nya)

Denyaize

Revert Nyaize

TypeScript Coding Style

Do not omit semicolons

This is to avoid Automatic Semicolon Insertion (ASI) hazard.

Ref:

Do not omit curly brackets

Bad:

if (foo)
	bar;
else
	baz;

Good:

if (foo) {
	bar;
} else {
	baz;
}

As a special case, you can omit the curly brackets if

  • the body of the if-statement have only one statement and,
  • the if-statement does not have else-clause.