

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456# Documentation Standards78## Markdown Formatting910### Headings11- Use ATX-style: `#`, `##`, etc.12- Start with single `#` for title13- Use hierarchical structure14- Keep concise and descriptive1516### Code Blocks17Always specify language:1819```markdown20```python21def hello_world():22 print("Hello, World!")23```2425```typescript26function greet(name: string): string {27 return `Hello, ${name}!`;28}29```3031```bash32docker compose up -d33```34```3536### Lists3738Unordered:39```markdown40- First item41- Second item42 - Nested item43- Third item44```4546Ordered:47```markdown481. First step491. Second step50 1. Sub-step511. Third step52```5354### Links55```markdown56✅ Good:57See the [Configuration Guide](docs/CONFIGURATION.md) for details.5859❌ Bad:60Click [here](docs/CONFIGURATION.md).61```6263### Emphasis64- `**bold**` for strong emphasis or UI elements65- `*italic*` for light emphasis66- `` `code` `` for inline code, commands, file names6768## Document Structure6970### Project README71Required sections:721. Title and description732. Key features743. Quick start754. Usage examples765. Documentation links776. Contributing787. License7980### Package README81Required sections:821. Package purpose832. Installation843. API/Usage854. Configuration865. Development setup8788### Configuration Docs8990Structure:91```markdown92# Configuration Guide9394## Environment Variables9596### `HERMES_SECRET_KEY`97- **Type:** String98- **Required:** Yes99- **Description:** Secret key for JWT100- **Example:** `openssl rand -base64 32`101102### `LOG_LEVEL`103- **Type:** String104- **Required:** No105- **Default:** `info`106- **Options:** `debug`, `info`, `warning`, `error`107```108109### API Documentation110111```markdown112### `POST /api/v1/downloads`113114Create a new download task.115116**Authentication:** Required (Bearer token)117118**Request:**119```json120{121 "url": "https://example.com/video",122 "profile_id": "default"123}124```125126**Response:** `201 Created`127```json128{129 "id": "abc123",130 "status": "queued",131 "created_at": "2024-01-01T00:00:00Z"132}133```134135**Errors:**136- `400` - Invalid URL137- `401` - Invalid token138- `429` - Rate limit exceeded139```140141## Code Examples142143Keep examples:144- Concise and focused145- Include necessary imports146- Show realistic use cases147- Add comments for complex logic148149```markdown150### Creating a Download151152```python153async def create_download(url: str, token: str):154 """Create a new download task."""155 async with httpx.AsyncClient() as client:156 response = await client.post(157 "http://localhost:8000/api/v1/downloads",158 json={"url": url},159 headers={"Authorization": f"Bearer {token}"}160 )161 return response.json()162```163```164165## Tables166167```markdown168| Method | Endpoint | Description |169|--------|----------|-------------|170| GET | `/api/v1/downloads` | List downloads |171| POST | `/api/v1/downloads` | Create download |172| DELETE | `/api/v1/downloads/{id}` | Delete download |173```174175## Badges176177```markdown178179180```181182## Admonitions183184```markdown185> **Note:** This feature is experimental.186187> **Warning:** Never commit `.env` files.188189> **Tip:** Use `docker compose logs -f` for live logs.190```191192## Changelog193194Follow [Keep a Changelog](https://keepachangelog.com/):195196```markdown197# Changelog198199## [1.2.0] - 2024-01-15200201### Added202- Playlist download feature203- Custom output formats204205### Changed206- Improved error handling207208### Fixed209- Memory leak in worker210211### Deprecated212- Legacy API endpoints213```214215## Documentation Maintenance216217- Update docs with code changes218- Review docs in PRs219- Mark deprecated features220- Remove outdated info221222### Docstrings223224Python (Google-style):225```python226def fetch_data(url: str, timeout: int = 30) -> dict:227 """Fetch data from URL.228229 Args:230 url: The URL to fetch from231 timeout: Request timeout in seconds232233 Returns:234 Dictionary containing response data235236 Raises:237 ValueError: If URL is invalid238 TimeoutError: If request times out239 """240 pass241```242243TypeScript (JSDoc):244```typescript245/**246 * Fetch data from URL247 *248 * @param url - The URL to fetch from249 * @param timeout - Request timeout in seconds250 * @returns Promise resolving to response data251 * @throws {Error} If URL is invalid252 */253async function fetchData(url: string, timeout: number = 30): Promise<Data> {254 // ...255}256```257258## Writing Style259260### Guidelines261- Use clear, simple language262- Define acronyms on first use263- Use active voice264- Keep sentences concise265- Use inclusive language266267### Commands268```markdown269✅ Good:270Run `docker compose up` to start services.271272❌ Bad:273You should probably run docker compose up.274```275276## Images277278```markdown279280281*Figure 1: System architecture*282```283284- Store in `docs/images/` or `assets/`285- Use descriptive file names286- Optimize sizes287- Provide alt text288
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| TechSquidTV/Hermes.cursor/rules/30-tests.mdc · 46 | Cursor rules | buildteststylearch+4 | 85/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-app.mdc · 46 | Cursor rules | lint-formatstylearchtypes+5 | 88/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-api.mdc · 46 | Cursor rules | stylearchdependenciesapi+2 | 77/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 46 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-app-components.mdc · 46 | Cursor rules | archtypesuiperformance+1 | 65/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-app-routes.mdc · 46 | Cursor rules | archapiuido-not | 65/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/30-docker.mdc · 46 | Cursor rules | setupbuildstylesecurity+4 | 84/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/00-project.mdc · 46 | Cursor rules | setuplint-formatstylearch+4 | 89/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-db.mdc · 46 | Cursor rules | teststylearchtesting-strategy+3 | 73/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-app-hooks.mdc · 46 | Cursor rules | lint-formatstylearchtypes+3 | 73/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| bybren-llc/safe-agentic-workflow.cursor/rules/10-backend-python.mdc · 399 | Cursor rules | testlint-formatstylegit+4 | 97/100 | today |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/techsquidtv-hermes-cursor-rules-30-docs)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.