

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12---3description: "Cursor AI rules for Fledge documentation - covers reStructuredText, Sphinx, file naming, and content guidelines"4globs:5 - "docs/**/*"6 - "*.rst"7alwaysApply: false8author: "Ashish Jabble"9---1011# Documentation Directory Cursor Rules1213## Overview14This file contains specific rules for working with documentation in the `/docs` directory of the Fledge project. These rules supplement the main project cursor rules and focus on documentation-specific patterns and conventions.1516## Documentation Framework17- **Format**: reStructuredText (.rst) format exclusively18- **Build System**: Sphinx documentation generator19- **Theme**: sphinx_rtd_theme (Read the Docs theme)20- **Configuration**: All settings in `docs/conf.py`2122## 🚫 "Fledge" Branding Guidelines - MINIMIZE USAGE2324**CRITICAL RULE: Avoid "Fledge" in naming wherever possible**2526### What to Avoid:27- ❌ Image files: `fledge_architecture.png`28- ❌ Directory names: `fledge_authentication/`29- ❌ File names: `fledge_configuration.rst`30- ❌ Headings: "Fledge Authentication Setup"31- ❌ Repetitive content: "Fledge does this... Fledge provides that..."3233### What to Use Instead:34- ✅ Image files: `architecture_overview.png`, `auth_flow.png`35- ✅ Directory names: `authentication/`, `configuration/`, `monitoring/`36- ✅ File names: `authentication.rst`, `configuration.rst`37- ✅ Headings: "Authentication Setup", "Configuration Guide"38- ✅ Content alternatives: "the platform", "the system", "this feature"3940### When "Fledge" IS Appropriate:41- Main title pages and introductory content42- External references and comparisons43- Installation package names44- API endpoint references where it's part of the actual name4546## File Organization4748### Directory Structure49- `/docs/` - Main documentation root50- `/docs/_static/` - Static assets (CSS, images that aren't content)51- `/docs/_templates/` - Custom Sphinx templates52- `/docs/images/` - Documentation images and screenshots53- `/docs/quick_start/` - Getting started guides54- `/docs/plugin_developers_guide/` - Plugin development documentation55- `/docs/rest_api_guide/` - REST API documentation56- `/docs/building_fledge/` - Build and installation guides57- `/docs/monitoring/` - System monitoring documentation58- `/docs/fledge-rule-DataAvailability/` - Built-in Data Availability rule plugin docs59- `/docs/fledge-rule-Threshold/` - Built-in Threshold rule plugin docs60- `/docs/fledge-north-OMF.rst` - Built-in OMF north plugin documentation61- `/docs/keywords/` - Plugin categorization keywords and mappings62- `/docs/fledge_plugins.rst` - Master plugin list with conditional hyperlinks6364**DIRECTORY NAMING GUIDELINES:**65- **AVOID "fledge" in new directory names** - use functional descriptions66- Use topic-based naming: `authentication/` instead of `fledge_authentication/`67- Keep directory names lowercase with underscores68- Focus on the purpose/feature rather than product branding6970### File Naming Conventions71- Use lowercase with underscores: `file_name.rst`72- Index files: `index.rst` for each directory73- Numbered files for version/download info: `91_version_history.rst`, `92_downloads.rst`74- Descriptive names reflecting content: `securing.rst`, `troubleshooting_pi_server_integration.rst`75- **AVOID "fledge" in filenames** - use functional descriptions: `authentication.rst` instead of `fledge_authentication.rst`76- Focus on the topic/feature being documented7778## reStructuredText Style Guidelines7980### Heading Hierarchy81Follow this exact hierarchy for consistency:82```rst83***************84Document Title (Level 1)85***************8687===============88Major Section (Level 2)89===============9091Minor Section (Level 3)92-----------------------9394Subsection (Level 4)95^^^^^^^^^^^^^^^^^^^^9697Sub-subsection (Level 5)98"""""""""""""""""""""""""99```100101**IMPORTANT NAMING CONVENTIONS:**102- **AVOID "Fledge" in headings** unless absolutely necessary for context103- Use descriptive, functional titles: "Authentication Configuration" instead of "Fledge Authentication Configuration"104- Focus on the feature/functionality rather than the product name105- Keep headings concise and user-focused106107### Document Structure1081. **Title**: Use level 1 heading with asterisks above and below1092. **Introduction**: Brief overview of the document's purpose1103. **Table of Contents**: Use `.. toctree::` for sections with multiple pages1114. **Main Content**: Organized with appropriate heading levels1125. **Cross-references**: Link to related documentation113114### Code Blocks115```rst116.. code-block:: language117 :linenos:118 :emphasize-lines: 2,3119120 code here121```122123### Common Directives124- `.. note::` - Important information125- `.. warning::` - Critical warnings126- `.. code-block::` - Code examples127- `.. image::` - Images with proper alt text128- `.. toctree::` - Table of contents trees129130### Images and Media131- Store images in `/docs/images/` directory132- Use descriptive filenames: `architecture_overview.png` (avoid "fledge_" prefix)133- **AVOID "Fledge" in image filenames** - use descriptive terms like `architecture_overview.png` instead of `fledge_architecture_overview.png`134- Always include alt text: `.. image:: images/filename.png :alt: Description`135- Optimize images for web (reasonable file sizes)136- Use subdirectories in images/ for organization by topic137- Keep image names concise and topic-focused138139### Cross-References and Links140- Internal references: `:doc:`filename`` or `:ref:`label``141- External links: `Link text <URL>`_142- API references: Follow existing patterns for REST API documentation143144## Content Guidelines145146### Writing Style147- Use clear, concise language suitable for technical documentation148- Write in active voice when possible149- Use present tense for current functionality150- Include step-by-step instructions for procedures151- Provide context and examples152- **MINIMIZE use of "Fledge" in content** - focus on functionality and features153- Use "the platform", "the system", or specific feature names instead of repetitive "Fledge" references154155### Code Examples156- Include complete, runnable examples when possible157- Show both input and expected output158- Use realistic data that represents actual Fledge usage159- Comment code examples appropriately160- Test code examples to ensure they work161162### API Documentation163- Document all public APIs, parameters, and return values164- Include HTTP status codes for REST APIs165- Provide curl examples for API endpoints166- Show JSON request/response examples167- Document error conditions and responses168169### Configuration Documentation170- Show complete configuration examples171- Explain all configuration parameters172- Provide default values where applicable173- Include configuration validation rules174- Link to related configuration sections175176## Sphinx Configuration177178### Extensions179- Keep extensions minimal and focused180- Document any new extensions added181- Ensure extensions are available in build environment182183### Build Process184- Use `make html` for local builds185- Check for build warnings and errors186- Test documentation locally before committing187- Verify all links work correctly188189### Documentation Generation Scripts190- **Location**: `/scripts/` directory contains documentation generation utilities191- **Plugin Discovery**: Scripts automatically scan plugin repositories for `docs/` directories192- **Content Aggregation**: Pulls documentation from external plugin repos during build193- **Branch Management**: Handles DOCBRANCH parameter for version-specific documentation194- **Integration**: Merges external plugin docs with core Fledge documentation seamlessly195196### Keywords and Categorization System197- **Keywords Directory**: `/docs/keywords/` contains category definition files198- **Category Mapping**: Each keyword file defines a plugin category (e.g., `Augmentation`, `Cleansing`, `Cloud`)199- **Plugin Keywords**: Plugin repositories contain keyword files that reference category keywords200- **Automatic Categorization**: Build scripts match plugin keywords with category definitions201- **Dynamic Organization**: Plugin list automatically organized into categorical sections202- **Conditional Display**: Categories only appear if plugins with matching keywords exist203204### Version Management205- Version information managed in `conf.py`206- DOCBRANCH parameter for plugin documentation207- Update version info during releases208209### DOCBRANCH System210- **Purpose**: Generates documentation from both core Fledge and external plugin repositories211- **Core Documentation**: Always included from the main Fledge repository212- **Plugin Documentation**: Pulled from individual plugin repositories if they have a `docs/` directory213- **Branch Control**: Uses `DOCBRANCH='develop'` parameter (set to actual version during releases)214- **Auto-Discovery**: Only includes plugins that have documentation - ignores repos without `docs/` directory215- **Generation Scripts**: Located in `/scripts/` directory handle the plugin documentation aggregation216- **Build Command**: `subprocess.run(["make generated DOCBRANCH='develop'"], shell=True, check=True)` in `conf.py`217218## Plugin Documentation219220### Plugin Repository Documentation221- **External Plugins**: Each plugin repository can have its own `docs/` directory222- **Auto-Discovery**: Build system automatically includes plugin docs if `docs/` directory exists223- **Repository Requirement**: Plugin repos without `docs/` directory are ignored during documentation generation224- **Branch Synchronization**: Uses same DOCBRANCH parameter as core documentation225- **Integration**: Plugin docs are seamlessly integrated into the main documentation site226227### Built-in Plugins (In Core Repository)228The following plugins have documentation included directly in the core Fledge repository:229- **`fledge-rule-DataAvailability/`** - Data availability rule plugin documentation230- **`fledge-rule-Threshold/`** - Threshold rule plugin documentation231- **`fledge-north-OMF.rst`** - OMF north plugin documentation232233### Plugin Documentation Standards234- Each plugin should have its own documentation section235- Follow the pattern established in existing plugin docs236- Include installation, configuration, and usage instructions237- Provide troubleshooting sections238- Use the same reStructuredText format and style guidelines239240### Auto-Generated Content241- Plugin lists and references may be auto-generated by scripts in `/scripts/` directory242- Don't manually edit generated content243- Use the build system's generation capabilities244- Generated content includes plugin discovery from external repositories245246### Plugin Listing System (`fledge_plugins.rst`)247- **Master List**: All plugins are listed with name and description in `fledge_plugins.rst`248- **Smart Hyperlinking**:249 - ✅ **With Documentation**: Plugin names become hyperlinks if `docs/` directory exists in plugin repo250 - ❌ **Without Documentation**: Plugin names remain as plain text (no hyperlink)251- **Automatic Detection**: Build system checks for documentation availability during generation252- **Comprehensive Coverage**: Includes all available Fledge plugins regardless of documentation status253254### Plugin Categorization System255- **Keyword-Based Organization**: Plugins organized by categories using keyword mapping256- **Keywords Directory**: `/docs/keywords/` contains category definitions and mappings257- **Plugin Keywords**: Each plugin repository can have a keywords file defining its categories258- **Categorical Display**: Plugins grouped and displayed under appropriate category sections259- **Dynamic Categorization**: Categories are automatically generated based on available keywords260261### Plugin Documentation Sources262- **Core Repository Plugins**: Documentation in `/docs/` for built-in plugins263- **External Plugin Repos**: Each plugin repository can maintain its own `docs/` directory264- **Plugin Directory Reference**: All Fledge-based plugins available in main `plugins/` directory265- **Detailed Documentation**: Comprehensive plugin docs when `docs/` directory exists in plugin repo266267### Plugin Documentation Workflow2681. **Plugin Discovery**: Build system scans all available Fledge plugin repositories2692. **Documentation Check**: Determines if plugin repo has `docs/` directory2703. **List Generation**: All plugins added to `fledge_plugins.rst` with name and description2714. **Hyperlink Decision**:272 - Plugins WITH docs → Name becomes clickable hyperlink273 - Plugins WITHOUT docs → Name remains as plain text2745. **Category Organization**: Plugins grouped by keywords into categorical sections2756. **Integration**: Plugin docs seamlessly integrated into main documentation site276277## Quality Standards278279### Content Review280- Ensure accuracy of all technical information281- Verify code examples work with current Fledge version282- Check that screenshots are current and accurate283- Review for clarity and completeness284285### Accessibility286- Use proper heading hierarchy for screen readers287- Include alt text for all images288- Ensure good color contrast in custom CSS289- Test with accessibility tools290291### Maintenance292- Update documentation when features change293- Remove or update deprecated information294- Keep external links current295- Regular review of troubleshooting sections296297## Build and Deployment298299### Local Testing300```bash301cd docs302make html303# Check _build/html/index.html in browser304```305306### Build Warnings307- Address all Sphinx build warnings308- Fix broken internal references309- Verify external links periodically310- Check image references311312### Dependencies313- Document build dependencies in `requirements.txt`314- Keep Sphinx version constraints appropriate315- Test builds in clean environments316317## Documentation Contribution Guidelines318319### New Documentation320- Create comprehensive documentation for new features321- Follow existing patterns and conventions322- Include in appropriate toctree structures323- Add cross-references to related content324325### Plugin Documentation Contributions326- **Adding Plugin Docs**: Create `docs/` directory in plugin repository with proper structure327- **Hyperlink Generation**: Plugin names in `fledge_plugins.rst` automatically become hyperlinks when docs exist328- **Keywords Assignment**: Add appropriate keyword files to enable categorical organization329- **Content Standards**: Follow same reStructuredText standards as core documentation330- **Testing**: Verify plugin documentation builds correctly with main documentation site331332### Updates333- Update documentation when code changes334- Maintain backwards compatibility information335- Add migration guides for breaking changes336- Update version history appropriately337338### Review Process339- Technical accuracy review340- Editorial review for clarity341- Build verification342- Link checking343344## Common Patterns345346### Getting Started Guides347- Step-by-step instructions348- Prerequisites clearly stated349- Expected outcomes described350- Troubleshooting section included351352### Reference Documentation353- Comprehensive parameter listings354- Example configurations355- Default values documented356- Related settings cross-referenced357358### Tutorial Content359- Progressive complexity360- Complete working examples361- Clear learning objectives362- Summary and next steps363364## Troubleshooting Documentation365366### Error Messages367- Include exact error message text368- Provide context for when errors occur369- Give specific resolution steps370- Link to related configuration371372### Common Issues373- Document frequently reported problems374- Provide multiple solution approaches375- Include preventive measures376- Reference community resources377378This documentation should be treated as living guidelines that evolve with the project's needs while maintaining consistency and quality standards.379
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| bybren-llc/safe-agentic-workflow.cursor/rules/10-backend-python.mdc · 399 | Cursor rules | testlint-formatstylegit+4 | 97/100 | today | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 46 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 14 days ago | |
| skillrecordings/egghead-next.cursor/rules/project-update-user-rules.mdc · 1.4k | Cursor rules | buildtestlint-formatstyle+7 | 96/100 | 14 days ago | |
| skillrecordings/egghead-next.cursor/rules/project-update-rules.mdc · 1.4k | Cursor rules | buildtestlint-formatstyle+7 | 96/100 | 14 days ago | |
| skillrecordings/egghead-next.cursor/rules/gh-task-plan.mdc · 1.4k | Cursor rules | teststylearchtypes+2 | 96/100 | 14 days ago |
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/fledge-iot-fledge-cursor-rules-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.