Madagascar / .github / copilot-instructions.md
f16725e 3 months ago History
1 contributor
49 lines | 2.626kb

Copilot Instructions (project stub)

Purpose: Provide context and guidance for GitHub Copilot or other automated agents working with this repository.

Project overview

  • Name: (replace this placeholder).
  • Goal: Brief description of what the codebase / project is intended to accomplish.
  • Deployment model: Outline where production code lives, what is deployed to target systems, and any separation of developer docs versus runtime artifacts.

Key components

  • bin/ – executable scripts used by the project.
  • docs/ – developer documentation, design notes, and user guides.
  • projects/ – subprojects, each of which may have its own deployment/, scripts/, and .github configuration.
  • scripts/ – helper utilities for deployment, testing, or maintenance.
  • issues/ – markdown issue tracker, one file per issue.

(Adjust these bullets to the particular structure of your repository.)

Typical workflows

  1. Development: edit source under deployment/ (if present), update tests, run ./scripts/run_tests.sh (or similar).
  2. Deployment: use ./scripts/deploy_to_nodes.sh or similar to push changes to cluster nodes; enable any systemd units as needed.
  3. Debugging: check logs with journalctl -u <service>; examine dmesg, ip link, etc. (customize to project).
  4. Configuration: configuration files live under /etc/<project> or are defined in madagascar.json and should be treated as source-of-truth.

Guidance for Copilot

  • When creating or modifying files, follow existing conventions for naming, documentation, and changelog entries.
  • Read madagascar.json (and any other top‑level JSON manifests) to understand cluster configuration and avoid hard‑coding.
  • Append changes to madagascar-changelog.json rather than rewriting it.
  • Use POSIX-compliant shell in bin/ scripts, prefer Python for more complex logic.

Issue tracking

  • New issues should be added as markdown files in issues/ named YYYY_MM_DD-NN-description.md.
  • Each issue must include description, steps to reproduce, logs, investigation notes, and resolution.
  • Update CHANGELOG.md with a brief entry when an issue is closed or a change is merged.

Example starter tasks for Copilot

  • Add a new utility script with proper shebang and logging function.
  • Implement a discovery script that reads madagascar.json and enumerates nodes or resources.
  • Scaffold a systemd unit file and accompanying installation script.

This stub is intended as a starting point; customize it for the specific project or subproject.