diff --git a/.github/scripts/sync-maintainer-labels.cjs b/.github/scripts/sync-maintainer-labels.cjs index ab2358d369..41a75e99fa 100644 --- a/.github/scripts/sync-maintainer-labels.cjs +++ b/.github/scripts/sync-maintainer-labels.cjs @@ -1,5 +1,9 @@ -/* eslint-disable @typescript-eslint/no-require-imports */ -/* global process, console, require */ +/** + * @license + * Copyright 2026 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + const { Octokit } = require('@octokit/rest'); /** diff --git a/GEMINI.md b/GEMINI.md index 836454617e..734aa4eb64 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -52,6 +52,10 @@ powerful tool for developers. ## Development Conventions +- **Legacy Snippets:** `packages/core/src/prompts/snippets.legacy.ts` is a + snapshot of an older system prompt. Avoid changing the prompting verbiage to + preserve its historical behavior; however, structural changes to ensure + compilation or simplify the code are permitted. - **Contributions:** Follow the process outlined in `CONTRIBUTING.md`. Requires signing the Google CLA. - **Pull Requests:** Keep PRs small, focused, and linked to an existing issue. diff --git a/docs/cli/plan-mode.md b/docs/cli/plan-mode.md index e435bc51ba..ef7851096f 100644 --- a/docs/cli/plan-mode.md +++ b/docs/cli/plan-mode.md @@ -96,11 +96,11 @@ These are the only allowed tools: - **Planning (Write):** [`write_file`] and [`replace`] ONLY allowed for `.md` files in the `~/.gemini/tmp//plans/` directory. -[`list_directory`]: ../tools/file-system.md#1-list_directory-readfolder -[`read_file`]: ../tools/file-system.md#2-read_file-readfile -[`grep_search`]: ../tools/file-system.md#5-grep_search-searchtext -[`write_file`]: ../tools/file-system.md#3-write_file-writefile -[`glob`]: ../tools/file-system.md#4-glob-findfiles -[`google_web_search`]: ../tools/web-search.md -[`replace`]: ../tools/file-system.md#6-replace-edit -[MCP tools]: ../tools/mcp-server.md +[`list_directory`]: /docs/tools/file-system.md#1-list_directory-readfolder +[`read_file`]: /docs/tools/file-system.md#2-read_file-readfile +[`grep_search`]: /docs/tools/file-system.md#5-grep_search-searchtext +[`write_file`]: /docs/tools/file-system.md#3-write_file-writefile +[`glob`]: /docs/tools/file-system.md#4-glob-findfiles +[`google_web_search`]: /docs/tools/web-search.md +[`replace`]: /docs/tools/file-system.md#6-replace-edit +[MCP tools]: /docs/tools/mcp-server.md diff --git a/eslint.config.js b/eslint.config.js index 301dd7cf5d..f13773d11d 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -37,7 +37,6 @@ export default tseslint.config( 'dist/**', 'evals/**', 'packages/test-utils/**', - 'packages/core/src/skills/builtin/skill-creator/scripts/*.cjs', ], }, eslint.configs.recommended, @@ -243,7 +242,7 @@ export default tseslint.config( }, }, { - files: ['./**/*.{tsx,ts,js}'], + files: ['./**/*.{tsx,ts,js,cjs}'], plugins: { headers, import: importPlugin, @@ -269,7 +268,6 @@ export default tseslint.config( 'import/enforce-node-protocol-usage': ['error', 'always'], }, }, - // extra settings for scripts that we run directly with node { files: ['./scripts/**/*.js', 'esbuild.config.js'], languageOptions: { @@ -290,6 +288,30 @@ export default tseslint.config( ], }, }, + { + files: ['**/*.cjs'], + languageOptions: { + sourceType: 'commonjs', + globals: { + ...globals.node, + }, + }, + rules: { + 'no-restricted-syntax': 'off', + 'no-console': 'off', + 'no-empty': 'off', + 'no-redeclare': 'off', + '@typescript-eslint/no-require-imports': 'off', + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + }, + }, { files: ['packages/vscode-ide-companion/esbuild.js'], languageOptions: { diff --git a/packages/core/src/skills/builtin/skill-creator/scripts/init_skill.cjs b/packages/core/src/skills/builtin/skill-creator/scripts/init_skill.cjs index d23853f255..ea824e10ae 100644 --- a/packages/core/src/skills/builtin/skill-creator/scripts/init_skill.cjs +++ b/packages/core/src/skills/builtin/skill-creator/scripts/init_skill.cjs @@ -1,6 +1,10 @@ #!/usr/bin/env node -/* eslint-env node */ +/** + * @license + * Copyright 2026 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ /** * Skill Initializer - Creates a new skill from template diff --git a/packages/core/src/skills/builtin/skill-creator/scripts/package_skill.cjs b/packages/core/src/skills/builtin/skill-creator/scripts/package_skill.cjs index 875a6f95cc..b5e6577fd4 100644 --- a/packages/core/src/skills/builtin/skill-creator/scripts/package_skill.cjs +++ b/packages/core/src/skills/builtin/skill-creator/scripts/package_skill.cjs @@ -1,6 +1,10 @@ #!/usr/bin/env node -/* eslint-env node */ +/** + * @license + * Copyright 2026 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ /** * Skill Packager - Creates a distributable .skill file of a skill folder diff --git a/packages/core/src/skills/builtin/skill-creator/scripts/validate_skill.cjs b/packages/core/src/skills/builtin/skill-creator/scripts/validate_skill.cjs index d51fec96ba..82e2f3fcb8 100644 --- a/packages/core/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +++ b/packages/core/src/skills/builtin/skill-creator/scripts/validate_skill.cjs @@ -1,4 +1,8 @@ -/* eslint-env node */ +/** + * @license + * Copyright 2026 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ /** * Quick validation logic for skills.