---
title: 4.1.0 — PRs & Issues が GitLab を読む
layout: default
parent: 日本語
nav_order: 1016
description: MulmoTerminal 4.1.0 のセットアップガイド。prRepos に GitLab のプロジェクトを書くと、MR と issue が GitHub のものと並んで出て、着手も同じ1クリック。
---

# 4.1.0 — PRs & Issues が GitLab を読む

**2026-08-02 にリリースした 4.1.0 のスナップショットです。** アプリが進めば内容は古くなります
（それは想定どおりです）。常に最新が保たれている情報は、各節から生きたガイドへリンクしています。

**PRs & Issues** ビューは、これまで github.com だけを読んでいました。4.1.0 からは
**gitlab.com** も読み、GitLab の issue から GitHub と同じように着手できます。

**既存の設定は何も変わりません。** いま `prRepos` に書いてあるものはそのまま動き、
このリリースで必須になる設定はありません。

---

## GitLab のプロジェクトを追加する

`prRepos` に、プロジェクトパスの前にホストを書きます。

```json
{
  "prRepos": ["acme/web", "gitlab.com/group/project"]
}
```

- **ホスト無しの `owner/repo` は今までどおり github.com** です。だから既存のエントリは無傷です。
- **GitLab はグループがネストする**ので、`gitlab.com/group/sub/project` も書けます。
- **Settings → Pull request repos** からも追加できます（同じ書き方です）。

→ ビューの他の設定は [GitHub 連携](github.html) にあります。

## 必要なもの

**`glab` にログインしていること。** ここでの `glab` は GitHub に対する `gh` と同じ位置づけで、
アプリが実行し、**認証は CLI に預けます**。MulmoTerminal 自身はトークンを保存しません。

```bash
brew install glab          # または https://gitlab.com/gitlab-org/cli
glab auth login
```

`glab` が無い・未ログインの場合は、**そのリポの行がその旨を表示します**（空のセクションにはなりません）。

## できること・まだできないこと

| | GitHub | GitLab |
| --- | --- | --- |
| 一覧に MR / PR が出る | ○ | **○** |
| 一覧に issue が出る | ○ | **○** |
| issue 行から着手（▶） | ○ | **○** |
| 行の CI ドット | ○ | **一部** — 下記 |
| セルからの ⧉ Open PR | ○ | まだ |
| issue への作業コメント | ○ | まだ |
| コックピットの PR フェーズ pill | ○ | まだ |

どちらでもないホストの行は、**「このホストは未対応」と表示する**ようになりました（理由も言わずに
空のセクションを出すのをやめました）。▶ ボタンも同じで、未対応ホストでは
**「ローカルクローンが無い」と嘘をつかず**、ホスト名を出します。

### GitLab の行の CI ドットは、たいてい空です

**GitLab の MR 一覧にはパイプラインの状態が入っていません。** 正確に出すには MR ごとに API を
1回叩く必要があり、複数リポを横断するビューでは払えないコストです。そのため CI を回している
プロジェクトでも「チェック無し」の薄いドットになります。例外は **CI が実際にマージを止めている
MR** で、これは実行中として出ます。

正確な状態は MR を開けば1クリックで見られます。**これは意図した制約**で、見落としではありません
（表現を広げると GitHub 側の描画を変えることになるため、このリリースではやりません）。

## GitLab の issue から着手する

GitHub とまったく同じです。issue 行の **▶** を押すと、アプリが `glab` で issue を読み、
クローンに `issue/<番号>-<slug>` の worktree を切り、**issue 本文を入力欄に入れた状態**で
Claude を開きます。**送信はしません** — 読んで、Enter は自分で押します。

GitHub と同じく、**そのプロジェクトのローカルクローンがディレクトリプリセットに登録されている
必要**があります。→ 流れの全体は [3.0.0 — issue から始める](v3.0.0.html) にあります。

## 4.1.0 のその他

**1つの issue に worktree は1つ。** 同じ issue に2回着手すると `issue/<N>-<slug>-2` が黙って
作られていました。今は2回目は**既にあるものを開きます** — セッションが居なければその worktree で
起動し、居ればそのセッションを開き、誰かが掴んでいれば**理由を言って断ります**。

**ヘッダーの hover が即座に出て、中身が厚くなりました。** これまではブラウザ標準の `title` で、
**出るまでの遅延は CSS でも JS でも変えられず**、1行のプレーンテキストしか入りません。自前の
ツールチップに置き換え、work chip が **PR と issue のタイトル**を出すようになりました
（サーバは 4.0.0 から送っていたのに、置き場所が無く一度も表示されていませんでした）。

**知っておくと良い修正が2件:**

- ヘッダーの git chip と work chip が **serif（Times）で描画**されていました。実ブラウザで計測した
  ところ6要素がブラウザ既定に落ちていて、ヘッダーでフォント未宣言だったのはこの2つだけでした。
  修正済みで、操作は不要です。
- Windows で、セッションレジストリがパスを POSIX の規則で読んでいたため、セッションが**別の
  ディレクトリに紐づいて記録される**ことがありました。

**内部では**、このリリースの約半分が **100 箇所超の `as` 型アサーションの除去**です（本物の型ガードに
置き換え）。画面上の変化はありませんが、設定ファイルや API から**形の違うものが来たときに、
数層先ではなく入口で落ちる**ようになります。

---

設定不要のものも含めた全変更の詳細は
[チェンジログ](https://github.com/receptron/mulmoterminal/blob/main/docs/ChangeLog.md)にあります。
