Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions .cursor/rules/general.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,37 @@ alwaysApply: true

- Name: willbooster-shared
- Description: undefined
- Package Manager: yarn
- Package Manager: yarn on zsh

## General Instructions
## Development Workflow

- Do not write tests unless explicitly requested.
- When fixing tests, gather debug information through logging and screenshots before modifying the code.
- After making code changes, run `yarn check-all-for-ai` to execute all tests (note: this may take up to 30 minutes), or run `yarn check-for-ai` for type checking and linting only.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
- Once you have verified your changes, commit them to the non-main branch using the `--no-verify` option and push to the current branch.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Cursor) <agent@willbooster.com>`.
- Always create new commits. Avoid using `--amend`.
When changing code, complete these steps before responding to the user.

1. If the current branch is `main`, create a new branch.
- Include unexpected changes since they are mine.
2. Make code changes as needed.
3. If possible, write e2e tests for your changes.
4. Fix your changes until `yarn check-all-for-ai` (running all tests, taking 30 mins) or `yarn check-for-ai` (only type checking and linting) passes.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
5. Commit your changes to the current branch and push.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, `test:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Cursor) <agent@willbooster.com>`.
- When pre-commit hooks prevent your changes, fix your code, then re-commit and re-push.
6. Create a pull request using `gh`.
- The pull request title should match your commit message.
7. Repeat the following steps until the test workflow passes:
1. Monitor the CI results using the following command until the test workflow completes (timeout should be 30 mins).
- `while :; do gh run list -b "$(git branch --show-current)" --json status,conclusion | jq -e '.[] | select(.conclusion=="failure")' && exit 1; gh run list -b "$(git branch --show-current)" --json status | jq -e '.[] | select(.status=="completed" | not)' || exit 0; sleep 1m; done`
2. If tests fail, identify the root causes by gathering debug information through logging and screenshots, then fix the code and/or tests.
3. Fetch unresolved review comments from the pull request using the following command. Address them and then mark them as resolved.
- `gh api graphql -f query="{ repository(owner: \"WillBooster\", name: \"shared\") { pullRequest(number: $(gh pr view --json number -q .number)) { reviewThreads(first: 100) { nodes { isResolved comments(first: 100) { nodes { body author { login } path line } } } } } } }" | jq '.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved | not)'`
4. Commit your changes and push.
5. Write `/gemini review` in the pull request.

## Coding Style

- Write comments that explain "why" rather than "what". Avoid explanations that can be understood from the code itself.
- Use stderr for logging debug messages temporarily since stdout output is sometimes omitted.
- When adding new functions or classes, define them below any functions or classes that call them to maintain clear call order.
- Prefer `undefined` over `null` unless explicitly dealing with APIs or libraries that require `null`.
- Always perform existence checks on array due to `noUncheckedIndexedAccess: true`.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

noUncheckedIndexedAccess: true のための配列存在チェックを推奨するルールが削除されています。

もし tsconfig.jsonnoUncheckedIndexedAccesstrue のままであれば、このルールを削除すると、開発者(またはAI)が配列アクセス時に undefined の可能性を考慮し忘れることで、ランタイムエラーを引き起こす危険性があります。

tsconfig.json の設定が false に変更されたのでなければ、このルールの削除は再検討することをお勧めします。

- Use `project.env` instead of `process.env` on `wb` package.
35 changes: 24 additions & 11 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,37 @@

- Name: willbooster-shared
- Description: undefined
- Package Manager: yarn
- Package Manager: yarn on zsh

## General Instructions
## Development Workflow

- Do not write tests unless explicitly requested.
- When fixing tests, gather debug information through logging and screenshots before modifying the code.
- After making code changes, run `yarn check-all-for-ai` to execute all tests (note: this may take up to 30 minutes), or run `yarn check-for-ai` for type checking and linting only.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
- Once you have verified your changes, commit them to the non-main branch using the `--no-verify` option and push to the current branch.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Codex CLI) <agent@willbooster.com>`.
- Always create new commits. Avoid using `--amend`.
When changing code, complete these steps before responding to the user.

