Skip to content

Comments

Add comprehensive onboarding guide for AI coding agents#7677

Closed
Copilot wants to merge 2 commits intomainfrom
copilot/add-copilot-instructions-file
Closed

Add comprehensive onboarding guide for AI coding agents#7677
Copilot wants to merge 2 commits intomainfrom
copilot/add-copilot-instructions-file

Conversation

Copy link
Contributor

Copilot AI commented Feb 17, 2026

Expanded .github/copilot-instructions.md from minimal placeholder to comprehensive 408-line onboarding guide for AI coding agents working in the CCF repository.

Sections Added

  • Repository structure - Key directories, languages, and what CCF is
  • Build system - CMake + Ninja commands, options (BUILD_TESTS, SAN, CLANG_TIDY), 32GB RAM requirement
  • Testing - Doctest (C++) and pytest (E2E) infrastructure, importance of ./tests.sh wrapper for venv setup
  • Code formatting - scripts/ci-checks.sh -f enforcement for clang-format, ruff, prettier
  • Conventions - C++/Python naming, logging macros (LOG_*_FMT), error handling patterns
  • Development workflows - DevContainer setup, CI pipeline stages, documentation building
  • Common issues - Memory exhaustion workarounds, port conflicts, formatting failures
  • Security - MSRC reporting, no secrets in code, crypto library usage
  • CI/CD - PR requirements, extended test labels (run-long-test, bench-ab)
  • Quick reference - Command cheatsheet, critical files, help resources

Key Requirements Documented

# Build (32GB+ RAM required)
cmake -GNinja .. && ninja

# Test (must use wrapper for Python venv)
./tests.sh

# Format before commit (CI blocks unformatted code)
./scripts/ci-checks.sh -f

Shell Script Requirement

Codified existing rule: scripts using pipes must set set -o pipefail to catch mid-pipeline failures.


Note: Commit includes minor C++ formatting fixes (whitespace before {};) auto-applied by ci-checks.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: eddyashton <6000239+eddyashton@users.noreply.github.com>
Copilot AI changed the title [WIP] Add copilot instructions for onboarding Add comprehensive onboarding guide for AI coding agents Feb 17, 2026
Copilot AI requested a review from eddyashton February 17, 2026 16:23

**CCF** is an open-source framework for building secure, highly available, and performant applications focused on multi-party compute and data. It's designed for confidential, distributed systems running on secure hardware.

**Primary languages**: C++ (core framework), TypeScript/JavaScript (application development), Python (testing and tooling)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is this of any use for a robot actually? Can we have a short human-readable bullet points file, which can be easily review and extended instead?

@achamayou
Copy link
Member

@maxtropets I suggest skimming https://arxiv.org/abs/2602.11988

@maxtropets
Copy link
Collaborator

@maxtropets I suggest skimming https://arxiv.org/abs/2602.11988

Well, the abstract says the same?..

Across multiple coding agents and LLMs, we
find that context files tend to reduce task success
rates compared to providing no repository
context, while also increasing inference cost by
over 20%. Behaviorally, both LLM-generated
and developer-provided context files encourage
broader exploration (e.g., more thorough testing
and file traversal), and coding agents tend to
respect their instructions. Ultimately, we conclude
that unnecessary requirements from context files
make tasks harder, and human-written context
files should describe only minimal requirements

@eddyashton
Copy link
Member

@maxtropets I suggest skimming https://arxiv.org/abs/2602.11988

Interesting source. I think the mention of increased project-specific tool use and testing is interesting, and something we'd really benefit from. A drop in success rate is annoying, but hard to measure. The citation on the benefits of a security prompt looks valuable too.

On balance, I think these auto-generated instructions are too long (bloating the context window), unfocussed, and occasionally outright misleading (ie - mention pytest, say all PRs must come from a fork). I think we would benefit from some more repo-specific guidance (eg - see #7676, where it first tries a standalone pytest and example script, both untested, then rolls into an existing e2e test but doesn't run it). I'll hand-write something more focussed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants