Slide 1

Slide 1 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. LintのみでAIに開 発スタイルを 叩き込 めるのか? 2025/10/10 AI駆動開発 ハンズオン会 【Cursor Workshop Tokyo】 wakye5815

Slide 2

Slide 2 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. 未来につながる火を灯そう 人々を魅了する事業を火に例えるならば、私たちはその種火を作る段階 から関われる事に喜びを感じます。 私たちは社会に役立つ事業を通じて未来につながる火を灯し続けます。 事業内容 生成AI活用支援 WEB開発 広告ソリューション DX支援 マーケティングデータ活用支援 データ人材 教育・派遣

Slide 3

Slide 3 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. ・脇⽥悠介 ・EM@株式会社 FLINTERS ・X :@wakye5815 ・⾃分のコンテキストウィンドウの  ⼩ささが悩み 自己紹介

Slide 4

Slide 4 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. プロンプトを書くのが⾯倒 書いても⻑丁場のセッションだとAI君は忘れだす 0->1開発だと参考にさせたいベースコードがなかったりする 発端

Slide 5

Slide 5 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. ここで思いつき

Slide 6

Slide 6 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. 開発スタイルの全てを Lintで強制できないか?

Slide 7

Slide 7 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. 環境:Typescript/ESLint model:Claude Sonnet 4.5 簡単なTODO CLIアプリの開発 関数型⼤好きチームの開発スタイルのコーディングをゴール 今回の実験のお題目

Slide 8

Slide 8 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. spec.md 1. 要件定義資料 を用意 2. プレーンな状態 で spec.md をもとにAI実装せよと指⽰ 準備

Slide 9

Slide 9 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. データ操作、構造をImmutable 最初の適⽤ルール

Slide 10

Slide 10 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. eslint-plugin- functional

Slide 11

Slide 11 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. 設定

Slide 12

Slide 12 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. Diff LGTM 修正させたいerrorのみを出⼒さ せて、コンテキスのノイズを作 らない⽅が良さそう

Slide 13

Slide 13 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. throw禁⽌。 パターンマッチ、 三項演算⼦の活⽤で式評価 次の適⽤ルール

Slide 14

Slide 14 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. "functional/no-throw-statements": "error", "functional/no-conditional-statements": [ "error", { "allowReturningBranches": false }], うまくts-pattern,ts-resultを使わ せたい しかしLintで弾くだけではどう書 けばいいかわからない 追記設定

Slide 15

Slide 15 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. Lintメッセージを差し替え書き⽤を指⽤

Slide 16

Slide 16 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. Diff ts-resultsでthrow代替 ts-patternの活⽤

Slide 17

Slide 17 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. Context7 MCPの利⽤をLintで促す

Slide 18

Slide 18 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. Diff ts-patternの活⽤

Slide 19

Slide 19 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. Lint = ASTレベルで定義できるガードレール を⾒ることができる 現状コーディングエージェントの多くは、ファイル粒度で 指⽰を適⽤できるので有⽤ ガードレールとしての命令はLintに寄せる、別途どう書かせ るかのプロンプトは必要 ドキュメントに誘導できるLLMフレンドリーなLintは強⼒かも しれない まとめ Lintでどこまでできるのか?

Slide 20

Slide 20 text

CONFIDENTIAL ©FLINTERS, Inc. All Rights Reserved. ・ 募集職種 カジュアル面談実施中! データエンジニア Webエンジニア ■フルスタック開発 インフラ、データ、サーバーサイド、フロントエンドな ど様々な領域に挑戦することが可能 ■裁量が大きい 開発チームでアーキテクチャ、技術選定が可能 新技術導入にも積極的に取り組む環境 ■大規模データ デジタルマーケの数億レコードの 大規模データに携われる ■データマネジメントのプロ データ処理基盤のインフラ構築、設計、開発、デー タの収集、格納、活用まで行う プロフェッショナルな環境