Skip to content

Commit 3acf492

Browse files
authored
Move AI instructions to AGENTS.md (#6652)
1 parent abee6ab commit 3acf492

6 files changed

Lines changed: 61 additions & 143 deletions

File tree

.github/copilot-instructions.md

Lines changed: 0 additions & 142 deletions
This file was deleted.

.github/copilot-instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../AGENTS.md

AGENTS.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# ESPHome Documentation AI Collaboration Guide
2+
3+
This document provides context for AI models interacting with this project.
4+
Adhering to these guidelines will promote consistency and content quality.
5+
6+
## Project Overview & Purpose
7+
8+
- **Primary Goal:** ESPHome is a system to configure microcontrollers (like ESP32, ESP8266, RP2040, and LibreTiny-based chips)
9+
using simple yet powerful YAML configuration files. It generates C++ firmware that can be compiled and flashed to
10+
these devices, allowing users to control them remotely through home automation systems.
11+
12+
This repo is the source for the primary documentation for users of ESPHome, published on [esphome.io](https://esphome.io).
13+
- **Business Domain:** Internet of Things (IoT), Home Automation.
14+
15+
## Core Technologies & Stack
16+
17+
- **Languages:** TypeScript, MDX (Markdown with JSX), CSS, JavaScript
18+
- **Frameworks & Runtimes:** Astro, Starlight, Node.js
19+
- **Key Libraries/Dependencies:**
20+
- **Astro:** Static site generator with component-based architecture
21+
- **Starlight:** Documentation framework built on Astro
22+
- **Pagefind:** Client-side text searching
23+
- **KaTeX:** Mathematical equation rendering
24+
- **remark-github-blockquote-alert:** GitHub-flavored alert boxes
25+
26+
## Branches
27+
28+
- **Current**
29+
The `current` branch represents the published documentation in sync with the latest ESPHome release.
30+
PRs may be raised against this where they contain documentation revisions only.
31+
- **Next**
32+
The `next` branch is where changes are made via PR corresponding to new features in the ESPHome code repo
33+
(esphome/esphome). When a release is made this branch is merged into current.
34+
35+
## Documentation Style, Workflow & Conventions
36+
37+
[CONTRIBUTING.md](CONTRIBUTING.md) is the authoritative source for documentation style, MDX syntax,
38+
image handling, component usage, git workflow, and the pre-submission checklist. Follow it for any
39+
content change.
40+
41+
For repository structure and local development setup, see the [README](README.md).
42+
43+
@CONTRIBUTING.md
44+
45+
## Guidelines for AI Generated Reviews and PR Summaries
46+
47+
Avoid the use of flowery language and weasel-words that add no useful content. Keep comments concise and technically
48+
accurate - you are not writing a press release.
49+
50+
For example instead of "Created comprehensive documentation with configuration examples and setup instructions"
51+
it is sufficient to say "Created documentation with examples and instructions".

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AGENTS.md
File renamed without changes.

GEMINI.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AGENTS.md

lint.mjs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,8 @@ async function checkInternalLinks(fname, content, anchorCache) {
243243

244244
// Skip template and documentation files with example links
245245
const ignoreFiles = [
246-
'.claude/instructions.md',
246+
'AGENTS.md',
247+
'CONTRIBUTING.md',
247248
'script/release_notes_template.md',
248249
];
249250
if (ignoreFiles.includes(fname)) return;
@@ -456,6 +457,11 @@ async function main() {
456457

457458
// Process files
458459
for (const [fname, gitMode] of gitFiles) {
460+
// Skip symlinks - the target file is linted directly
461+
if (gitMode === 120000) {
462+
continue;
463+
}
464+
459465
// Skip ignored folders
460466
if (ignoreFolders.some(folder => fname.startsWith(folder) || fname.includes(`/${folder}`))) {
461467
continue;

0 commit comments

Comments
 (0)