1. If the current branch is `main`, create a new branch.
- Include unexpected changes since they are mine.
2. Make code changes as needed.
3. If possible, write e2e tests for your changes.
4. Fix your changes until `yarn check-all-for-ai` (running all tests, taking 30 mins) or `yarn check-for-ai` (only type checking and linting) passes.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
5. Commit your changes to the current branch and push.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, `test:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Codex CLI) <agent@willbooster.com>`.
- When pre-commit hooks prevent your changes, fix your code, then re-commit and re-push.
6. Create a pull request using `gh`.
- The pull request title should match your commit message.
7. Repeat the following steps until the test workflow passes:
1. Monitor the CI results using the following command until the test workflow completes (timeout should be 30 mins).
- `while :; do gh run list -b "$(git branch --show-current)" --json status,conclusion | jq -e '.[] | select(.conclusion=="failure")' && exit 1; gh run list -b "$(git branch --show-current)" --json status | jq -e '.[] | select(.status=="completed" | not)' || exit 0; sleep 1m; done`
2. If tests fail, identify the root causes by gathering debug information through logging and screenshots, then fix the code and/or tests.
3. Fetch unresolved review comments from the pull request using the following command. Address them and then mark them as resolved.
- `gh api graphql -f query="{ repository(owner: \"WillBooster\", name: \"shared\") { pullRequest(number: $(gh pr view --json number -q .number)) { reviewThreads(first: 100) { nodes { isResolved comments(first: 100) { nodes { body author { login } path line } } } } } } }" | jq '.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved | not)'`
4. Commit your changes and push.
5. Write `/gemini review` in the pull request.

## Coding Style

- Write comments that explain "why" rather than "what". Avoid explanations that can be understood from the code itself.
- Use stderr for logging debug messages temporarily since stdout output is sometimes omitted.
- When adding new functions or classes, define them below any functions or classes that call them to maintain clear call order.
- Prefer `undefined` over `null` unless explicitly dealing with APIs or libraries that require `null`.
- Always perform existence checks on array due to `noUncheckedIndexedAccess: true`.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

noUncheckedIndexedAccess: true のための配列存在チェックを推奨するルールが削除されています。

もし tsconfig.jsonnoUncheckedIndexedAccesstrue のままであれば、このルールを削除すると、開発者(またはAI)が配列アクセス時に undefined の可能性を考慮し忘れることで、ランタイムエラーを引き起こす危険性があります。

tsconfig.json の設定が false に変更されたのでなければ、このルールの削除は再検討することをお勧めします。

- Use `project.env` instead of `process.env` on `wb` package.
35 changes: 24 additions & 11 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,37 @@

- Name: willbooster-shared
- Description: undefined
- Package Manager: yarn
- Package Manager: yarn on zsh

## General Instructions
## Development Workflow

- Do not write tests unless explicitly requested.
- When fixing tests, gather debug information through logging and screenshots before modifying the code.
- After making code changes, run `yarn check-all-for-ai` to execute all tests (note: this may take up to 30 minutes), or run `yarn check-for-ai` for type checking and linting only.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
- Once you have verified your changes, commit them to the non-main branch using the `--no-verify` option and push to the current branch.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Claude Code) <agent@willbooster.com>`.
- Always create new commits. Avoid using `--amend`.
When changing code, complete these steps before responding to the user.

1. If the current branch is `main`, create a new branch.
- Include unexpected changes since they are mine.
2. Make code changes as needed.
3. If possible, write e2e tests for your changes.
4. Fix your changes until `yarn check-all-for-ai` (running all tests, taking 30 mins) or `yarn check-for-ai` (only type checking and linting) passes.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
5. Commit your changes to the current branch and push.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, `test:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Claude Code) <agent@willbooster.com>`.
- When pre-commit hooks prevent your changes, fix your code, then re-commit and re-push.
6. Create a pull request using `gh`.
- The pull request title should match your commit message.
7. Repeat the following steps until the test workflow passes:
1. Monitor the CI results using the following command until the test workflow completes (timeout should be 30 mins).
- `while :; do gh run list -b "$(git branch --show-current)" --json status,conclusion | jq -e '.[] | select(.conclusion=="failure")' && exit 1; gh run list -b "$(git branch --show-current)" --json status | jq -e '.[] | select(.status=="completed" | not)' || exit 0; sleep 1m; done`
2. If tests fail, identify the root causes by gathering debug information through logging and screenshots, then fix the code and/or tests.
3. Fetch unresolved review comments from the pull request using the following command. Address them and then mark them as resolved.
- `gh api graphql -f query="{ repository(owner: \"WillBooster\", name: \"shared\") { pullRequest(number: $(gh pr view --json number -q .number)) { reviewThreads(first: 100) { nodes { isResolved comments(first: 100) { nodes { body author { login } path line } } } } } } }" | jq '.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved | not)'`
4. Commit your changes and push.
5. Write `/gemini review` in the pull request.

## Coding Style

- Write comments that explain "why" rather than "what". Avoid explanations that can be understood from the code itself.
- Use stderr for logging debug messages temporarily since stdout output is sometimes omitted.
- When adding new functions or classes, define them below any functions or classes that call them to maintain clear call order.
- Prefer `undefined` over `null` unless explicitly dealing with APIs or libraries that require `null`.
- Always perform existence checks on array due to `noUncheckedIndexedAccess: true`.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

noUncheckedIndexedAccess: true のための配列存在チェックを推奨するルールが削除されています。

もし tsconfig.jsonnoUncheckedIndexedAccesstrue のままであれば、このルールを削除すると、開発者(またはAI)が配列アクセス時に undefined の可能性を考慮し忘れることで、ランタイムエラーを引き起こす危険性があります。

tsconfig.json の設定が false に変更されたのでなければ、このルールの削除は再検討することをお勧めします。

- Use `project.env` instead of `process.env` on `wb` package.
35 changes: 24 additions & 11 deletions GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,37 @@

- Name: willbooster-shared
- Description: undefined
- Package Manager: yarn
- Package Manager: yarn on zsh

## General Instructions
## Development Workflow

- Do not write tests unless explicitly requested.
- When fixing tests, gather debug information through logging and screenshots before modifying the code.
- After making code changes, run `yarn check-all-for-ai` to execute all tests (note: this may take up to 30 minutes), or run `yarn check-for-ai` for type checking and linting only.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
- Once you have verified your changes, commit them to the non-main branch using the `--no-verify` option and push to the current branch.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Gemini CLI) <agent@willbooster.com>`.
- Always create new commits. Avoid using `--amend`.
When changing code, complete these steps before responding to the user.

