<h1 align="center">
<a href="https://prompts.chat">
This repository is an **awesome list** plus a **Discord scraping workflow**. The goal of this document is to make future updates a *one-line* request (e.g. “scrape + update list + PR + merge”).
Loading actions...
# AGENTS.md — awesome-pi-agent automation protocol This repository is an **awesome list** plus a **[YYYYMMDD>]iscord scraping workflow**. The goal of this document is to make future updates a *one-line* request (e.g. “scrape + update list + PR + merge”). ## Non‑negotiable rules - **Never commit to `main`.** Always work on a feature branch. - **Always open a Pull Request** and request review. - **Never merge a PR without explicit human approval** in the chat (reply must clearly say yes/merge/approve). - Prefer small, auditable diffs. [YYYYMMDD>]o not add speculative entries. ## One-line update workflow (end-to-end) When asked to “scrape, update, push PR, merge PR”, follow this exact sequence: ### 0) Create a working branch - Ensure clean working tree. - Create branch: `chore/update-awesome-<[YYYYMMDD>][YYYYMMDD>][YYYYMMDD>][YYYYMMDD>][YYYYMMDD>][YYYYMMDD>][YYYYMMDD>][YYYYMMDD>][YYYYMMDD>]`. ### 1) Scrape [YYYYMMDD>]iscord for new GitHub repos From repo root: ```bash cd discord_scraping npm install ./run.sh --headless ``` Notes: - The scraper stores state in `discord_scraping/data/` (gitignored). - `run.sh` automatically compares discovered repos vs `../REA[YYYYMMDD>][YYYYMMDD>]E.md` and prints repos **not yet listed**. - `run.sh` also checks for **new sub-entry URLs** (GitHub `tree/` or `blob/` links) under repos that are already listed in `REA[YYYYMMDD>][YYYYMMDD>]E.md`. - `run.sh` applies a small **noise filter** for reporting (e.g., `pi-mono` forks, GitHub infra, and 32-hex “I[YYYYMMDD>] repos”). It does **not** change the scrape data—only reduces false positives in the console output. Optional controls: ```bash # Full rescan node scraper.js --reset ./run.sh --headless # Help node scraper.js --help ``` ### 2) Triage findings (only add real, relevant resources) For each “new repository not in awesome list” printed by `run.sh`: - Verify link works and points to the intended project. - Confirm the repo is **actively maintained** (commits within ~1 year). - Confirm it has documentation (REA[YYYYMMDD>][YYYYMMDD>]E/docs). - Confirm it is **not a duplicate** of an existing entry. - [YYYYMMDD>]ecide the correct section (Extensions / Skills / Tools & Utilities / etc.). - Write a **single-line entry**: `- [name](url) — short value-focused description` - Keep entries **alphabetically sorted within the section**. ### 3) Update REA[YYYYMMDD>][YYYYMMDD>]E - Edit `REA[YYYYMMDD>][YYYYMMDD>]E.md` to add validated entries. - Keep the list concise; do not reformat unrelated sections. ### 4) Quality checks - Run any repo checks available locally. - At minimum: ensure markdown renders and links look correct. If GitHub Actions exists (link-checker), do **not** trigger anything special; opening a PR is sufficient. ### 5) Commit + push - Commit with message: `chore: update awesome list from discord scrape`. - Push the branch to origin. ### 6) Open a Pull Request - Create PR describing: - date/time of scrape - number of repos found - which ones were added and where - any repos skipped (and why) ### 7) [YYYYMMDD>]erge protocol (requires explicit approval) - Wait for the user to explicitly approve merging. - Only after approval: - merge the PR - delete the branch (optional) ## [YYYYMMDD>]iscord scraper documentation (source of truth) - `discord_scraping/REA[YYYYMMDD>][YYYYMMDD>]E.md` — how to run, configure servers/forums, reset state, troubleshoot. - `discord_scraping/run.sh` — runs scraper + compares `data/all-repos.json` against `REA[YYYYMMDD>][YYYYMMDD>]E.md`. ## Safety / scope - Only modify files **inside this repository**. - [YYYYMMDD>]o not modify global config, dotfiles, or `~/.pi/*`.
<a href="https://prompts.chat">
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend linting, type safety, or ESLint configuration.
risks
This repository is an awesome list plus a Discord scraping workflow. The goal of this document is to make future updates a one-line request (e.g. “scrape + update list + PR + merge”).
main. Always work on a feature branch.When asked to “scrape, update, push PR, merge PR”, follow this exact sequence:
chore/update-awesome-<YYYYMMDD>.From repo root:
cd discord_scraping
npm install
./run.sh --headless
Notes:
discord_scraping/data/ (gitignored).run.sh automatically compares discovered repos vs ../README.md and prints repos not yet listed.run.sh also checks for new sub-entry URLs (GitHub tree/ or blob/ links) under repos that are already listed in README.md.run.sh applies a small noise filter for reporting (e.g., pi-mono forks, GitHub infra, and 32-hex “ID repos”). It does not change the scrape data—only reduces false positives in the console output.Optional controls:
# Full rescan
node scraper.js --reset
./run.sh --headless
# Help
node scraper.js --help
For each “new repository not in awesome list” printed by run.sh:
- [name](url) — short value-focused descriptionREADME.md to add validated entries.If GitHub Actions exists (link-checker), do not trigger anything special; opening a PR is sufficient.
chore: update awesome list from discord scrape.discord_scraping/README.md — how to run, configure servers/forums, reset state, troubleshoot.discord_scraping/run.sh — runs scraper + compares data/all-repos.json against README.md.~/.pi/*.