mirror of
https://github.com/coder3101/protols.git
synced 2025-12-23 05:36:51 +00:00
This PR adds a comprehensive `.github/copilot-instructions.md` file that
provides GitHub Copilot coding agents with detailed instructions for
working effectively in the Protols codebase.
## What's Included
The instructions file provides complete guidance for:
**Build & Development Workflow:**
- Step-by-step setup with exact commands and validated timing
expectations
- Rust toolchain usage (`cargo build` ~1 min, `cargo test` ~6 sec,
`cargo clippy` ~15 sec)
- External dependency setup (protoc, clang-format) with verification
commands
- Critical timeout warnings ("NEVER CANCEL" with 90+ minute timeouts for
builds)
**Manual Validation Scenarios:**
- 4 comprehensive test scenarios covering build validation, dependency
verification, LSP functionality testing, and sample file validation
- Specific commands for testing core LSP features (hover, workspace
operations, go-to-definition)
- Integration testing with Protocol Buffer files using protoc and
clang-format
**Project Navigation & Structure:**
- Detailed source code organization (`src/lsp.rs`, `src/parser/`,
`src/workspace/`, etc.)
- Key files and their purposes (1400+ lines across 22 test modules)
- Sample files for testing (`sample/simple.proto`, test input files)
**Development Best Practices:**
- Common debugging workflows and log file locations
- Performance expectations and timing guidelines
- CI validation requirements (`cargo fmt --check`, `cargo clippy`, full
test suite)
## Validation
Every single command in the instructions has been tested and validated
to work correctly:
- ✅ All build commands execute successfully with measured timing
- ✅ Full test suite passes (22 tests in ~6 seconds)
- ✅ External dependencies (protoc 3.21.12, clang-format 18.1.3) verified
- ✅ LSP functionality confirmed through specific test execution
- ✅ Sample proto file processing validated
The instructions follow an imperative tone ("Run this command", "Always
test") and provide copy-pasteable commands that agents can execute
reliably to build, test, and validate changes to the Language Server
Protocol implementation.
Fixes #92.
> [!WARNING]
>
> <details>
> <summary>Firewall rules blocked me from connecting to one or more
addresses (expand for details)</summary>
>
> #### I tried to connect to the following addresses, but was blocked by
firewall rules:
>
> - `esm.ubuntu.com`
> - Triggering command: `/usr/lib/apt/methods/https` (dns block)
>
> If you need me to access, download, or install something from one of
these locations, you can either:
>
> - Configure [Actions setup
steps](https://gh.io/copilot/actions-setup-steps) to set up my
environment, which run before the firewall is enabled
> - Add the appropriate URLs or hosts to the custom allowlist in this
repository's [Copilot coding agent
settings](https://github.com/coder3101/protols/settings/copilot/coding_agent)
(admins only)
>
> </details>
<!-- START COPILOT CODING AGENT TIPS -->
---
💬 Share your feedback on Copilot coding agent for the chance to win a
$200 gift card! Click
[here](https://survey3.medallia.com/?EAHeSx-AP01bZqG0Ld9QLQ) to start
the survey.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: coder3101 <22212259+coder3101@users.noreply.github.com>
Co-authored-by: Ashar <coder3101@users.noreply.github.com>
|
||
|---|---|---|
| .. | ||
| workflows | ||
| copilot-instructions.md | ||
| FUNDING.yml | ||