1. If the current branch is `main`, create a new branch.
- Include unexpected changes since they are mine.
2. Make code changes as needed.
3. If possible, write e2e tests for your changes.
4. Fix your changes until `yarn check-all-for-ai` (running all tests, taking 30 mins) or `yarn check-for-ai` (only type checking and linting) passes.
- If you are confident your changes will not break any tests, you may use `check-for-ai`.
5. Commit your changes to the current branch and push.
- Follow conventional commits, i.e., your commit message should start with `feat:`, `fix:`, `test:`, etc.
- Make sure to add a new line at the end of your commit message with: `Co-authored-by: WillBooster (Gemini CLI) <agent@willbooster.com>`.
- When pre-commit hooks prevent your changes, fix your code, then re-commit and re-push.
6. Create a pull request using `gh`.
- The pull request title should match your commit message.
7. Repeat the following steps until the test workflow passes:
1. Monitor the CI results using the following command until the test workflow completes (timeout should be 30 mins).
- `while :; do gh run list -b "$(git branch --show-current)" --json status,conclusion | jq -e '.[] | select(.conclusion=="failure")' && exit 1; gh run list -b "$(git branch --show-current)" --json status | jq -e '.[] | select(.status=="completed" | not)' || exit 0; sleep 1m; done`
2. If tests fail, identify the root causes by gathering debug information through logging and screenshots, then fix the code and/or tests.
3. Fetch unresolved review comments from the pull request using the following command. Address them and then mark them as resolved.
- `gh api graphql -f query="{ repository(owner: \"WillBooster\", name: \"shared\") { pullRequest(number: $(gh pr view --json number -q .number)) { reviewThreads(first: 100) { nodes { isResolved comments(first: 100) { nodes { body author { login } path line } } } } } } }" | jq '.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved | not)'`
4. Commit your changes and push.
5. Write `/gemini review` in the pull request.

## Coding Style

- Write comments that explain "why" rather than "what". Avoid explanations that can be understood from the code itself.
- Use stderr for logging debug messages temporarily since stdout output is sometimes omitted.
- When adding new functions or classes, define them below any functions or classes that call them to maintain clear call order.
- Prefer `undefined` over `null` unless explicitly dealing with APIs or libraries that require `null`.
- Always perform existence checks on array due to `noUncheckedIndexedAccess: true`.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

noUncheckedIndexedAccess: true のための配列存在チェックを推奨するルールが削除されています。

もし tsconfig.jsonnoUncheckedIndexedAccesstrue のままであれば、このルールを削除すると、開発者(またはAI)が配列アクセス時に undefined の可能性を考慮し忘れることで、ランタイムエラーを引き起こす危険性があります。

tsconfig.json の設定が false に変更されたのでなければ、このルールの削除は再検討することをお勧めします。

