Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 6 additions & 21 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,9 @@
# Copilot Coding Agent Instructions

You are working on **PyAutoConf**, the configuration management library for the PyAuto ecosystem.
You are working on **PyAutoConf**, the configuration, serialization and I/O
foundation of the PyAuto ecosystem (package `autoconf`).

## Key Rules

- Run tests after every change: `python -m pytest test_autoconf/`
- All files must use Unix line endings (LF, `\n`)
- If changing public API (function signatures, class names, import paths), clearly document what changed in your PR description — all downstream PyAuto packages depend on this

## Architecture

- `autoconf/conf.py` — Core configuration system
- `autoconf/dictable.py` — Dictionary/serialization support
- `autoconf/fitsable.py` — FITS file handling
- `autoconf/json_prior/` — JSON-based configuration priors
- `autoconf/tools/` — Utility decorators and helpers
- `test_autoconf/` — Test suite

## Sandboxed runs

```bash
NUMBA_CACHE_DIR=/tmp/numba_cache MPLCONFIGDIR=/tmp/matplotlib python -m pytest test_autoconf/
```
The canonical, agent-agnostic instructions for this repo live in **`AGENTS.md`** at
the repository root — build and test commands, architecture, the base-layer config
rules, and conventions. Read it directly (Copilot does not process `@`-imports) and
treat it as the single source of truth.
9 changes: 9 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ on autoconf, so any public-API change here ripples downstream.
- No `docs/` / RTD site — the package source and `test_autoconf/` are the
authoritative reference.

## Architecture

- `autoconf/conf.py` — layered config system (`Config` / `conf.instance`).
- `autoconf/dictable.py` — dict / JSON serialization (`output_to_json` / `from_json`).
- `autoconf/fitsable.py` — FITS I/O (`output_to_fits` / `ndarray_via_fits_from`).
- `autoconf/json_prior/` — JSON-based priors.
- `autoconf/tools/` — shared decorators and helpers.
- `test_autoconf/` — test suite.

## Quick commands

```bash
Expand Down
15 changes: 15 additions & 0 deletions llms.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# PyAutoConf

> PyAutoConf (package `autoconf`) is the foundational configuration, serialization and I/O layer of the PyAuto ecosystem — layered config with overrides, dict/JSON/FITS serialization, JSON priors, and shared utilities every other library inherits. This file is a signpost: it points you to the right resource by intent — see where it is used, or work on the library itself.

## Where it's used

- PyAutoConf has no standalone workspace or tutorial series; it underpins every other PyAuto library. You meet it in practice through the consumer libraries — [PyAutoFit](https://github.com/PyAutoLabs/PyAutoFit), [PyAutoGalaxy](https://github.com/PyAutoLabs/PyAutoGalaxy), [PyAutoLens](https://github.com/PyAutoLabs/PyAutoLens) — and their workspaces.

## Work on it (contributors / coding agents)

- [AGENTS.md](./AGENTS.md): build, tests, architecture, base-layer config rules, and conventions.

## Ecosystem

- The base layer of the stack: depends on nothing else in the ecosystem; PyAutoArray, PyAutoFit, PyAutoGalaxy and PyAutoLens are all built on it.
Loading