generateTypes型安全にバックエンドサーバ、Databaseにアクセスすることで、実際にコードを動かす前に、型チェックで明らかなエラーを検知できる。SQLインジェクション等のセキュリティ対策も同時に行うライブラリもあり、セキュリティの担保にもなる場合がある。Databaseのテーブル定義からTypeScript型定義を自動作成。SQL文を書く必要がなくなり、型安全にDatabaseにアクセスできる。テーブル定義からDatabaseのテーブルを作成ができ、DBの設定、マイグレーションも自動で行える。GraphQLのQuery/Mutation/Subscriptionの型定義を自動作成。型安全にGraphQLサーバにアクセスできる。OpenAPIからTypeScript型定義を自動作成。APIサーバにアクセスできる。tRPCDocumentation自動でドキュメントを生成できるようにする。CIと連携して、常にAPIのドキュメントが最新の状態であることが担保できる。ドキュメントを挟まないことで、ドキュメントの更新忘れによる不整合を防ぐ。動いているGraphQLサーバにpost可能なQuery/Mutationのドキュメントを確認可能。スキーマ駆動開発スキーマの定義ファイルからフロントエンドもバックエンドも実装を行う開発方針。スキーマ駆動開発ってなに?便利なの?って方へ。OpenAPIからExpressのControllerを自動生成。CIコードの体裁を守ることによって品質管理がしやすくなる。パッケージのアップデートに伴う不具合をある程度未然に防ぐことができる。formatterprettier本ブログで利用している設定はprettier.config.mjsを参照。linterESLint本ブログで利用している設定は.eslintrc.cjsを参照。Stylelint本ブログで利用している設定は.stylelintrc.mjsを参照。markdownlint-cli2本ブログで利用している設定は.markdownlint-cli2.jsoncを参照。secretlint本ブログで利用している設定は.secretlintrc.jsonを参照。https://example.com)。CDGitHub/GitLabのMainブランチへのマージや、タグの付与をトリガーに自動デプロイを行うことで、コードと環境のコードの不整合を防ぐ。Vercelへのデプロイを自動化。Renderへのデプロイを自動化。AWSのリソースをコードベースで管理し、差分を自動デプロイ。composeを利用することで、開発環境を即時に作成できる。Service等)を利用することで、容易にk8sのようにコンテナの管理を自動化できる。alerts常に最新の状態のライブラリを使うことで、脆弱性を防いだり、メンテナンスがしやすくなる。定期的にパッケージのアップデートのPRを自動作成。脆弱性を自動で検知し、パッケージのアップデートのPRを自動作成。GitCHANGELOGを自動生成。package.jsonのversionを自動更新。--generate-notesコマンドによって、GitHubのReleaseのタイトルと本文を自動生成。Commitsに則ったコミットメッセージを自動生成。コミット前にlinterを実行し、コードの品質を担保する。GitでMarkdownを管理している場合やCI/CDの実行時間を削減したい場合に有効。Requestをマージする際に、コミットをsquashすることで、コミット履歴をきれいに保つ。Request単位でビルドを共有する(iOSやAndroidアプリの場合、DeployGate等を活用する)。truthドキュメントを唯一の情報ソースとし、色々な箇所にドキュメントを散りばめないようにしよう。プログラマーのための原則つよつよエンジニアになるために非機能要件が考慮されている。プログラミングの原理原則が守られている。レポジトリ内に無駄なコードがない(.DS_Store等)。pipelineが初期から整備されている。テストコードが(高確率で)存在する。