ZnTrack icon indicating copy to clipboard operation
ZnTrack copied to clipboard

Add GitHub Copilot instructions for ZnTrack repository

Open Copilot opened this issue 6 months ago • 0 comments

This PR adds comprehensive GitHub Copilot coding agent instructions to help developers work effectively in the ZnTrack codebase. The instructions are stored in .github/copilot-instructions.md and provide detailed guidance for:

Key Features

Setup and Bootstrap

  • Complete dependency installation using uv package manager
  • Git configuration requirements for DVC operations
  • Environment validation steps

Build and Test Commands

  • All test categories with measured timing expectations
  • Explicit timeout recommendations with "NEVER CANCEL" warnings
  • Linting and formatting validation steps

Validation Scenarios

  • End-to-end workflow testing for code changes
  • Core functionality validation script
  • CLI command verification

Development Workflow

  • Step-by-step process for making changes
  • Pre-commit validation requirements
  • Common troubleshooting guidance

Measured Timing Expectations

The instructions include actual measured times for all operations:

  • Dependency installation: 2-5 minutes
  • Unit test suite: ~45 seconds (65 tests)
  • Integration tests: 3-5 minutes total
  • Linting: <1 second
  • CLI commands: <3 seconds

Validation

All instructions have been thoroughly tested and validated to ensure they work correctly for a fresh repository clone. The instructions follow the imperative tone requirement and include comprehensive coverage of the ZnTrack workflow system built on DVC.

Example validation workflow included:

# Initialize git (required for DVC)
git init
git config user.name "Test User"
git config user.email "[email protected]"

# Test basic ZnTrack functionality
uv run python -c "
import zntrack
from zntrack.examples import ParamsToOuts

with zntrack.Project() as project:
    node = ParamsToOuts(params='Hello')
project.build()
print('✓ ZnTrack workflow completed')
"

Fixes #942.

[!WARNING]

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • analytics.dvc.org
    • Triggering command: /home/REDACTED/work/ZnTrack/ZnTrack/.venv/bin/python /home/REDACTED/work/ZnTrack/ZnTrack/.venv/lib/python3.11/site-packages/dvc/__main__.py daemon analytics /tmp/tmpbezplzlq (dns block)
    • Triggering command: /home/REDACTED/work/ZnTrack/ZnTrack/.venv/bin/python /home/REDACTED/work/ZnTrack/ZnTrack/.venv/lib/python3.11/site-packages/dvc/__main__.py daemon analytics /tmp/tmp_jsqfqcg (dns block)
    • Triggering command: /home/REDACTED/work/ZnTrack/ZnTrack/.venv/bin/python /home/REDACTED/work/ZnTrack/ZnTrack/.venv/lib/python3.11/site-packages/dvc/__main__.py daemon analytics /tmp/tmpvfvxplke (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


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

Copilot avatar Sep 02 '25 08:09 Copilot