# Copilot Instructions (project stub)

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

## Project overview

- **Name:** _<project name goes here>_ (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.*
