diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
deleted file mode 100644
index 2383856700bea9dbfd2e5e764d5e7008ce399f42..0000000000000000000000000000000000000000
--- a/.github/FUNDING.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-# These are supported funding model platforms
-
-github: transfem-org
-ko-fi: transfem
diff --git a/.github/ISSUE_TEMPLATE/01_bug-report.yml b/.github/ISSUE_TEMPLATE/01_bug-report.yml
deleted file mode 100644
index f74719989f80e2380f3d68aaacf516fc499c20b1..0000000000000000000000000000000000000000
--- a/.github/ISSUE_TEMPLATE/01_bug-report.yml
+++ /dev/null
@@ -1,91 +0,0 @@
-name: 🐛 Bug Report
-description: Create a report to help us improve
-labels: ["⚠️bug?"]
-
-body:
-  - type: markdown
-    attributes:
-      value: |
-        Thanks for reporting!
-        First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
-        Also, If you are NOT owner/admin of server, PLEASE DONT REPORT SERVER SPECIFIC ISSUES TO HERE! (e.g. feature XXX is not working in misskey.example) Please try with another misskey servers, and if your issue is only reproducible with specific server, contact your server's owner/admin first.
-
-  - type: textarea
-    attributes:
-      label: 💡 Summary
-      description: Tell us what the bug is
-    validations:
-      required: true
-
-  - type: textarea
-    attributes:
-      label: 🥰 Expected Behavior
-      description: Tell us what should happen
-    validations:
-      required: true
-
-  - type: textarea
-    attributes:
-      label: 🤬 Actual Behavior
-      description: |
-        Tell us what happens instead of the expected behavior.
-        Please include errors from the developer console and/or server log files if you have access to them.
-    validations:
-      required: true
-
-  - type: textarea
-    attributes:
-      label: 📝 Steps to Reproduce
-      placeholder: |
-        1.
-        2.
-        3.
-    validations:
-      required: false
-
-  - type: textarea
-    attributes:
-      label: 💻 Frontend Environment
-      description: |
-        Tell us where on the platform it happens
-        DO NOT WRITE "latest". Please provide the specific version.
-
-        Examples:
-          * Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
-          * Browser: Chrome 113.0.5672.126
-          * Server URL: misskey.io
-          * Misskey: 13.x.x
-      value: |
-        * Model and OS of the device(s):
-        * Browser:
-        * Server URL:
-        * Misskey:
-      render: markdown
-    validations:
-      required: false
-
-  - type: textarea
-    attributes:
-      label: 🛰 Backend Environment (for server admin)
-      description: |
-        Tell us where on the platform it happens
-        DO NOT WRITE "latest". Please provide the specific version.
-        If you are using a managed service, put that after the version.
-
-        Examples:
-          * Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
-          * Misskey: 13.x.x
-          * Node: 20.x.x
-          * PostgreSQL: 15.x.x
-          * Redis: 7.x.x
-          * OS and Architecture: Ubuntu 22.04.2 LTS aarch64
-      value: |
-        * Installation Method or Hosting Service:
-        * Misskey:
-        * Node:
-        * PostgreSQL:
-        * Redis:
-        * OS and Architecture:
-      render: markdown
-    validations:
-      required: false
diff --git a/.github/ISSUE_TEMPLATE/02_feature-request.yml b/.github/ISSUE_TEMPLATE/02_feature-request.yml
deleted file mode 100644
index 8420475b3e00874024b3a5277849bbc6bff46dee..0000000000000000000000000000000000000000
--- a/.github/ISSUE_TEMPLATE/02_feature-request.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: ✨ Feature Request
-description: Suggest an idea for this project
-labels: ["✨Feature"]
-
-body:
-  - type: textarea
-    attributes:
-      label: Summary
-      description: Tell us what the suggestion is
-    validations:
-      required: true
-  - type: textarea
-    attributes:
-      label: Purpose
-      description: Describe the specific problem or need you think this feature will solve, and who it will help.
-    validations:
-      required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
deleted file mode 100644
index 6c8c6f7a495f0c471b4e3537e33f6080317c1e56..0000000000000000000000000000000000000000
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-contact_links:
-  - name: 💬 Transfem.org Discord
-    url: https://discord.gg/xTtXc7We
-    about: Chat freely about Sharkey
diff --git a/.github/PULL_REQUEST_TEMPLATE/01_bug.md b/.github/PULL_REQUEST_TEMPLATE/01_bug.md
deleted file mode 100644
index 0739fee709200d3cb23e300fc59e9e073ea09fad..0000000000000000000000000000000000000000
--- a/.github/PULL_REQUEST_TEMPLATE/01_bug.md
+++ /dev/null
@@ -1,23 +0,0 @@
-<!-- ℹ お読みください / README
-PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
-Thank you for your PR! Before creating a PR, please check the contribution guide:
-https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
--->
-
-## What
-<!-- このPRで何をしたのか? どう変わるのか? -->
-<!-- What did you do with this PR? How will it change things? -->
-
-## Why
-<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
-<!-- Why do you do it? What are your intentions? What is the problem? -->
-
-## Additional info (optional)
-<!-- テスト観点など -->
-<!-- Test perspective, etc -->
-
-## Checklist
-- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
-- [ ] Test working in a local environment
-- [ ] (If needed) Update CHANGELOG.md
-- [ ] (If possible) Add tests
diff --git a/.github/PULL_REQUEST_TEMPLATE/02_enhance.md b/.github/PULL_REQUEST_TEMPLATE/02_enhance.md
deleted file mode 100644
index 0739fee709200d3cb23e300fc59e9e073ea09fad..0000000000000000000000000000000000000000
--- a/.github/PULL_REQUEST_TEMPLATE/02_enhance.md
+++ /dev/null
@@ -1,23 +0,0 @@
-<!-- ℹ お読みください / README
-PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
-Thank you for your PR! Before creating a PR, please check the contribution guide:
-https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
--->
-
-## What
-<!-- このPRで何をしたのか? どう変わるのか? -->
-<!-- What did you do with this PR? How will it change things? -->
-
-## Why
-<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
-<!-- Why do you do it? What are your intentions? What is the problem? -->
-
-## Additional info (optional)
-<!-- テスト観点など -->
-<!-- Test perspective, etc -->
-
-## Checklist
-- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
-- [ ] Test working in a local environment
-- [ ] (If needed) Update CHANGELOG.md
-- [ ] (If possible) Add tests
diff --git a/.github/PULL_REQUEST_TEMPLATE/03_release.md b/.github/PULL_REQUEST_TEMPLATE/03_release.md
deleted file mode 100644
index b5b832e1dc2df7432ff3ab219edaffe88817b90c..0000000000000000000000000000000000000000
--- a/.github/PULL_REQUEST_TEMPLATE/03_release.md
+++ /dev/null
@@ -1,20 +0,0 @@
-## Summary
-This is a release PR.
-
-For more information on the release instructions, please see:
-https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md#release
-
-## For reviewers
-- CHANGELOGに抜け漏れは無いか
-- バージョンの上げ方は適切か
-- 他にこのリリースに含めなければならない変更は無いか
-- 全体的な変更内容を俯瞰し問題は無いか
-- レビューされていないコミットがある場合は、それが問題ないか
-- 最終的な動作確認を行い問題は無いか
-
-などを確認し、リリースする準備が整っていると思われる場合は approve してください。
-
-## Checklist
-- [ ] package.jsonのバージョンが正しく更新されている
-- [ ] CHANGELOGが過不足無く更新されている
-- [ ] CIが全て通っている
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 5955f6b5d9ac86859fbdc27274d553f9b99c80fd..0000000000000000000000000000000000000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# To get started with Dependabot version updates, you'll need to specify which
-# package ecosystems to update and where the package manifests are located.
-# Please see the documentation for all configuration options:
-# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
-
-version: 2
-updates:
-- package-ecosystem: github-actions
-  directory: "/"
-  schedule:
-    interval: daily
-  open-pull-requests-limit: 100
-
-# Add only the root, not each workspace item
-# https://github.com/dependabot/dependabot-core/issues/4993#issuecomment-1289133027
-- package-ecosystem: npm
-  directory: "/"
-  schedule:
-    interval: daily
-  # PNPM has an issue with dependabot. See:
-  # https://github.com/dependabot/dependabot-core/issues/7258
-  # https://github.com/pnpm/pnpm/issues/6530
-  # TODO: Restore this when the issue is solved
-  open-pull-requests-limit: 0
-  groups:
-    swc:
-      patterns:
-        - "@swc/*"
-    storybook:
-      patterns:
-        - "storybook*"
-        - "@storybook/*"
diff --git a/.github/labeler.yml b/.github/labeler.yml
deleted file mode 100644
index 137be487c0269d08518a57c634c995e80d86d441..0000000000000000000000000000000000000000
--- a/.github/labeler.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-'packages/backend':
-- packages/backend/**/*
-
-'packages/backend:test':
-- packages/backend/test/**/*
-
-'packages/frontend':
-- packages/frontend/**/*
-
-'packages/frontend:test':
-- cypress/**/*
-
-'packages/sw':
-- packages/sw/**/*
-
-'packages/misskey-js':
-- packages/misskey-js/**/*
-
-'packages/misskey-js:test':
-- packages/misskey-js/test/**/*
-- packages/misskey-js/test-d/**/*
diff --git a/.github/misskey/test.yml b/.github/misskey/test.yml
deleted file mode 100644
index 7a4aa4ae6cce4facf65b6295e4453d2698bd8f55..0000000000000000000000000000000000000000
--- a/.github/misskey/test.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-url: 'http://misskey.local'
-
-# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
-port: 61812
-
-db:
-  host: 127.0.0.1
-  port: 54312
-  db: test-misskey
-  user: postgres
-  pass: ''
-redis:
-  host: 127.0.0.1
-  port: 56312
-id: aidx
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
deleted file mode 100644
index e78b82c47ccb681bb28223b2d9153d34e91c1e0f..0000000000000000000000000000000000000000
--- a/.github/pull_request_template.md
+++ /dev/null
@@ -1,24 +0,0 @@
-<!-- ℹ お読みください / README
-PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
-Thank you for your PR! Before creating a PR, please check the contribution guide:
-https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
--->
-
-## What
-<!-- このPRで何をしたのか? どう変わるのか? -->
-<!-- What did you do with this PR? How will it change things? -->
-
-## Why
-<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
-<!-- Why do you do it? What are your intentions? What is the problem? -->
-
-## Additional info (optional)
-<!-- テスト観点など -->
-<!-- Test perspective, etc -->
-
-## Checklist
-- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
-- [ ] Test working in a local environment
-- [ ] (If needed) Add story of storybook
-- [ ] (If needed) Update CHANGELOG.md
-- [ ] (If possible) Add tests
diff --git a/.github/workflows/api-misskey-js.yml b/.github/workflows/api-misskey-js.yml
deleted file mode 100644
index 7818370c0a091c27d60872b85b3cc84ace592b4c..0000000000000000000000000000000000000000
--- a/.github/workflows/api-misskey-js.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: API report (misskey.js)
-
-on: [push, pull_request]
-
-jobs:
-  report:
-
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4.1.1
-
-      - run: corepack enable
-
-      - name: Setup Node.js
-        uses: actions/setup-node@v4
-        with:
-          node-version-file: '.node-version'
-          cache: 'pnpm'
-
-      - name: Install dependencies
-        run: pnpm i --frozen-lockfile
-
-      - name: Build
-        run: pnpm --filter misskey-js build
-
-      - name: Check files
-        run: ls packages/misskey-js/built
-
-      - name: API report
-        run: pnpm --filter misskey-js api-prod
-
-      - name: Show report
-        if: always()
-        run: cat packages/misskey-js/temp/misskey-js.api.md
diff --git a/.github/workflows/check_copyright_year.yml b/.github/workflows/check_copyright_year.yml
deleted file mode 100644
index 03dfcd0a0b216668912ccb2741e717c91ed68284..0000000000000000000000000000000000000000
--- a/.github/workflows/check_copyright_year.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-name: Check copyright year
-
-on:
-  push:
-    branches:
-      - master
-      - develop
-
-jobs:
-  check_copyright_year:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v4.1.1
-    - run: |
-        if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
-          echo "Please change copyright year!"
-          exit 1
-        fi
diff --git a/.github/workflows/clear-untagged-packages.yml b/.github/workflows/clear-untagged-packages.yml
deleted file mode 100644
index 5f94d54bcb6a2a3dfbfd58ef2df79398fa1ad458..0000000000000000000000000000000000000000
--- a/.github/workflows/clear-untagged-packages.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-name: Remove old package versions
-
-on:
-  workflow_dispatch:
-
-jobs:
-  remove-package-versions:
-    runs-on: ubuntu-latest
-    permissions:
-      contents: read
-      packages: write
-    steps:
-      - uses: actions/delete-package-versions@v4
-        with: 
-          package-name: sharkey
-          package-type: container
-          min-versions-to-keep: 10
-          delete-only-untagged-versions: 'true'
diff --git a/.github/workflows/docker-develop.yml b/.github/workflows/docker-develop.yml
deleted file mode 100644
index e5e8392d7854db66e893b848d49e2b6245e23cef..0000000000000000000000000000000000000000
--- a/.github/workflows/docker-develop.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-name: Publish Docker image (develop)
-
-on:
-  push:
-    branches:
-      - develop
-    paths:
-      - packages/**
-      - locales/**
-  workflow_dispatch:
-
-env:
-  REGISTRY: ghcr.io
-
-jobs:
-  push_to_registry:
-    name: Push Docker image to GHCR
-    runs-on: ubuntu-latest
-    if: github.repository == 'transfem-org/Sharkey'
-    permissions:
-      contents: read
-      packages: write
-    steps:
-      - name: Remove unnecessary files
-        run: |
-          sudo rm -rf /usr/share/dotnet
-          sudo rm -rf "$AGENT_TOOLSDIRECTORY"
-      - name: Check out the repo
-        uses: actions/checkout@v4.1.1
-      - name: Set up Docker Buildx
-        id: buildx
-        uses: docker/setup-buildx-action@v3.0.0
-        with:
-          platforms: linux/amd64,linux/arm64
-      - name: Docker meta
-        id: meta
-        uses: docker/metadata-action@v5
-        with:
-          images: ${{ env.REGISTRY }}/transfem-org/sharkey
-      - name: Log in to GHCR
-        uses: docker/login-action@v3
-        with:
-          registry: ${{ env.REGISTRY }}
-          username: ${{ github.actor }}
-          password: ${{ secrets.GITHUB_TOKEN }}
-      - name: Build and Push to GHCR
-        id: build
-        uses: docker/build-push-action@v5
-        with:
-          builder: ${{ steps.buildx.outputs.name }}
-          context: .
-          push: true
-          platforms: ${{ steps.buildx.outputs.platforms }}
-          provenance: false
-          tags:  ${{ env.REGISTRY }}/transfem-org/sharkey:develop
-          labels: develop
-          cache-from: type=gha
-          cache-to: type=gha,mode=max
-          build-args: NODE_ENV=development
-      - name: Push update to server
-        if: steps.build.outcome == 'success'
-        uses: indiesdev/curl@v1.1
-        with:
-          url: ${{ secrets.AUTO_UPDATE_DEV_URL }}
-          method: POST
-          timeout: 600000
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
deleted file mode 100644
index 8eabaa2882ec539ba5e6dd340c18cae6805380b1..0000000000000000000000000000000000000000
--- a/.github/workflows/docker.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-name: Publish Docker image
-
-on:
-  push:
-    branches:
-      - stable
-    paths:
-      - packages/**
-      - locales/**
-  release:
-    types: [published]
-  workflow_dispatch:
-
-env:
-  REGISTRY: ghcr.io
-
-jobs:
-  push_to_registry:
-    name: Push Docker image to GHCR
-    runs-on: ubuntu-latest
-    if: github.repository == 'transfem-org/Sharkey'
-    permissions:
-      contents: read
-      packages: write
-
-    steps:
-      - name: Check out the repo
-        uses: actions/checkout@v4.1.1
-      - name: Set up Docker Buildx
-        id: buildx
-        uses: docker/setup-buildx-action@v3.0.0
-        with:
-          platforms: linux/amd64,linux/arm64
-      - name: Docker meta
-        id: meta
-        uses: docker/metadata-action@v5
-        with:
-          images: ${{ env.REGISTRY }}/transfem-org/sharkey
-          tags: |
-            type=edge
-            type=ref,event=pr
-            type=ref,event=branch
-            type=semver,pattern={{version}}
-            type=semver,pattern={{major}}.{{minor}}
-            type=semver,pattern={{major}}
-      - name: Log in to GHCR
-        uses: docker/login-action@v3
-        with:
-          registry: ${{ env.REGISTRY }}
-          username: ${{ github.actor }}
-          password: ${{ secrets.GITHUB_TOKEN }}
-      - name: Build and Push to GHCR
-        id: build
-        uses: docker/build-push-action@v5
-        with:
-          builder: ${{ steps.buildx.outputs.name }}
-          context: .
-          push: true
-          platforms: ${{ steps.buildx.outputs.platforms }}
-          provenance: false
-          tags: ${{ env.REGISTRY }}/transfem-org/sharkey:stable
-          labels: stable
-          cache-from: type=gha
-          cache-to: type=gha,mode=max
diff --git a/.github/workflows/dockle.yml b/.github/workflows/dockle.yml
deleted file mode 100644
index edb18b04dae4d402b107094520d2e42696b84c67..0000000000000000000000000000000000000000
--- a/.github/workflows/dockle.yml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-name: Dockle
-
-on:
-  push:
-    branches:
-      - master
-      - develop
-  pull_request:
-
-jobs:
-  dockle:
-    runs-on: ubuntu-latest
-    env:
-      DOCKER_CONTENT_TRUST: 1
-    steps:
-      - uses: actions/checkout@v4.1.1
-      - run: |
-          curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v0.4.10/dockle_0.4.10_Linux-64bit.deb"
-          sudo dpkg -i dockle.deb
-      - run: |
-          cp .config/docker_example.env .config/docker.env
-          cp ./docker-compose.yml.example ./docker-compose.yml
-      - run: |
-          docker compose up -d web
-          docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest
-      - run: |
-          cmd="dockle --exit-code 1 misskey-web:latest ${image_name}"
-          echo "> ${cmd}"
-          eval "${cmd}"
diff --git a/.github/workflows/get-api-diff.yml b/.github/workflows/get-api-diff.yml
deleted file mode 100644
index 8e3437ad86f37c94b8f50bdfd57032651b11abe8..0000000000000000000000000000000000000000
--- a/.github/workflows/get-api-diff.yml
+++ /dev/null
@@ -1,186 +0,0 @@
-# this name is used in report-api-diff.yml so be careful when change name
-name: Get api.json from Misskey
-
-on:
-  pull_request:
-    branches:
-      - master
-      - develop
-
-jobs:
-  get-base:
-    runs-on: ubuntu-latest
-    permissions:
-      contents: read
-
-    strategy:
-      matrix:
-        node-version: [20.5.1]
-
-    services:
-      db:
-        image: postgres:13
-        ports:
-          - 5432:5432
-        env:
-          POSTGRES_DB: misskey
-          POSTGRES_HOST_AUTH_METHOD: trust
-          POSTGRES_USER: example-misskey-user
-          POSTGRESS_PASS: example-misskey-pass
-      redis:
-        image: redis:7
-        ports:
-          - 6379:6379
-
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        repository: ${{ github.event.pull_request.base.repo.full_name }}
-        ref: ${{ github.base_ref }}
-        submodules: true
-    - name: Install pnpm
-      uses: pnpm/action-setup@v2
-      with:
-        version: 8
-        run_install: false
-    - name: Use Node.js ${{ matrix.node-version }}
-      uses: actions/setup-node@v4.0.0
-      with:
-        node-version: ${{ matrix.node-version }}
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - name: Check pnpm-lock.yaml
-      run: git diff --exit-code pnpm-lock.yaml
-    - name: Copy Configure
-      run: cp .config/example.yml .config/default.yml
-    - name: Build
-      run: pnpm build
-    - name : Migrate
-      run: pnpm migrate
-    - name: Launch misskey
-      run: |
-        screen -S misskey -dm pnpm run dev
-        sleep 30s
-    - name: Wait for Misskey to be ready
-      run: |
-        MAX_RETRIES=12
-        RETRY_DELAY=5
-        count=0
-        until $(curl --output /dev/null --silent --head --fail http://localhost:3000) || [[ $count -eq $MAX_RETRIES ]]; do
-          printf '.'
-          sleep $RETRY_DELAY
-          count=$((count + 1))
-        done
-
-        if [[ $count -eq $MAX_RETRIES ]]; then
-          echo "Failed to connect to Misskey after $MAX_RETRIES attempts."
-          exit 1
-        fi
-    - id: fetch
-      name: Get api.json from Misskey
-      run: |
-        RESULT=$(curl --retry 5 --retry-delay 5 --retry-max-time 60 http://localhost:3000/api.json)
-        echo $RESULT > api-base.json
-    - name: Upload Artifact
-      uses: actions/upload-artifact@v3
-      with:
-        name: api-artifact
-        path: api-base.json
-    - name: Kill Misskey Job
-      run: screen -S misskey -X quit
-
-  get-head:
-    runs-on: ubuntu-latest
-    permissions:
-      contents: read
-
-    strategy:
-      matrix:
-        node-version: [20.5.1]
-
-    services:
-      db:
-        image: postgres:13
-        ports:
-          - 5432:5432
-        env:
-          POSTGRES_DB: misskey
-          POSTGRES_HOST_AUTH_METHOD: trust
-          POSTGRES_USER: example-misskey-user
-          POSTGRESS_PASS: example-misskey-pass
-      redis:
-        image: redis:7
-        ports:
-          - 6379:6379
-
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        repository: ${{ github.event.pull_request.head.repo.full_name }}
-        ref: ${{ github.head_ref }}
-        submodules: true
-    - name: Install pnpm
-      uses: pnpm/action-setup@v2
-      with:
-        version: 8
-        run_install: false
-    - name: Use Node.js ${{ matrix.node-version }}
-      uses: actions/setup-node@v4.0.0
-      with:
-        node-version: ${{ matrix.node-version }}
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - name: Check pnpm-lock.yaml
-      run: git diff --exit-code pnpm-lock.yaml
-    - name: Copy Configure
-      run: cp .config/example.yml .config/default.yml
-    - name: Build
-      run: pnpm build
-    - name : Migrate
-      run: pnpm migrate
-    - name: Launch misskey
-      run: |
-        screen -S misskey -dm pnpm run dev
-        sleep 30s
-    - name: Wait for Misskey to be ready
-      run: |
-        MAX_RETRIES=12
-        RETRY_DELAY=5
-        count=0
-        until $(curl --output /dev/null --silent --head --fail http://localhost:3000) || [[ $count -eq $MAX_RETRIES ]]; do
-          printf '.'
-          sleep $RETRY_DELAY
-          count=$((count + 1))
-        done
-
-        if [[ $count -eq $MAX_RETRIES ]]; then
-          echo "Failed to connect to Misskey after $MAX_RETRIES attempts."
-          exit 1
-        fi
-    - id: fetch
-      name: Get api.json from Misskey
-      run: |
-        RESULT=$(curl --retry 5 --retry-delay 5 --retry-max-time 60 http://localhost:3000/api.json)
-        echo $RESULT > api-head.json
-    - name: Upload Artifact
-      uses: actions/upload-artifact@v3
-      with:
-        name: api-artifact
-        path: api-head.json
-    - name: Kill Misskey Job
-      run: screen -S misskey -X quit
-
-  save-pr-number:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Save PR number
-        env:
-          PR_NUMBER: ${{ github.event.number }}
-        run: |
-          echo "$PR_NUMBER" > ./pr_number
-      - uses: actions/upload-artifact@v3
-        with:
-          name: api-artifact
-          path: pr_number
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
deleted file mode 100644
index 88e2aceaed6bac9c8d2d0580191c4e2bf8264207..0000000000000000000000000000000000000000
--- a/.github/workflows/labeler.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-name: "Pull Request Labeler"
-on:
-  pull_request_target:
-    branches-ignore:
-      - 'l10n_develop'
-
-jobs:
-  triage:
-    permissions:
-      contents: read
-      pull-requests: write
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/labeler@v5
-      with:
-        repo-token: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
deleted file mode 100644
index c63ccc87fc61ae41ca2f50e4ae343d086dbeaa0e..0000000000000000000000000000000000000000
--- a/.github/workflows/lint.yml
+++ /dev/null
@@ -1,85 +0,0 @@
-name: Lint
-
-on:
-  push:
-    branches:
-      - master
-      - develop
-    paths:
-      - packages/**
-  pull_request:
-    branches-ignore:
-      - weblate
-
-jobs:
-  pnpm_install:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        fetch-depth: 0
-        submodules: true
-    - uses: pnpm/action-setup@v2
-      with:
-        version: 8
-        run_install: false
-    - uses: actions/setup-node@v4
-      with:
-        node-version-file: '.node-version'
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-
-  lint:
-    needs: [pnpm_install]
-    runs-on: ubuntu-latest
-    continue-on-error: true
-    strategy:
-      matrix:
-        workspace:
-        - backend
-        - frontend
-        - sw
-        - misskey-js
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        fetch-depth: 0
-        submodules: true
-    - uses: pnpm/action-setup@v2
-      with:
-        version: 7
-        run_install: false
-    - uses: actions/setup-node@v4
-      with:
-        node-version-file: '.node-version'
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - run: pnpm --filter ${{ matrix.workspace }} run eslint
-
-  typecheck:
-    needs: [pnpm_install]
-    runs-on: ubuntu-latest
-    continue-on-error: true
-    strategy:
-      matrix:
-        workspace:
-        - backend
-        - misskey-js
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        fetch-depth: 0
-        submodules: true
-    - uses: pnpm/action-setup@v2
-      with:
-        version: 7
-        run_install: false
-    - uses: actions/setup-node@v4
-      with:
-        node-version-file: '.node-version'
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - run: pnpm --filter ${{ matrix.workspace }} run typecheck
diff --git a/.github/workflows/ok-to-test.yml b/.github/workflows/ok-to-test.yml
deleted file mode 100644
index c02b980e4da6da259eab4426773bef82e492e4d7..0000000000000000000000000000000000000000
--- a/.github/workflows/ok-to-test.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-# If someone with write access comments "/ok-to-test" on a pull request, emit a repository_dispatch event
-name: Ok To Test
-
-on:
-  issue_comment:
-    types: [created]
-
-jobs:
-  ok-to-test:
-    runs-on: ubuntu-latest
-    # Only run for PRs, not issue comments
-    if: ${{ github.event.issue.pull_request }}
-    steps:
-    # Generate a GitHub App installation access token from an App ID and private key
-    # To create a new GitHub App:
-    #   https://developer.github.com/apps/building-github-apps/creating-a-github-app/
-    # See app.yml for an example app manifest
-    - name: Generate token
-      id: generate_token
-      uses: tibdex/github-app-token@v2
-      with:
-        app_id: ${{ secrets.DEPLOYBOT_APP_ID }}
-        private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }}
-
-    - name: Slash Command Dispatch
-      uses: peter-evans/slash-command-dispatch@v3
-      env:
-        TOKEN: ${{ steps.generate_token.outputs.token }}
-      with:
-        token: ${{ env.TOKEN }} # GitHub App installation access token
-        # token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # PAT or OAuth token will also work
-        reaction-token: ${{ secrets.GITHUB_TOKEN }}
-        issue-type: pull-request
-        commands: deploy
-        named-args: true
-        permission: write
diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml
deleted file mode 100644
index 1f9238780f36767a6216e909fc2a4358a492b240..0000000000000000000000000000000000000000
--- a/.github/workflows/package.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-name: Publish prebuild
-
-on:
-  push:
-    branches:
-      - stable
-  release:
-    types: [published]
-  workflow_dispatch:
-
-jobs:
-  build_binaries:
-    name: Build & ship binaries
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        node-version: [20.x]
-        python-version: [3.11.x]
-    if: github.repository == 'transfem-org/Sharkey'
-    permissions:
-      contents: read
-      packages: write
-
-    steps:
-      - name: Check out the repo
-        uses: actions/checkout@v4.1.1
-        with:
-          lfs: true
-          submodules: 'recursive'
-        
-      - name: Use Node.js ${{ matrix.node-version }}
-        uses: actions/setup-node@v4
-        with:
-          node-version: ${{ matrix.node-version }}
-
-      - name: Setup Python
-        uses: actions/setup-python@v5.0.0
-        with:
-          python-version: ${{ matrix.python-version }}
-
-      - name: Cache APT Packages
-        uses: awalsh128/cache-apt-pkgs-action@v1.3.1
-        with:
-          packages: "build-essential binfmt-support qemu-user-static ffmpeg tini curl libjemalloc-dev libjemalloc2 uuid-dev libx11-dev libxkbfile-dev execstack libgconf-2-4 libsecret-1-dev"
-
-      - name: Set pnpm store path
-        run: echo "PNPM_STORE_PATH=$(pnpm store path)" >> $GITHUB_ENV
-
-      - name: Cache node modules
-        uses: actions/cache@v3
-        with:
-          path: ${{ env.PNPM_STORE_PATH }}
-          key: pnpm-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
-          restore-keys: |
-            pnpm-${{ runner.os }}-
-
-      - name: Build
-        run: |
-          corepack enable
-          corepack prepare pnpm@latest --activate
-          CI=true pnpm install
-          CI=true pnpm run build
-          rm -rdf packages/backend/node_modules
-          rm -rdf packages/frontend/node_modules
-          rm -rdf packages/megalodon/node_modules
-          rm -rdf packages/misskey-js/node_modules
-          rm -rdf node_modules
-          CI=true pnpm --prod --no-optional install
-          tar -czf /tmp/workspace.tar.gz .
-      - name: Upload linux x64
-        uses: actions/upload-artifact@v3.1.3
-        with: 
-          name: sharkey-linux-x64
-          path: /tmp/workspace.tar.gz
diff --git a/.github/workflows/pr-preview-deploy.yml b/.github/workflows/pr-preview-deploy.yml
deleted file mode 100644
index cb9a4ebfc8ea6432ab84f80d8e76750a00cfe757..0000000000000000000000000000000000000000
--- a/.github/workflows/pr-preview-deploy.yml
+++ /dev/null
@@ -1,92 +0,0 @@
-# Run secret-dependent integration tests only after /deploy approval
-on:
-  repository_dispatch:
-    types: [deploy-command]
-
-name: Deploy preview environment
-
-jobs:
-  # Repo owner has commented /deploy on a (fork-based) pull request
-  deploy-preview-environment:
-    runs-on: ubuntu-latest
-    if:
-      github.event.client_payload.slash_command.sha != '' &&
-      contains(github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.sha)
-    steps:
-    - uses: actions/github-script@v7
-      id: check-id
-      env:
-        number: ${{ github.event.client_payload.pull_request.number }}
-        job: ${{ github.job }}
-      with:
-        github-token: ${{ secrets.GITHUB_TOKEN }}
-        result-encoding: string
-        script: |
-          const { data: pull } = await github.rest.pulls.get({
-            ...context.repo,
-            pull_number: process.env.number
-          });
-          const ref = pull.head.sha;
-
-          const { data: checks } = await github.rest.checks.listForRef({
-            ...context.repo,
-            ref
-          });
-
-          const check = checks.check_runs.filter(c => c.name === process.env.job);
-
-          return check[0].id;
-
-    - uses: actions/github-script@v7
-      env:
-        check_id: ${{ steps.check-id.outputs.result }}
-        details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }}
-      with:
-        github-token: ${{ secrets.GITHUB_TOKEN }}
-        script: |
-          await github.rest.checks.update({
-            ...context.repo,
-            check_run_id: process.env.check_id,
-            status: 'in_progress',
-            details_url: process.env.details_url
-          });
-
-    # Check out merge commit
-    - name: Fork based /deploy checkout
-      uses: actions/checkout@v4.1.1
-      with:
-        ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
-
-    # <insert integration tests needing secrets>
-    - name: Context
-      uses: okteto/context@latest
-      with:
-        token: ${{ secrets.OKTETO_TOKEN }}
-
-    - name: Deploy preview environment
-      uses: ikuradon/deploy-preview@latest
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      with:
-        name: pr-${{ github.event.client_payload.pull_request.number }}-syuilo
-        timeout: 15m
-
-    # Update check run called "integration-fork"
-    - uses: actions/github-script@v7
-      id: update-check-run
-      if: ${{ always() }}
-      env:
-        # Conveniently, job.status maps to https://developer.github.com/v3/checks/runs/#update-a-check-run
-        conclusion: ${{ job.status }}
-        check_id: ${{ steps.check-id.outputs.result }}
-      with:
-        github-token: ${{ secrets.GITHUB_TOKEN }}
-        script: |
-          const { data: result } = await github.rest.checks.update({
-            ...context.repo,
-            check_run_id: process.env.check_id,
-            status: 'completed',
-            conclusion: process.env.conclusion
-          });
-
-          return result;
diff --git a/.github/workflows/pr-preview-destroy.yml b/.github/workflows/pr-preview-destroy.yml
deleted file mode 100644
index 47d9eb313a23824759e891f75f7df826278e388f..0000000000000000000000000000000000000000
--- a/.github/workflows/pr-preview-destroy.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-# file: .github/workflows/preview-closed.yaml
-on:
-  pull_request:
-    types:
-      - closed
-
-name: Destroy preview environment
-
-jobs:
-  destroy-preview-environment:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/github-script@v7
-        id: check-conclusion
-        env:
-          number: ${{ github.event.number }}
-        with:
-          github-token: ${{ secrets.GITHUB_TOKEN }}
-          result-encoding: string
-          script: |
-            const { data: pull } = await github.rest.pulls.get({
-              ...context.repo,
-              pull_number: process.env.number
-            });
-            const ref = pull.head.sha;
-
-            const { data: checks } = await github.rest.checks.listForRef({
-              ...context.repo,
-              ref
-            });
-
-            const check = checks.check_runs.filter(c => c.name === 'deploy-preview-environment');
-
-            if (check.length === 0) {
-              return;
-            }
-
-            const { data: result } = await github.rest.checks.get({
-              ...context.repo,
-              check_run_id: check[0].id,
-            });
-
-            return result.conclusion;
-      - name: Context
-        if: steps.check-conclusion.outputs.result == 'success'
-        uses: okteto/context@latest
-        with:
-          token: ${{ secrets.OKTETO_TOKEN }}
-
-      - name: Destroy preview environment
-        if: steps.check-conclusion.outputs.result == 'success'
-        uses: okteto/destroy-preview@latest
-        with:
-          name: pr-${{ github.event.number }}-syuilo
diff --git a/.github/workflows/report-api-diff.yml b/.github/workflows/report-api-diff.yml
deleted file mode 100644
index 2868d6cc0984453f01737ebddfba5553be6f4a60..0000000000000000000000000000000000000000
--- a/.github/workflows/report-api-diff.yml
+++ /dev/null
@@ -1,85 +0,0 @@
-name: Report API Diff
-
-on:
-  workflow_run:
-    types: [completed]
-    workflows:
-      - Get api.json from Misskey # get-api-diff.yml
-
-jobs:
-  compare-diff:
-    runs-on: ubuntu-latest
-    if: ${{ github.event.workflow_run.conclusion == 'success' }}
-    permissions:
-      pull-requests: write
-
-# api-artifact
-    steps:
-      - name: Download artifact
-        uses: actions/github-script@v7
-        with:
-          script: |
-            let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
-               owner: context.repo.owner,
-               repo: context.repo.repo,
-               run_id: context.payload.workflow_run.id,
-            });
-            let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
-              return artifact.name == "api-artifact"
-            })[0];
-            let download = await github.rest.actions.downloadArtifact({
-               owner: context.repo.owner,
-               repo: context.repo.repo,
-               artifact_id: matchArtifact.id,
-               archive_format: 'zip',
-            });
-            let fs = require('fs');
-            fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/api-artifact.zip`, Buffer.from(download.data));
-      - name: Extract artifact
-        run: unzip api-artifact.zip -d artifacts
-      - name: Load PR Number
-        id: load-pr-num
-        run: echo "pr-number=$(cat artifacts/pr_number)" >> "$GITHUB_OUTPUT"
-
-      - name: Output base
-        run: cat ./artifacts/api-base.json
-      - name: Output head
-        run: cat ./artifacts/api-head.json
-      - name: Arrange json files
-        run: |
-          jq '.' ./artifacts/api-base.json > ./api-base.json
-          jq '.' ./artifacts/api-head.json > ./api-head.json
-      - name: Get diff of 2 files
-        run: diff -u --label=base --label=head ./api-base.json ./api-head.json | cat > api.json.diff
-      - name: Get full diff
-        run: diff --label=base --label=head --new-line-format='+%L' --old-line-format='-%L' --unchanged-line-format=' %L' ./api-base.json ./api-head.json | cat > api-full.json.diff
-      - name: Echo full diff
-        run: cat ./api-full.json.diff
-      - name: Upload full diff to Artifact
-        uses: actions/upload-artifact@v3
-        with:
-          name: api-artifact
-          path: |
-            api-full.json.diff
-            api-base.json
-            api-head.json
-      - id: out-diff
-        name: Build diff Comment
-        run: |
-          cat <<- EOF > ./output.md
-          このPRによるapi.jsonの差分
-          <details>
-          <summary>差分はこちら</summary>
-
-          \`\`\`diff
-          $(cat ./api.json.diff)
-          \`\`\`
-          </details>
-
-          [Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})
-          EOF
-      - uses: thollander/actions-comment-pull-request@v2
-        with:
-          pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
-          comment_tag: show_diff
-          filePath: ./output.md
diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml
deleted file mode 100644
index 711e8bb7f5dca9ccb330ba922bfb46ce7219d52e..0000000000000000000000000000000000000000
--- a/.github/workflows/test-backend.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-name: Test (backend)
-
-on:
-  push:
-    branches:
-      - master
-      - develop
-  pull_request:
-
-jobs:
-  jest:
-    runs-on: ubuntu-latest
-
-    strategy:
-      matrix:
-        node-version: [20.5.1]
-
-    services:
-      postgres:
-        image: postgres:13
-        ports:
-          - 54312:5432
-        env:
-          POSTGRES_DB: test-misskey
-          POSTGRES_HOST_AUTH_METHOD: trust
-      redis:
-        image: redis:7
-        ports:
-          - 56312:6379
-
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        submodules: true
-    - name: Install pnpm
-      uses: pnpm/action-setup@v2
-      with:
-        version: 8
-        run_install: false
-    - name: Use Node.js ${{ matrix.node-version }}
-      uses: actions/setup-node@v4
-      with:
-        node-version: ${{ matrix.node-version }}
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - name: Check pnpm-lock.yaml
-      run: git diff --exit-code pnpm-lock.yaml
-    - name: Copy Configure
-      run: cp .github/misskey/test.yml .config
-    - name: Build
-      run: pnpm build
-    - name: Test
-      run: pnpm jest-and-coverage
-    - name: Upload Coverage
-      uses: codecov/codecov-action@v3
-      with:
-        token: ${{ secrets.CODECOV_TOKEN }}
-        files: ./packages/backend/coverage/coverage-final.json
diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml
deleted file mode 100644
index 62b2fe3e384bb613205e803300b5d23ec5cd2a10..0000000000000000000000000000000000000000
--- a/.github/workflows/test-frontend.yml
+++ /dev/null
@@ -1,120 +0,0 @@
-name: Test (frontend)
-
-on:
-  push:
-    branches:
-      - master
-      - develop
-  pull_request:
-
-jobs:
-  vitest:
-    runs-on: ubuntu-latest
-
-    strategy:
-      matrix:
-        node-version: [20.5.1]
-
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        submodules: true
-    - name: Install pnpm
-      uses: pnpm/action-setup@v2
-      with:
-        version: 8
-        run_install: false
-    - name: Use Node.js ${{ matrix.node-version }}
-      uses: actions/setup-node@v4
-      with:
-        node-version: ${{ matrix.node-version }}
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - name: Check pnpm-lock.yaml
-      run: git diff --exit-code pnpm-lock.yaml
-    - name: Copy Configure
-      run: cp .github/misskey/test.yml .config
-    - name: Build
-      run: pnpm build
-    - name: Test
-      run: pnpm --filter frontend test-and-coverage
-    - name: Upload Coverage
-      uses: codecov/codecov-action@v3
-      with:
-        token: ${{ secrets.CODECOV_TOKEN }}
-        files: ./packages/frontend/coverage/coverage-final.json
-
-  e2e:
-    runs-on: ubuntu-latest
-
-    strategy:
-      fail-fast: false
-      matrix:
-        node-version: [20.5.1]
-        browser: [chrome]
-
-    services:
-      postgres:
-        image: postgres:13
-        ports:
-          - 54312:5432
-        env:
-          POSTGRES_DB: test-misskey
-          POSTGRES_HOST_AUTH_METHOD: trust
-      redis:
-        image: redis:7
-        ports:
-          - 56312:6379
-
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        submodules: true
-    # https://github.com/cypress-io/cypress-docker-images/issues/150
-    #- name: Install mplayer for FireFox
-    #  run: sudo apt install mplayer -y
-    #  if: ${{ matrix.browser == 'firefox' }}
-    #- uses: browser-actions/setup-firefox@latest
-    #  if: ${{ matrix.browser == 'firefox' }}
-    - name: Install pnpm
-      uses: pnpm/action-setup@v2
-      with:
-        version: 7
-        run_install: false
-    - name: Use Node.js ${{ matrix.node-version }}
-      uses: actions/setup-node@v4
-      with:
-        node-version: ${{ matrix.node-version }}
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - name: Copy Configure
-      run: cp .github/misskey/test.yml .config
-    - name: Build
-      run: pnpm build
-    # https://github.com/cypress-io/cypress/issues/4351#issuecomment-559489091
-    - name: ALSA Env
-      run: echo -e 'pcm.!default {\n type hw\n card 0\n}\n\nctl.!default {\n type hw\n card 0\n}' > ~/.asoundrc
-    # XXX: This tries reinstalling Cypress if the binary is not cached
-    # Remove this when the cache issue is fixed
-    - name: Cypress install
-      run: pnpm exec cypress install
-    - name: Cypress run
-      uses: cypress-io/github-action@v6
-      with:
-        install: false
-        start: pnpm start:test
-        wait-on: 'http://localhost:61812'
-        headed: true
-        browser: ${{ matrix.browser }}
-    - uses: actions/upload-artifact@v3
-      if: failure()
-      with:
-        name: ${{ matrix.browser }}-cypress-screenshots
-        path: cypress/screenshots
-    - uses: actions/upload-artifact@v3
-      if: always()
-      with:
-        name: ${{ matrix.browser }}-cypress-videos
-        path: cypress/videos
diff --git a/.github/workflows/test-misskey-js.yml b/.github/workflows/test-misskey-js.yml
deleted file mode 100644
index 36816c78b84a08e64aa43aa23ccf924b94dd0d4d..0000000000000000000000000000000000000000
--- a/.github/workflows/test-misskey-js.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
-# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
-
-name: Test (misskey.js)
-
-on:
-  push:
-    branches: [ develop ]
-  pull_request:
-    branches: [ develop ]
-
-jobs:
-  test:
-
-    runs-on: ubuntu-latest
-
-    strategy:
-      matrix:
-        node-version: [20.5.1]
-        # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4.1.1
-
-      - run: corepack enable
-
-      - name: Setup Node.js ${{ matrix.node-version }}
-        uses: actions/setup-node@v4
-        with:
-          node-version: ${{ matrix.node-version }}
-          cache: 'pnpm'
-
-      - name: Install dependencies
-        run: pnpm i --frozen-lockfile
-
-      - name: Check pnpm-lock.yaml
-        run: git diff --exit-code pnpm-lock.yaml
-
-      - name: Build
-        run: pnpm --filter misskey-js build
-
-      - name: Test
-        run: pnpm --filter misskey-js test
-        env:
-          CI: true
-
-      - name: Upload Coverage
-        uses: codecov/codecov-action@v3
-        with:
-          token: ${{ secrets.CODECOV_TOKEN }}
-          files: ./packages/misskey-js/coverage/coverage-final.json
diff --git a/.github/workflows/test-production.yml b/.github/workflows/test-production.yml
deleted file mode 100644
index 6b98fc51e662bc1645a33ba5f0876f2e02d21974..0000000000000000000000000000000000000000
--- a/.github/workflows/test-production.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Test (production install and build)
-
-on:
-  push:
-    branches:
-      - master
-      - develop
-  pull_request:
-
-env:
-  NODE_ENV: production
-
-jobs:
-  production:
-    runs-on: ubuntu-latest
-
-    strategy:
-      matrix:
-        node-version: [20.5.1]
-
-    steps:
-    - uses: actions/checkout@v4.1.1
-      with:
-        submodules: true
-    - name: Install pnpm
-      uses: pnpm/action-setup@v2
-      with:
-        version: 8
-        run_install: false
-    - name: Use Node.js ${{ matrix.node-version }}
-      uses: actions/setup-node@v4
-      with:
-        node-version: ${{ matrix.node-version }}
-        cache: 'pnpm'
-    - run: corepack enable
-    - run: pnpm i --frozen-lockfile
-    - name: Check pnpm-lock.yaml
-      run: git diff --exit-code pnpm-lock.yaml
-    - name: Copy Configure
-      run: cp .github/misskey/test.yml .config/default.yml
-    - name: Build
-      run: pnpm build
diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml
deleted file mode 100644
index fb6c9ebdffa3e8a2a0ad3e9334920c2dbd5a0274..0000000000000000000000000000000000000000
--- a/.github/workflows/welcome.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-name: Welcome
-on:
-  pull_request:
-    types: [opened]
-  issues:
-    types: [opened]
-jobs:
-  run:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/first-interaction@v1.3.0
-        with:
-          repo-token: ${{ secrets.GITHUB_TOKEN }}
-          issue-message: |
-            👋 @{{ author }}
-             Thanks for opening your first issue here! If you are reporting a bug, please make sure to include steps on how to reproduce it! :D
-
-          pr-message: |
-            👋 @{{ author }}
-            Thanks for opening this pull request! We will review it as soon as we can :3
-            Please check out our contributing guidelines in the meantime.
-
-         # FIRST_PR_MERGED: |
-         #   🎉 @{{ author }}
-         #   Congrats on getting your first pull request merged! We are proud of you :3 ❤️