# 開発への協力方法 これは個人的なフォークなので、基本的には本家 Firefish の開発に協力してもらえればと思います。ただし、最近は本家 Firefish へのマージリクエストのマージが滞りがちですし、本家版にいきなり貢献するのはハードルが高いと思ったりマージしてもらえるか分からないニッチな機能を作ったりした場合にはこのフォークへ貢献していただいてもよいです。 現状、マージリクエストを直接送る方法が無いので patch ファイルまたは別のサイトにフォークしたリポジトリに追加したコミットへの URL を[私](https://post.naskya.net/@dev)に送ってください。 ## 開発の方法 ### 環境構築 1. 以下のソフトウェアをインストールする - podman - podman-compose - make - nodejs - pnpm - shellcheck - sea-orm-cli 2. 以下の内容の `dev/docker-compose.yml` を作成する ```yaml version: "3" services: redis: image: docker.io/redis:7-alpine ports: - "6379:6379" db: image: docker.io/groonga/pgroonga:latest-alpine-16 environment: - "POSTGRES_PASSWORD=password" - "POSTGRES_USER=firefish" - "POSTGRES_DB=firefish_db" ports: - "5432:5432" ``` 3. コンテナを起動し、PGroonga を有効化する ```bash cd dev podman-compose up --detach podman-compose exec db --user=firefish --dbname=firefish_db --command='CREATE EXTENSION pgroonga;' ``` 4. 以下の内容の `.config/default.yml` を作成する ```yaml url: http://localhost:3000 port: 3000 db: host: localhost port: 5432 db: firefish_db user: firefish pass: password redis: host: localhost port: 6379 ``` コンテナを作り直すと簡単にデータベースを初期化できます。 ```bash cd dev podman-compose down --volumes podman-compose up --detach podman-compose exec db --user=firefish --dbname=firefish_db --command='CREATE EXTENSION pgroonga;' ``` 参考にした記事: [Firefish 開発環境の準備(バックエンド向け)](https://hackmd.io/@nmkj-io/HJHNbM_8a) ### 実行 ```bash make debug ``` ### コミット前に行う確認 ```bash make pre-commit ``` ## 注意事項 データベースのマイグレーションを伴う変更を加える場合にはマイグレーションのファイルを [`packages/backend/migration-neko`](https://code.naskya.net/naskya/firefish/source-by/main/packages/backend/migration-neko) の下に作成し、マイグレーションを打ち消す SQL クエリを [`neko/revert.sql`](https://code.naskya.net/naskya/firefish/source-by/main/neko/revert.sql) の**一番上に**追記してください。