diff --git a/.gemini/commands/start-implementation.toml b/.gemini/commands/start-implementation.toml index 4bed60429cf..7ce450784a3 100644 --- a/.gemini/commands/start-implementation.toml +++ b/.gemini/commands/start-implementation.toml @@ -1,16 +1,15 @@ # .gemini/commands/start-implementation.toml -description="Issueの内容に従って実装を開始するタスク" +description="Task to start implementation based on issue content" prompt = """ -{{args}} の GitHub Issueの内容を理解して実装します。 +Understand and implement the GitHub Issue provided in {{args}}. -https://github.com/smalruby/smalruby3-editor/issues/1 のように末尾がIssueのIDの場合はIssueの説明を元に実装します。 +If the URL ends with an Issue ID (e.g., .../issues/1), implement based on the issue description. -また、 https://github.com/smalruby/smalruby3-editor/issues/20#issuecomment-3753821153 のように末尾にコメントへのハッシュを含む場合は、Issueの説明と当該コメントを読み込んで実装します。 -コメントを読み込んだ際、すべてのコメントを読み込むことになるため、その中から指定されたコメントを見つけて、その内容だけを実装します。他の部分を実装しないようにし、できるだけ、なにを実装してほしいのか、実装する予定なのかをインタビューします。 +If the URL includes a comment hash (e.g., .../issues/20#issuecomment-...), implement based on the issue description and the specified comment. Since all comments are retrieved, identify the target comment and implement only its content. Avoid implementing other parts. Interview the user to confirm the implementation requirements and plan. -Please use gh command to fetch the issue contents and operation GitHub. +Use the `gh` command to fetch issue content and interact with GitHub. -TDDで実装します。 -実装後は、lint, commit, push, make PR. -""" +Follow TDD. +After implementation: lint, commit, push, and create a PR. +""" \ No newline at end of file diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index ccdb5eb3f4c..f2ded818f74 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -1,10 +1,38 @@ name: CI/CD on: - pull_request: # Runs whenever a pull request is created or updated (including from another fork) - push: # Runs whenever a commit is pushed to the repository... - branches: [main, master, develop, hotfix/*] # ...on any of these branches - workflow_dispatch: # Allows you to run this workflow manually from the Actions tab + pull_request: + paths-ignore: + - '.claude/**' + - '.gemini/**' + - 'Dockerfile' + - 'docker-compose.yml' + - 'GEMINI.md' + - '.editorconfig' + - '.env.example' + - '.gitignore' + - '.mcp.json' + - 'entrypoint.sh' + - 'README.md' + - 'Release.md' + - 'TRADEMARK' + push: + branches: [main, master, develop, hotfix/*] + paths-ignore: + - '.claude/**' + - '.gemini/**' + - 'Dockerfile' + - 'docker-compose.yml' + - 'GEMINI.md' + - '.editorconfig' + - '.env.example' + - '.gitignore' + - '.mcp.json' + - 'entrypoint.sh' + - 'README.md' + - 'Release.md' + - 'TRADEMARK' + workflow_dispatch: concurrency: group: "${{ github.workflow }} @ ${{ github.head_ref || github.ref }}" diff --git a/.github/workflows/gha-debug.yml b/.github/workflows/gha-debug.yml deleted file mode 100644 index aa30bc051f0..00000000000 --- a/.github/workflows/gha-debug.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: GitHub Actions debug info - -on: - branch_protection_rule: - check_run: - check_suite: - create: - delete: - deployment: - deployment_status: - discussion: - discussion_comment: - fork: - gollum: # Wiki page activity - issue_comment: - issues: - label: - merge_group: - milestone: - page_build: - public: - pull_request: - # pull_request_comment: # use issue_comment instead - pull_request_review: - pull_request_review_comment: - pull_request_target: - push: - registry_package: - release: - repository_dispatch: - schedule: - - cron: '37 9 * * 1' # Every Monday at 9:37 UTC = 4:37 AM EST / 5:37 AM EDT - status: - watch: - workflow_call: - workflow_dispatch: - workflow_run: - workflows: ["CI"] - -jobs: - info: - runs-on: ubuntu-latest - steps: - - name: Output debug info - env: - github: ${{ toJson(github) }} - run: | - echo 'GitHub Actions debug info' - echo 'See also the `env:` section above' - echo "Working directory: $(pwd)" - date - echo "" - ( - reportVersion() { - label="$1" - shift - # Some tools report their version on stdout, and some on stderr - # If the command is not found, stderr will be like "foo: command not found" - # This should capture all of these cases - version="$($@ 2>&1 | head -n 1)" - echo "$label|$version" - } - - reportVersion "Tool" echo "Version" - reportVersion "---" echo "---" - reportVersion "Chrome" google-chrome --version - reportVersion "Chromium" chromium-browser --version - reportVersion "Chromedriver" chromedriver --version - reportVersion "Docker" docker --version - reportVersion "Docker Compose" docker compose version - reportVersion "GitHub CLI" gh --version - reportVersion "Git" git --version - reportVersion "Go" go version - reportVersion "Java" java -version - reportVersion "jq" jq --version - reportVersion "Node.js" node --version - reportVersion "npm" npm --version - reportVersion "pkg-config" pkg-config --version - reportVersion "Python" python --version - reportVersion "Ruby" ruby --version - reportVersion "Rust" rustc --version - reportVersion "Yarn" yarn --version - ) | column --table --separator="|" diff --git a/Dockerfile b/Dockerfile index 174d186a51b..f2b4cdfea30 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ FROM node:20-bookworm-slim -LABEL maintaner "Kouji Takao" +LABEL maintainer="Kouji Takao" -ENV LANG C.UTF-8 -ENV DEBIAN_FRONTEND noninteractive +ENV LANG=C.UTF-8 +ENV DEBIAN_FRONTEND=noninteractive RUN \ set -eux \ @@ -28,11 +28,11 @@ RUN npx playwright install chromium --with-deps # Link chromium to google-chrome just in case RUN ln -s /usr/bin/chromium /usr/bin/google-chrome -ENV NODE_OPTIONS --max-old-space-size=4000 +ENV NODE_OPTIONS="--max-old-space-size=4000" EXPOSE 8601 COPY entrypoint.sh /app/entrypoint.sh RUN chmod +x /app/entrypoint.sh ENTRYPOINT ["/app/entrypoint.sh"] -CMD npm start +CMD ["npm", "start"] diff --git a/package.json b/package.json index 014b7fd3ab7..ef9dd87a4f7 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ "test:integration": "npm run --workspaces test:integration", "refresh-gh-workflow": "ts-node scripts/build-gha-workflows.ts", "update-legal": "npm --workspaces exec -c 'rm -f ./{LICENSE,TRADEMARK} && cp -f ../../{LICENSE,TRADEMARK} .'", - "version": "cross-env-shell ./scripts/npm-version.sh" + "version": "cross-env-shell ./scripts/npm-version.sh", + "start": "npm run --workspace=packages/scratch-gui start" }, "config": { "commitizen": {