{"owner":"scala","repo":"scala3","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# AGENTS.md\n\nThis file provides guidance to AI coding agents when working with code in this repository.\n\n**Important**:\n- All AI-assisted contributions, including  code, PR/issue descriptions, comments, and code reviews, must comply with the [LLM usage policy](LLM_POLICY.md) . **Important**: state LLM usage clearly in descriptions, commit messages, etc.\n- Read `CONTRIBUTING.md`, in particular the \"Forbidden\" section!\n\n## Project Overview\n\nDotty is the Scala 3 compiler (`dotc`). It compiles Scala source code into JVM bytecode (and optionally Scala.js IR). The compiler is itself written in Scala 3.\n\nWe care about maintainability. \"The tests pass\" is not enough to justify that a change is good.\n\n## Build Commands\n\nUse `sbt --client` (sbt with native thin client) to run commands. This keeps an sbt server running for faster subsequent invocations.\n\n### Compilation\n- `sbt --client scalac <file>` - Compile a file with the current compiler changes\n- `sbt --client scala <class>` - Run a compiled class\n\nUse the `local/` directory for temporary test files (gitignored).\n\n### Testing\n- `sbt --client testCompilation` - Run the whole compilation test suite.\n- `sbt --client testCompilation <name>` - Run compilation tests matching `<name>` (e.g., `sbt --client testCompilation i12345`)\n- `sbt --client scala3-bootstrapped/test` - Run all tests (slow, CI-level)\n- `sbt --client \"testCompilation --update-checkfiles\"` - Update `.check` files with actual output\n\n\n## Test Directory Structure\n\nTests are in `tests/` with categories:\n- `tests/pos` - Should compile successfully\n- `tests/neg` - Should fail to compile (requires `// error` annotations on expected error lines)\n- `tests/run` - Compile and execute (requires `@main def Test` or `object Test extends App`)\n- `tests/pos-custom-args`, `tests/neg-custom-args` - Tests requiring special compiler options\n\nCustom compiler options can be specified:\n1. Per-directory in `compiler/test/dotty/tools/dotc/CompilationTests.scala`\n2. Per-file with `//> using options <flags>` directive at the top of the file\n\nCapture checking tests are in `tests/{pos,neg}-custom-args/captures`. Use `-Ycc-verbose` for verbose capture checking output.\n\nMulti-file tests: Use `_1.scala`, `_2.scala` suffixes for ordered separate compilation, or no suffix for joint compilation.\n\nCheckfiles: `<test>.check` files contain expected compiler output or program output.\n\nTest annotations (magic comments):\n- `// error` - Expect an error on this line (use multiple times for multiple errors)\n- `// warn` - Expect a warning on this line\n- `// nopos-error` - Expect an error with no position (can be anywhere in file)\n- `// anypos-error` - Expect an error with position that can't be annotated\n- `// scalajs: --skip` - Skip this test for Scala.js\n\n## Bootstrapping\n\nThe compiler has two configurations:\n- **nonbootstrapped** - Built with a released Scala 3 compiler (faster iteration)\n- **bootstrapped** - Built with itself (required for some tests, final validation)\n\nUse `scala3-compiler-bootstrapped/testCompilation` for tests requiring the bootstrapped compiler.\n\n## Documentation\n\nDocumentation lives in `docs/_docs/`:\n- `docs/_docs/reference/` - Scala 3 language reference\n- `docs/_docs/reference/experimental/capture-checking/` - Capture checking specification\n- `docs/_docs/internals/` - Compiler internals documentation\n\nFor available AI-assisted documentation workflows or skills start refer to [./docs/.ai/INDEX.md](./docs/.ai/INDEX.md)\n"},"files":{"AGENTS.md":"# AGENTS.md\n\nThis file provides guidance to AI coding agents when working with code in this repository.\n\n**Important**:\n- All AI-assisted contributions, including  code, PR/issue descriptions, comments, and code reviews, must comply with the [LLM usage policy](LLM_POLICY.md) . **Important**: state LLM usage clearly in descriptions, commit messages, etc.\n- Read `CONTRIBUTING.md`, in particular the \"Forbidden\" section!\n\n## Project Overview\n\nDotty is the Scala 3 compiler (`dotc`). It compiles Scala source code into JVM bytecode (and optionally Scala.js IR). The compiler is itself written in Scala 3.\n\nWe care about maintainability. \"The tests pass\" is not enough to justify that a change is good.\n\n## Build Commands\n\nUse `sbt --client` (sbt with native thin client) to run commands. This keeps an sbt server running for faster subsequent invocations.\n\n### Compilation\n- `sbt --client scalac <file>` - Compile a file with the current compiler changes\n- `sbt --client scala <class>` - Run a compiled class\n\nUse the `local/` directory for temporary test files (gitignored).\n\n### Testing\n- `sbt --client testCompilation` - Run the whole compilation test suite.\n- `sbt --client testCompilation <name>` - Run compilation tests matching `<name>` (e.g., `sbt --client testCompilation i12345`)\n- `sbt --client scala3-bootstrapped/test` - Run all tests (slow, CI-level)\n- `sbt --client \"testCompilation --update-checkfiles\"` - Update `.check` files with actual output\n\n\n## Test Directory Structure\n\nTests are in `tests/` with categories:\n- `tests/pos` - Should compile successfully\n- `tests/neg` - Should fail to compile (requires `// error` annotations on expected error lines)\n- `tests/run` - Compile and execute (requires `@main def Test` or `object Test extends App`)\n- `tests/pos-custom-args`, `tests/neg-custom-args` - Tests requiring special compiler options\n\nCustom compiler options can be specified:\n1. Per-directory in `compiler/test/dotty/tools/dotc/CompilationTests.scala`\n2. Per-file with `//> using options <flags>` directive at the top of the file\n\nCapture checking tests are in `tests/{pos,neg}-custom-args/captures`. Use `-Ycc-verbose` for verbose capture checking output.\n\nMulti-file tests: Use `_1.scala`, `_2.scala` suffixes for ordered separate compilation, or no suffix for joint compilation.\n\nCheckfiles: `<test>.check` files contain expected compiler output or program output.\n\nTest annotations (magic comments):\n- `// error` - Expect an error on this line (use multiple times for multiple errors)\n- `// warn` - Expect a warning on this line\n- `// nopos-error` - Expect an error with no position (can be anywhere in file)\n- `// anypos-error` - Expect an error with position that can't be annotated\n- `// scalajs: --skip` - Skip this test for Scala.js\n\n## Bootstrapping\n\nThe compiler has two configurations:\n- **nonbootstrapped** - Built with a released Scala 3 compiler (faster iteration)\n- **bootstrapped** - Built with itself (required for some tests, final validation)\n\nUse `scala3-compiler-bootstrapped/testCompilation` for tests requiring the bootstrapped compiler.\n\n## Documentation\n\nDocumentation lives in `docs/_docs/`:\n- `docs/_docs/reference/` - Scala 3 language reference\n- `docs/_docs/reference/experimental/capture-checking/` - Capture checking specification\n- `docs/_docs/internals/` - Compiler internals documentation\n\nFor available AI-assisted documentation workflows or skills start refer to [./docs/.ai/INDEX.md](./docs/.ai/INDEX.md)\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# AGENTS.md\n\nThis file provides guidance to AI coding agents when working with code in this repository.\n\n**Important**:\n- All AI-assisted contributions, including  code, PR/issue descriptions, comments, and code reviews, must comply with the [LLM usage policy](LLM_POLICY.md) . **Important**: state LLM usage clearly in descriptions, commit messages, etc.\n- Read `CONTRIBUTING.md`, in particular the \"Forbidden\" section!\n\n## Project Overview\n\nDotty is the Scala 3 compiler (`dotc`). It compiles Scala source code into JVM bytecode (and optionally Scala.js IR). The compiler is itself written in Scala 3.\n\nWe care about maintainability. \"The tests pass\" is not enough to justify that a change is good.\n\n## Build Commands\n\nUse `sbt --client` (sbt with native thin client) to run commands. This keeps an sbt server running for faster subsequent invocations.\n\n### Compilation\n- `sbt --client scalac <file>` - Compile a file with the current compiler changes\n- `sbt --client scala <class>` - Run a compiled class\n\nUse the `local/` directory for temporary test files (gitignored).\n\n### Testing\n- `sbt --client testCompilation` - Run the whole compilation test suite.\n- `sbt --client testCompilation <name>` - Run compilation tests matching `<name>` (e.g., `sbt --client testCompilation i12345`)\n- `sbt --client scala3-bootstrapped/test` - Run all tests (slow, CI-level)\n- `sbt --client \"testCompilation --update-checkfiles\"` - Update `.check` files with actual output\n\n\n## Test Directory Structure\n\nTests are in `tests/` with categories:\n- `tests/pos` - Should compile successfully\n- `tests/neg` - Should fail to compile (requires `// error` annotations on expected error lines)\n- `tests/run` - Compile and execute (requires `@main def Test` or `object Test extends App`)\n- `tests/pos-custom-args`, `tests/neg-custom-args` - Tests requiring special compiler options\n\nCustom compiler options can be specified:\n1. Per-directory in `compiler/test/dotty/tools/dotc/CompilationTests.scala`\n2. Per-file with `//> using options <flags>` directive at the top of the file\n\nCapture checking tests are in `tests/{pos,neg}-custom-args/captures`. Use `-Ycc-verbose` for verbose capture checking output.\n\nMulti-file tests: Use `_1.scala`, `_2.scala` suffixes for ordered separate compilation, or no suffix for joint compilation.\n\nCheckfiles: `<test>.check` files contain expected compiler output or program output.\n\nTest annotations (magic comments):\n- `// error` - Expect an error on this line (use multiple times for multiple errors)\n- `// warn` - Expect a warning on this line\n- `// nopos-error` - Expect an error with no position (can be anywhere in file)\n- `// anypos-error` - Expect an error with position that can't be annotated\n- `// scalajs: --skip` - Skip this test for Scala.js\n\n## Bootstrapping\n\nThe compiler has two configurations:\n- **nonbootstrapped** - Built with a released Scala 3 compiler (faster iteration)\n- **bootstrapped** - Built with itself (required for some tests, final validation)\n\nUse `scala3-compiler-bootstrapped/testCompilation` for tests requiring the bootstrapped compiler.\n\n## Documentation\n\nDocumentation lives in `docs/_docs/`:\n- `docs/_docs/reference/` - Scala 3 language reference\n- `docs/_docs/reference/experimental/capture-checking/` - Capture checking specification\n- `docs/_docs/internals/` - Compiler internals documentation\n\nFor available AI-assisted documentation workflows or skills start refer to [./docs/.ai/INDEX.md](./docs/.ai/INDEX.md)\n","category":"root","tokens":868}]}