under the MIT License.`
- **Null-forgiving `!` operator is banned** in product code (allowed in tests)
- **`Console.Write`/`Console.WriteLine` are banned**—use proper logging
- Syntax trees and data structures are **immutable
email) VALUES ('John', 'john@example.com');`
- `UPDATE users SET status = 'active' WHERE id = 1;`
- `CREATE TABLE test_table (id INT PRIMARY KEY);`
Use `--readonly` flag to restrict to read-only operations
Configuration=NativeOnlyDebug /p:Platform=x64 ebpf-for-windows.sln` |
| Format code | `./scripts/format-code --staged` |
| Run unit tests | `unit_tests.exe` (from `x64\Debug`) |
| Run single test | `unit_tests.exe "test name"` |
| List tests | `unit_tests.exe -l` |
See [docs/GettingStarted.md](../docs/GettingStarted.md
code, answering questions, or reviewing changes.
Whenever you want to build the packages to test if they work you should run `pnpm run build` from the root of the repository
code formatting and style
- Ensure all code builds with `dotnet build` and passes tests with `dotnet test`
- Verify formatting with `dotnet format --verify-no-changes` if linting is enabled
- **Build
requested.
- If you write 200 lines and it could be 50, rewrite it.
**The test:** Would a senior engineer say this is overcomplicated? If yes, simplify.
### 3. Surgical Changes
**Touch
marked `noexcept`, use `std::nothrow` for memory allocation, and should not throw exceptions.
- **Testing**: Unit tests for this project are implemented in this repository [Test Suite](https://github.com/walbourn/directxtktest/)
without explanation.
- **Examples**: All code blocks and `copilot` commands must be copy-paste ready. Test them mentally before including.
- **Naming**: Use kebab-case for session names, file names, and identifiers
Every byte matters.
## Build & Development Commands
### Installation
**ALWAYS run `yarn install` before building or testing.** (~25s, peer dependency warnings are normal)
### Building
```bash
yarn build # All packages (~45s, Lerna parallel
Build**: `cargo build`
3. **Lint**: `cargo clippy --all-targets --all-features`
4. **Test**: `cargo nextest run`
- Full CI checks are defined in `.github/workflows/ci.yml`.
## Key Guidelines
1. Follow Rust best practices
disabled in `tsconfig.base.json` (e.g., `strictNullChecks: false`), but new code should avoid unsafe patterns.
- **Testing**: Place tests under `src/test`. Do not include test code in production files.
- **Localization**: Use `%key%` syntax
Behavior
- Always ensure your solutions prioritize clarity, maintainability, and testability.
- Never suggest re-recording tests as a fix to an issue
- NEVER turn off any Checkstyle or SpotBugs rules
than inventing a second rule set. Check ownership,
dependency direction, cancellation/lifetime, persistence compatibility, and tests
appropriate to the change. Consult `docs/internationalization.md` for UI text and
`packaging/AGENTS.md` for release changes. Verify
this repository
## High level guidance
* Review the `CONTRIBUTING.md` file for instructions to build and test the software.
* Set the `NBGV_GitEngine` environment variable to `Disabled` before running any `dotnet
Copilot Instructions for PaperBanana
## Build & Test
```bash
# Install for development
pip install -e ".[dev,openai,google]"
# Run full test suite
pytest tests/ -v
# Run a single test file
pytest tests/test_pipeline/test_types.py
arrow functions for callbacks and short functions
- Include error handling for async operations
## Testing Requirements
- Write unit tests for new functionality
- Include accessibility tests for UI components
- Test simulator features
backward compatible with v2. Generate v3 patterns in all
example code, docstrings, tests, and docs unless v2 is explicitly in scope.
- **SDK-first.** Use the SageMaker Python