このように一つのリポジトリでclientとserverを分けていて、clientのディレクトリ以下をVercelにデプロイしたい場合の方法です。この時、pushされたブランチも main に限定します。以下の記事の設定に対象のディレクトリの指定を追加したものになります。

まず、VercelのRoot Directoryの設定は client になっていることを確認して下さい。
次に Ignored Build Step: を Run my Bash script にして、値を bash scripts/vercel-ignore-build-step.sh にします。スクリプトはclientディレクトリ上で実行されるため、clientディレクトリ以下に設置するようにして下さい。この設定で指定したファイルを以下のように作成します。
#!/bin/bash
echo "VERCEL_GIT_COMMIT_REF: $VERCEL_GIT_COMMIT_REF"
git diff HEAD^ HEAD --quiet .
DIFF=$?
if [[ "$VERCEL_GIT_COMMIT_REF" == "main" && DIFF -eq 1 ]] ; then
# Proceed with the build
echo "✅ - Build can proceed"
exit 1;
else
# Don't build
echo "🛑 - Build cancelled"
exit 0;
figit diff HEAD^ HEAD --quiet .
DIFF=$?この行で、clientディレクトリに差分が発生しているかを確認しています。$? は、直前に実行されたコマンドの終了ステータスを示す環境変数です。git diff では変更がある場合に1を返し、変更がない場合に0を返します。DIFF -eq 1 の部分で差分がある場合にビルドするように判定しています。
以上で、mainブランチへのpushでclientディレクトリに変更がある場合のみビルドが実行されるようになります。