【テンプレ】Angular用のCLAUDE.mdを作成してみた件

 いずみ
いずみこんな悩みを解決できる記事を書きました!
僕は現役フリーランスエンジニア(歴10年)で、資格は13個保有しています。
「Angular用のCLAUDE.mdがどんな感じか知りたい」とお考えではありませんか?
Claude Codeを使う際に必要不可欠なCLAUDE.mdですが、開発するたびに用意するのは面倒です。
各フレームワーク用のCLAUDE.mdを用意しておけば使い回せるので、今回はAngular用のファイルを作成してみました。



はたして誰に需要があるのか(笑)


本記事を読めば、Angular用のCLAUDE.mdについて分かるので早速見ていきましょう!



すぐ読み終わるので、ぜひ最後まで読んでくださいませ。
| 【当サイト】おすすめフリーランスエージェント3選 | |||
|---|---|---|---|
| エージェント | 評価 | ポイント | 公式サイト | 
|   レバテックフリーランス   | 5.0 | 業界最大級のエージェント。 高単価案件が豊富。 | 公式 | 
|   Midworks   | 4.8 | 満足度調査で 3年連続3冠を達成。 | 公式 | 
|   ITプロパートナーズ   | 4.6 | 週2〜3向けの案件が豊富。 | 公式 | 
Angular用のCLAUDE.mdを作成する方法
早速ですが、Angular用のCLAUDE.mdを作成する方法を解説します。
CLAUDE.mdの作成
# Claude AI 開発ルール
## 🔧 技術的ガイドライン
### コード品質
- TypeScriptの型安全性を保つ
- Observable パターンを使用する
## 🚫 開発時の禁止事項
### 1. 既存実装の無視
- 既存の動作する実装パターンを必ず参考にする
- 新機能追加時は同種の既存サービスと同じ構造にする
- 勝手に新しいパターンや複雑な実装をしない
### 2. 根本原因の軽視
- 表面的な対処療法で済ませない
- エラーログやレスポンスの実データを必ず確認する
### 3. 一貫性のない修正
- 他のサービスと異なるエラーハンドリングを書かない  
- 統一されたコーディングスタイルから逸脱しない
- プロキシ設定など既存の設定パターンに従う
### 4. 無関係な修正の禁止
- バグ修正時は該当箇所のみを修正する
- 正常に動作している既存のコードを変更しない
- インターフェース統一や型修正を理由に動作するコードを壊さない
## 📐 Angularコーディング規約
### 必須ルール
- **Angularコーディング規約に準拠する**: `.claude/angular-coding.md` を必ず参照CLAUDE.mdを作成します。



CLAUDE.mdには基本的なガイドラインのみ記載します(これは好みです)。
Angularに関する規約は別のファイルに記載し、CLAUDE.mdから参照するようにします。
angular-coding.mdの作成
# Angular コーディング規約
## 汎用ルール
### TypeScript
- `any` の使用禁止
- 明示的な型定義を心がける
- メソッドの戻り値の型は必ず明記する(void含む)
- Boolean プロパティは `is`, `has`, `can` などの接頭辞を使用
```typescript
interface CurrencyData {
  symbol: string;
  name: string;
  isAvailable: boolean;
}
export class ExampleComponent {
  isLoading = false;
  hasError = false;
  canEdit = true;
}
```
### CSS変数
- 共通的に使用する値はCSS変数として定義
```css
:root {
  --color-primary: #2eac91;
  --color-text-primary: #333;
  --color-success: #28a745;
  --color-error: #dc3545;
}
```
### コメント
- 基本的にコメントは書かない
- コードが自己説明的になるよう命名や構造を工夫する
### フォーマット
- 空白行は連続して2行以上作らない
## Angular 固有ルール
### コンポーネント設計
- Standalone コンポーネントを使用
- テンプレートとスタイルはインライン記述
- 1つのコンポーネントは1つの責務のみ
### クラス構成順序
- プロパティ → DIサービス → ライフサイクルメソッド → その他メソッドの順序
```typescript
export class ExampleComponent {
  // プロパティ(アルファベット順)
  isLoading = false;
  title = 'Example';
  
  // DIサービス(アルファベット順)
  private readonly httpClient = inject(HttpClient);
  private readonly router = inject(Router);
  
  // ライフサイクルメソッド
  ngOnInit() {}
  
  // その他メソッド
  loadData() {}
  private calculateTotal() {}
}
```
### Dependency Injection
- `inject()` でDI(コンストラクター禁止)
- DIしたサービスはアルファベット順に並べる
```typescript
export class MyComponent {
  private readonly authService = inject(AuthService);
  private readonly httpClient = inject(HttpClient);
  private readonly router = inject(Router);
  private readonly userService = inject(UserService);
}
```
### テンプレート
- メソッド呼び出し禁止、プロパティで値を保持
```typescript
export class ExampleComponent {
  formattedDate = computed(() => this.dateService.format(this.item().date));
  totalAmount = computed(() => this.items().reduce((sum, item) => sum + item.amount, 0));
}
```
### Input/Output
- 必須の Input プロパティには `!` を付ける
- Output イベント名は動詞の過去形を使用
```typescript
export class ExampleComponent {
  @Input() title!: string;
  @Output() clicked = new EventEmitter<void>();
  @Output() valueChanged = new EventEmitter<string>();
}
```
### HTTP通信
- Promise は使わず Observable を使用する
- API実行時のヘッダやエラーハンドリングは interceptor を使用
- 並列処理が可能な場合は forkJoin を使用する
```typescript
export class ExampleService {
  getData(): Observable<{posts: Post[], user: User}> {
    return forkJoin({
      posts: this.http.get<Post[]>('/api/posts'),
      user: this.http.get<User>('/api/user')
    });
  }
}
```
### リソース管理
- 継続的にデータを流す Observable は必ず破棄
```typescript
export class ExampleComponent {
  private readonly destroyRef = inject(DestroyRef);
  
  ngOnInit() {
    this.formControl.valueChanges
      .pipe(takeUntilDestroyed(this.destroyRef))
      .subscribe();
  }
}
```
### テスト
- テストファイルは `*.component.spec.ts`, `*.service.spec.ts`angular-coding.mdを作成すればOKです。



