ホーム / 会社について / 開発体制と、自動チェックの数え方
開発体制 2026.09.17

開発体制と、自動チェックの数え方

このページは、ウルスタの開発体制と品質チェックの数字を、報道や記事で引用していただくための一次情報です。測定した日、測定に使ったコミット、数え方のコマンドをそのまま載せています。数え方が違えば数字も変わるので、数え方ごと公開します。

このページの使い方

下の数字は自由に引用してください。転載や引用に許可は要りません。出典は「ウルスタ株式会社 開発体制と、自動チェックの数え方(https://ulsta.jp/development/)」としてください。

  • 数字は数え方を決めないと決まりません。だから数え方のコマンドをそのまま載せています。同じコマンドを実行すれば同じ数字になります。
  • 数字は日々変わります。引用するときは測定日を添えてください。
  • リポジトリは非公開です。第三者が直接検算することはできません。取材で確認が必要な場合は、画面を共有して一緒に実行します。下の連絡先へご連絡ください。

測定の基準

測定日
2026年9月17日
対象コミット
a86f93c7abe59278e59272ea9680c818d231a4ea(main)
対象
Gitが追跡しているファイルのみ。手元にあるだけの未追跡ファイルは数えません
除外
node_modules / vendor(外部から持ってきたもの)

「Gitが追跡しているファイルのみ」は重要な条件です。手元の作業フォルダには、複製や書きかけのファイルが残ります。それを数えると、実際に動いているものより多い数字が出ます。ここでは本番に出ていてCIが実行しているものだけを数えます。

数字と、その数え方

項目数え方
コミット1,963回git rev-list --count HEAD
開発期間2026年4月17日〜9月17日(5か月)最初と最後のコミット日
追跡ファイル6,071git ls-files | wc -l
自動チェック(JavaScript)603本git ls-files 'scripts/check_*.js' | wc -l
自動チェック(PHP)78本git ls-files 'scripts/check_*.php' | wc -l
自動チェック(Python)2本git ls-files 'scripts/check_*.py' | wc -l
自動チェック 合計683本603 + 78 + 2
テスト(JavaScript)67本git ls-files 'scripts/test_*.js' | wc -l
テスト(PHP)27本git ls-files 'scripts/test_*.php' | wc -l
ブラウザを実際に動かすテスト36本git ls-files 'e2e/*.spec.ts' | wc -l
データベースの変更履歴729本(サブフォルダ込みで740本)migrations/ 直下の .php
チェックとテストの行数94,194行上のチェックとテストのファイルを wc -l
変更履歴の行数144,653行migrations の .php を wc -l
コード総行数708,656行追跡ファイルの .php/.js/.py/.html/.ts(node_modules・vendor除く)

プレスリリースの「643本」を訂正します

2026年9月17日に配信したプレスリリースで、自動チェックの数を「643本」と書きました。この数字は誤りです。正しくは603本です(JavaScriptのチェックの数)。

原因は、Gitが追跡しているファイルではなく、手元の作業フォルダをそのまま数えたことです。作業フォルダには、macOSでの複製操作でできた「ファイル名の末尾に 2 が付いたコピー」が40本残っていました。40本すべてに元のファイルが存在し、うち28本は元ファイルとバイト単位で同一、残り12本はコピーされた時点の古い内容でした。

この40本はGitに入っていないので、本番にもCIにも存在しません。動いているチェックの数は最初から603本でした。多く見せようとしたわけではなく、数え方が雑だったということです。配信済みのプレスリリースは修正できないため、このページで訂正します。

あわせて、プレスリリースでは「643本」とだけ書きましたが、同じ仕組みで走るチェックはJavaScriptのほかにPHPが78本、Pythonが2本あります。合計683本が正確な数です。

自動チェックは何を見ているか

ここでいう「自動チェック」は、コードを変えるたびにGitHub Actionsが自動で走らせるプログラムです。CIの設定では scripts/check_*.js と scripts/check_*.php をまとめて実行しているので、1本足せばその日から全部の変更に対して走ります。

一般的な単体テストとは少し違います。多くは「過去に一度やってしまった失敗を、二度とできなくする」ために書かれています。例を挙げます。

  • 空のcatchを見張る。エラーを受け取って何もしない書き方を禁止します。導入時、本番コードにPHPで252件、JavaScriptで644件ありました。
  • ログのレベル指定を見張る。この製品でデータベースに記録が残るのは error / critical / warning の3つだけで、warn と書くと記録が残りません。書いた時点で止めます。
  • 存在しない列にデータを入れる変更履歴を止める。スキーマ定義と変更履歴が自分で足す列を突き合わせ、その外を指したら止めます。
  • プレースホルダを置けない位置に置いたSQLを止める。MySQL 8で実際に動かして規則を確定させたうえで判定しています。
  • バックアップから本当に戻せるかを毎回試す。種を蒔く、バックアップを取る、全部消す、本物の復元処理を起動する、行数と中身を照合する、までを自動で通します。

チェック自体が壊れていないかも確認しています。書いたあとに「わざと元の壊れた形に戻すと赤くなるか、直すと緑になるか」を実際に動かして確かめてから入れています。見張っているつもりで何も見ていない番人を作らないためです。

開発体制

開発者
代表取締役 馬場生悦 1人
エンジニアの採用
なし
外注
なし
開発の方法
AIを使って書き、上の自動チェックで毎回確かめる

コミットの著者名は23種類ありますが、人間は1人です。内訳は次のとおりです。

著者の種類コミット数
馬場生悦(本人名義。うち1,723回は自動コミット)1,824回
AI・自動化の名義(Claude、各種bot、dependabot)139回
合計1,963回

「1人で1,963回書いた」という意味ではありません。大半は自動化とAIによるコミットです。人間として関わっているのが1人だけ、という意味です。

この数字は動きます

毎日コードを変えているので、ここの数字はその都度ずれていきます。大きく変わったときに測り直して、測定日とコミットを書き換えます。古い数字を引用されて食い違うことがないように、測定日とコミットを必ず併記しています。

数え方を変えるときは、変えた理由もここに書きます。数字だけ静かに増えることはありません。

画像と取材について

プレスリリースに掲載した製品画面の画像は、報道を目的とする場合に限り、出典(ウルスタ株式会社)を明記のうえ自由にお使いいただけます。掲載しているのは実際の画面で、物件名や金額などの表示データは見本です。

取材・画像の追加提供・数字の検算のご依頼
ウルスタ株式会社 代表取締役 馬場生悦
メール:info@ulsta.jp / 電話:03-6821-7179
#開発体制
共有