Skip to content
Snippets Groups Projects
CONTRIBUTING.md 1.76 KiB
Newer Older
Aya Morisawa's avatar
Aya Morisawa committed
# Contribution guide
Aya Morisawa's avatar
Aya Morisawa committed
:v: Thanks for your contributions :v:
Aya Morisawa's avatar
Aya Morisawa committed
## Issues
Feature suggestions and bug reports are filed in https://github.com/syuilo/misskey/issues .
Before creating a new issue, please search existing issues to avoid duplication.
If you find the existing issue, please add your reaction or comment to the issue.
Aya Morisawa's avatar
Aya Morisawa committed
## Localization (l10n)
Aya Morisawa's avatar
Aya Morisawa committed
Please use [Crowdin](https://crowdin.com/project/misskey) for localization.
Aya Morisawa's avatar
Aya Morisawa committed
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
syuilo's avatar
syuilo committed
## Internationalization (i18n)
Misskey uses [vue-i18n](https://github.com/kazupon/vue-i18n).

Aya Morisawa's avatar
Aya Morisawa committed
## Documentation
* Documents for contributors are located in `/docs`.
* Documents for instance admins are located in `/docs`.
* Documents for end users are located in `src/docs`.
Aya Morisawa's avatar
Aya Morisawa committed
## Test
* Test codes are located in `/test`.

## Continuous integration
syuilo's avatar
syuilo committed
Misskey uses CircleCI for automated test.
Configuration files are located in `/.circleci`.
syuilo's avatar
syuilo committed

## Glossary
### AP
syuilo's avatar
syuilo committed
Stands for _**A**ctivity**P**ub_.
syuilo's avatar
syuilo committed

### MFM
syuilo's avatar
syuilo committed
Stands for _**M**isskey **F**lavored **M**arkdown_.
syuilo's avatar
syuilo committed

### Mk
syuilo's avatar
syuilo committed
Stands for _**M**iss**k**ey_.
syuilo's avatar
syuilo committed

### SW
Stands for _**S**ervice**W**orker_.
syuilo's avatar
syuilo committed

### Nyaize
な を にゃ にすること

#### Denyaize
Nyaizeを解除すること
syuilo's avatar
syuilo committed

## Code style
### Don't use `export default`
Bad:
``` ts
export default function(foo: string): string {
```

Good:
``` ts
export function something(foo: string): string {
```
syuilo's avatar
syuilo committed

## Directory structure
```
src ... ソースコード
syuilo's avatar
syuilo committed
	@types ... 外部ライブラリなどの型定義
syuilo's avatar
syuilo committed
	prelude ... Misskeyに関係ないかつ副作用なし
	misc ... 副作用なしのユーティリティ処理
	service ... 副作用ありの共通処理
	queue ... ジョブキューとジョブ
	server ... Webサーバー
	client ... クライアント
	mfm ... MFM

test ... テスト

```