TypeScriptに関する規約も混ざっているのと、あくまでサンプルなのでいい感じに改良してくださいまし。
| 【当サイト】おすすめフリーランスエージェント3選 | |||
|---|---|---|---|
| エージェント | 評価 | ポイント | 公式サイト | 
|   レバテックフリーランス   | 5.0 | 業界最大級のエージェント。 高単価案件が豊富。 | 公式 | 
|   Midworks   | 4.8 | 満足度調査で 3年連続3冠を達成。 | 公式 | 
|   ITプロパートナーズ   | 4.6 | 週2〜3向けの案件が豊富。 | 公式 | 
【厳選】フリーランスエンジニアにおすすめなエージェント3選


フリーランスエンジニアになるにはエージェントから案件をもらう必要があります。
僕が実際に利用しているおすすめエージェントを紹介しますね。



エージェントは必ず複数登録してください。
担当者によっては「全然案件紹介してくれない…」みたいなこともあるので…
僕は実際に5つのエージェントを使い回していますよ。
フリーランスを始めるなら「レバテックフリーランス



- 業界最大級の案件数。
- 業界トップクラスの高単価報酬、低マージン(平均年収862万円)。
- 案件参画中のフォローの充実。
※詳細は「【業界最大手】レバテックフリーランスとは?メリットや利用手順を解説!」を参照。
レバテックフリーランス


とにかく案件数が多いので、とりあえず登録しておけば間違いないエージェントです!



僕もはじめてフリーランスの案件を貰ったのはレバテックフリーランス


保有している案件数が多いので、業務経験がなくても何かしらの案件は紹介してもらえますよ(僕はJavaの経験3年でも案件を貰えました)。
手厚い保障を重視したいなら「Midworks



- 手厚い保障で正社員並みの安心感。
- 還元率60%超え&単価公開でクリアな契約。
- 給与保障制度(審査あり)。
Midworks


フリーランスを目指しているけど不安な方や保障を重視したい方におすすめです。



僕も何度か案件を紹介してもらいました。
自分のスキルに合った案件を紹介してもらえましたし、電話のやり取りも非常に丁寧でした。
週2〜3日の案件探しなら「ITプロパートナーズ



- IT案件に特化したフリーランスエージェント。
- 週2〜3日の案件が豊富。
- リモート案件が多く、直エンドなので単価も高い。
※詳細は「【週2・3案件】ITプロパートナーズとは?メリットや利用手順を解説!」を参照。
ITプロパートナーズ


週2〜3日から参画できる案件が豊富なので、起業したい人にもおすすめです。



週2〜3日の案件はある程度スキルがないと紹介してもらえない印象です。
とはいえ、週5の案件ももちろんありますし、僕が利用した時は迅速・丁寧に対応していただきました!
まとめ
今回は、Angular用のCLAUDE.mdを作成する方法について解説しました。
以下が本記事のまとめになります。
- おすすめ本
Angularの勉強なら「Angularアプリケーションプログラミング



最後までお読みいただき、ありがとうございました!
| 【当サイト】おすすめフリーランスエージェント3選 | |||
|---|---|---|---|
| エージェント | 評価 | ポイント | 公式サイト | 
|   レバテックフリーランス   | 5.0 | 業界最大級のエージェント。 高単価案件が豊富。 | 公式 | 
|   Midworks   | 4.8 | 満足度調査で 3年連続3冠を達成。 | 公式 | 
|   ITプロパートナーズ   | 4.6 | 週2〜3向けの案件が豊富。 | 公式 | 
- クソおすすめ本



海外のエンジニアがどういった思考で働いているかが理解できます。
海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。