- Use `project.env` instead of `process.env` on `wb` package.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"scripts": {
"build": "yarn workspaces foreach --all --parallel --verbose run build",
"check-all-for-ai": "yarn check-for-ai && yarn test",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn lint-fix --quiet && yarn typecheck",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn typecheck && yarn lint-fix --quiet",
"cleanup": "yarn format && yarn lint-fix",
"format": "sort-package-json && yarn prettify && yarn workspaces foreach --all --parallel --verbose run format",
"postinstall": "husky || true",
Expand All @@ -34,7 +34,7 @@
"@types/eslint": "9.6.1",
"@willbooster/prettier-config": "10.2.4",
"conventional-changelog-conventionalcommits": "9.1.0",
"eslint": "9.39.1",
"eslint": "9.39.2",
"husky": "9.1.7",
"lint-staged": "16.2.7",
"micromatch": "4.0.8",
Expand Down
4 changes: 2 additions & 2 deletions packages/shared-lib-blitz-next/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"scripts": {
"build": "build-ts lib",
"check-all-for-ai": "yarn check-for-ai && yarn test",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn lint-fix --quiet && yarn typecheck",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn typecheck && yarn lint-fix --quiet",
"cleanup": "yarn format && yarn lint-fix",
"format": "sort-package-json && yarn prettify",
"lint": "eslint --color",
Expand All @@ -50,7 +50,7 @@
"@willbooster/prettier-config": "10.2.4",
"blitz": "3.0.2",
"build-ts": "17.0.11",
"eslint": "9.39.1",
"eslint": "9.39.2",
"eslint-config-flat-gitignore": "2.1.0",
"eslint-config-prettier": "10.1.8",
"eslint-import-resolver-typescript": "4.4.4",
Expand Down
4 changes: 2 additions & 2 deletions packages/shared-lib-next/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"scripts": {
"build": "build-ts lib",
"check-all-for-ai": "yarn check-for-ai && yarn test",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn lint-fix --quiet && yarn typecheck",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn typecheck && yarn lint-fix --quiet",
"cleanup": "yarn format && yarn lint-fix",
"format": "sort-package-json && yarn prettify",
"lint": "eslint --color",
Expand All @@ -49,7 +49,7 @@
"@willbooster/eslint-config-ts": "11.4.12",
"@willbooster/prettier-config": "10.2.4",
"build-ts": "17.0.11",
"eslint": "9.39.1",
"eslint": "9.39.2",
"eslint-config-flat-gitignore": "2.1.0",
"eslint-config-prettier": "10.1.8",
"eslint-import-resolver-typescript": "4.4.4",
Expand Down
4 changes: 2 additions & 2 deletions packages/shared-lib-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"scripts": {
"build": "build-ts lib",
"check-all-for-ai": "yarn check-for-ai && yarn test",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn lint-fix --quiet && yarn typecheck",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn typecheck && yarn lint-fix --quiet",
"cleanup": "yarn format && yarn lint-fix",
"format": "sort-package-json && yarn prettify",
"lint": "eslint --color",
Expand All @@ -56,7 +56,7 @@
"@willbooster/eslint-config-ts": "11.4.12",
"@willbooster/prettier-config": "10.2.4",
"build-ts": "17.0.11",
"eslint": "9.39.1",
"eslint": "9.39.2",
"eslint-config-flat-gitignore": "2.1.0",
"eslint-config-prettier": "10.1.8",
"eslint-import-resolver-typescript": "4.4.4",
Expand Down
4 changes: 2 additions & 2 deletions packages/shared-lib-react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"build": "build-ts lib",
"build-storybook": "build-storybook",
"check-all-for-ai": "yarn check-for-ai && yarn test",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn lint-fix --quiet && yarn typecheck",
"check-for-ai": "yarn install > /dev/null && yarn format > /dev/null 2> /dev/null || true && yarn typecheck && yarn lint-fix --quiet",
"cleanup": "yarn format && yarn lint-fix",
"format": "sort-package-json && yarn prettify",
"lint": "eslint --color",
Expand Down Expand Up @@ -59,7 +59,7 @@
"@willbooster/prettier-config": "10.2.4",
"babel-loader": "10.0.0",
"build-ts": "17.0.11",
"eslint": "9.39.1",
"eslint": "9.39.2",
"eslint-config-flat-gitignore": "2.1.0",
"eslint-config-prettier": "10.1.8",
"eslint-import-resolver-typescript": "4.4.4",
Expand Down
Loading