Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,22 @@ CI 設定の構文確認:
ruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci.yml"); puts "YAML OK"'
```

## ビルド出力ディレクトリのルール

- ローカル検証では、スナップショット保存時にプロジェクト容量が増えないよう、可能な限りプロジェクト外の `~/appOutput/<repo名>` を `--build-path` に指定する。
- Linux Static SDK のローカルクロスビルドでは、例として次のように実行する。

```sh
swift build -v --swift-sdk x86_64-swift-linux-musl --build-path ~/appOutput/Testy
```

- CI では個人環境の home directory や絶対パスに依存しない。GitHub Actions では引き続き `.build/linux-musl` を使う。

## 条件付きで実行してよい操作

- ユーザーが明示的に依頼した場合のみ、ファイル編集、コミット、push、PR 作成を行う。
- `gh pr create`、`gh pr comment`、`gh pr review` は、ユーザーの依頼または自動レビューの目的に必要な場合のみ使う。
- 依存関係や toolchain のインストールは、CI の再現やユーザーの依頼に必要な場合に限る。
- CI では `Testy`、`blocks`、`overlayNetwork` を兄弟ディレクトリに checkout する。
- ローカル path 依存で検証する場合、CI では必要な兄弟 package を checkout または配置する。GitHub tag 依存へ切り替えた PR では、該当 dependency の追加 checkout は原則不要。

## Package.swift の依存関係ルール
Expand All @@ -91,7 +101,7 @@ ruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci.yml"); puts "YAML
.package(url: "https://github.com/webbananaunite/SharedDesignSystem", .upToNextMajor(from: "<user-confirmed-shared-design-system-tag>")), //using source code in github tag
```

- 例として現在想定されている tag は `blocks` が `0.5.3`、`SharedDesignSystem` が `0.1.0` だが、PR ごとに最新の意図をユーザーへ確認する。
- 例として現在想定されている tag は `blocks` が `0.5.4`、`SharedDesignSystem` が `0.1.0` だが、PR ごとに最新の意図をユーザーへ確認する。
- GitHub tag 依存へ切り替える場合、その tag が GitHub に push 済みであり、PR で検証したい変更を含んでいることを確認する。tag に含まれないローカル変更は CI では検証されない。
- SwiftPM の version requirement には SemVer として解釈できる tag を使う。`0.1` のような短い tag を使う必要がある場合は、SwiftPM が受け付けるか確認し、問題があれば `0.1.0` のような 3 要素の tag をユーザーに提案する。

Expand Down