|
| 1 | +#Instructions for Claude |
| 2 | + |
| 3 | +This file contains guidelines and conventions to follow when working on this repository. |
| 4 | + |
| 5 | +##Repository Maintenance Guidelines |
| 6 | + |
| 7 | +###1. README.md Table of Contents |
| 8 | + |
| 9 | +**IMPORTANT**: Every time new content is added to the repository (directories, scripts, examples, documentation, etc.), it MUST be reflected in the main README.md file. |
| 10 | + |
| 11 | +**Why**: Visitors should be able to easily understand what's in the repository and navigate to relevant content from the README. |
| 12 | + |
| 13 | +**How**: |
| 14 | +- Update the "Repository Structure" section with new directories |
| 15 | +- Add new sections describing the purpose and contents of new additions |
| 16 | +- Include links to sub-READMEs or documentation when appropriate |
| 17 | +- Keep the structure hierarchical and easy to scan |
| 18 | + |
| 19 | +**IMPORTANT - Keep README.md SHORT and CLEAN**: |
| 20 | +- The main README.md must be concise - just titles and minimal content |
| 21 | +- Avoid verbose descriptions, detailed instructions, or long lists |
| 22 | +- Use brief one-line descriptions for new sections |
| 23 | +- Always link to subdirectory READMEs for detailed information |
| 24 | +- Detailed documentation belongs in subdirectory READMEs, not the main README |
| 25 | + |
| 26 | +**Example**: When the`media/stars/` directory was added with Python scripts to generate repository statistics, the README.md should be updated to include: |
| 27 | +- The directory in the structure tree |
| 28 | +- A description of what's in`media/stars/` |
| 29 | +- Links to the sub-README or mention of key scripts |
| 30 | + |
| 31 | +###2. Documentation Standards |
| 32 | + |
| 33 | +- Every subdirectory with scripts or code should have its own README.md |
| 34 | +- READMEs should include: |
| 35 | +- Purpose and overview |
| 36 | +- Installation/setup instructions |
| 37 | +- Usage examples |
| 38 | +- Expected outputs |
| 39 | +- Links to related resources |
| 40 | + |
| 41 | +###3. Code Organization |
| 42 | + |
| 43 | +- Keep related content in well-named directories |
| 44 | +- Use descriptive filenames |
| 45 | +- Add comments and docstrings to all scripts |
| 46 | +- Include requirements.txt or equivalent for dependencies |
| 47 | + |
| 48 | +###4. Presentation-Focused Content |
| 49 | + |
| 50 | +This repository is for a FortranCon 2025 presentation. Keep this context in mind: |
| 51 | +- Examples should be clear and demonstrative |
| 52 | +- Visualizations should be high-quality (300+ DPI) |
| 53 | +- Code should be well-commented for educational purposes |
| 54 | +- Include both working examples and their expected outputs |
| 55 | + |
| 56 | +###5. Git Workflow |
| 57 | + |
| 58 | +- Keep commits focused and atomic |
| 59 | +- Write clear commit messages |
| 60 | +- Don't commit generated outputs (images, data files) unless they're meant as reference examples |
| 61 | + |
| 62 | +##Current Repository Structure Tracking |
| 63 | + |
| 64 | +When adding new directories or significant content, track them here for easy reference when updating README.md: |
| 65 | + |
| 66 | +-[x]`examples/` - Code examples (structure defined, not yet created) |
| 67 | +-[x]`tests/` - Test suites (structure defined, not yet created) |
| 68 | +-[x]`benchmarks/` - Performance comparisons (structure defined, not yet created) |
| 69 | +-[x]`docs/` - Additional documentation (structure defined, not yet created) |
| 70 | +-[x]`media/` - Presentation materials |
| 71 | +-[x]`media/stars/` - Repository statistics and star history scripts |
| 72 | + |
| 73 | +##Quick Checklist for Adding New Content |
| 74 | + |
| 75 | +When adding new directories, scripts, or major features: |
| 76 | + |
| 77 | +-[ ] Create the content/directory |
| 78 | +-[ ] Add appropriate README.md in the subdirectory (if applicable) |
| 79 | +-[ ] Update main README.md: |
| 80 | +-[ ] Repository Structure section |
| 81 | +-[ ] Add descriptive section explaining the new content |
| 82 | +-[ ] Update any relevant links or references |
| 83 | +-[ ] Add entry to this CLAUDE.md tracking list |
| 84 | +-[ ] Ensure any scripts have proper documentation and usage instructions |
| 85 | + |
| 86 | +##Style Guidelines |
| 87 | + |
| 88 | +- Use clear, concise language |
| 89 | +- Prefer active voice |
| 90 | +- Keep line lengths reasonable for readability |
| 91 | +- Use markdown formatting consistently |
| 92 | +- Include code examples with proper syntax highlighting |
| 93 | + |
| 94 | +##Contact and Conventions |
| 95 | + |
| 96 | +Primary maintainer: F. Perini |
| 97 | +Context: FortranCon 2025 presentation materials |
| 98 | +Focus: Precision-agnostic BLAS/LAPACK and modern linear algebra API for stdlib |