brainy/docs/MARKDOWN_FILE_MANAGEMENT.md
David Snelling 1539ba74de **chore(archive): remove outdated documentation and summaries**
- Deleted the following obsolete files:
  - `CHANGES.md`, `changes-summary.md`, `CHANGES_SUMMARY.md`: Contained redundant or outdated change logs and implementation summaries.
  - `COMPATIBILITY.md`: Detailed compatibility behavior no longer relevant after environment detection updates.
  - `fix-documentation.md`: Addressed a resolved issue regarding `process.memoryUsage` errors in testing.
  - `DIMENSION_MISMATCH_SUMMARY.md`: Provided a legacy summary of resolved embedding dimension mismatch issues.
  - `demo.md`: Documented an outdated demo process for testing Brainy features.
  - `CONCURRENCY_IMPLEMENTATION_SUMMARY.md`: Summarized already-documented concurrency features.
  - `IMPLEMENTATION_SUMMARY.md`: Detailed an obsolete implementation of optional model bundling.

- Purpose:
  - Streamline and declutter archive by removing redundant or outdated documentation.
  - Align repository with current feature set and documentation standards.
2025-08-01 16:21:35 -07:00

195 lines
5.9 KiB
Markdown

# Markdown File Management Guidelines
## Overview
This document establishes standards for managing .md files in the Brainy project to maintain a clean, organized, and professional documentation structure.
## Root Directory Standards
The project root should contain **only** these essential .md files:
### Required Files (GitHub/NPM Standards)
- `README.md` - Main project documentation and entry point
- `CHANGELOG.md` - Version history and release notes
- `CODE_OF_CONDUCT.md` - Community guidelines
- `CONTRIBUTING.md` - Contribution guidelines
- `LICENSE` - Legal license file (not .md but related)
### Prohibited in Root
**Never place these in root:**
- Temporary summary files (e.g., `IMPLEMENTATION_SUMMARY.md`)
- Fix-related documentation (e.g., `RELIABILITY_IMPROVEMENTS_SUMMARY.md`)
- Organizational notes (e.g., `SCRIPT_ORGANIZATION_SOLUTION.md`)
- Update logs (e.g., `README_updates.md`, `changes-summary.md`)
- Environment-specific guides (should go in docs/)
## Documentation Organization Structure
```
docs/
├── COMPATIBILITY.md # Cross-platform compatibility info
├── DOCUMENTATION_ORGANIZATION.md # This file's organization guide
├── development/ # Developer-focused documentation
│ ├── DEVELOPERS.md
│ ├── DOCUMENTATION_STANDARDS.md
│ └── MARKDOWN_CONVENTIONS.md
├── guides/ # User guides and tutorials
│ ├── cache-configuration.md
│ ├── model-management.md
│ └── production-migration-guide.md
└── technical/ # Technical implementation details
├── TESTING.md # Comprehensive testing guide
├── ENVIRONMENT_TESTING.md # Environment-specific testing
├── CONCURRENCY_ANALYSIS.md
└── STORAGE_TESTING.md
```
## File Naming Conventions
### Use UPPERCASE for Major Documents
- `README.md`, `CHANGELOG.md`, `CONTRIBUTING.md`
- `TESTING.md`, `COMPATIBILITY.md`
### Use lowercase-with-hyphens for Specific Guides
- `cache-configuration.md`
- `model-management.md`
- `production-migration-guide.md`
### Use Descriptive Names
**Good:**
- `ENVIRONMENT_TESTING.md` (specific purpose)
- `cache-configuration.md` (clear topic)
- `production-migration-guide.md` (clear audience and purpose)
**Bad:**
- `IMPLEMENTATION_SUMMARY.md` (temporary)
- `changes-summary.md` (temporary)
- `notes.md` (vague)
## File Lifecycle Management
### Temporary Files
**Rule: Temporary files should be deleted immediately after their purpose is fulfilled.**
Examples of temporary files that should be deleted:
- Implementation summaries after feature completion
- Fix documentation after issues are resolved
- Organizational notes after reorganization is complete
- Update logs after updates are integrated
### Permanent Documentation
Files that should be maintained long-term:
- User guides and tutorials
- Technical reference documentation
- API documentation
- Testing guides
- Development standards
## Where to Place Different Types of Documentation
### Root Directory
- Only essential project files (README, CHANGELOG, etc.)
### docs/development/
- Developer setup guides
- Build instructions
- Code standards
- Documentation standards
### docs/guides/
- User tutorials
- Configuration guides
- Migration guides
- How-to documentation
### docs/technical/
- Technical implementation details
- Architecture documentation
- Testing documentation
- Performance analysis
### Package-Specific
- Each package (cli-package/, web-service-package/, etc.) should have its own README.md
- Package-specific documentation stays with the package
## Review Process
### Before Adding New .md Files
1. **Determine if it's temporary or permanent**
- Temporary: Consider using issues, PRs, or comments instead
- Permanent: Proceed with proper placement
2. **Choose the correct location**
- Root: Only for essential project files
- docs/: For all other documentation
3. **Use proper naming conventions**
- Descriptive names that indicate purpose
- Consistent with existing patterns
### Regular Cleanup
- Review .md files quarterly
- Delete temporary files that have served their purpose
- Consolidate duplicate or overlapping documentation
- Update links when files are moved
## Migration Guidelines
When reorganizing existing documentation:
1. **Categorize existing files**
- Essential (keep in root)
- Useful (move to docs/)
- Temporary (delete)
2. **Update references**
- Search for links to moved files
- Update README.md and other documentation
- Test that all links work
3. **Maintain backward compatibility when possible**
- Consider redirects for important moved files
- Update package.json scripts if they reference moved files
## Enforcement
### Code Review Checklist
- [ ] New .md files are in appropriate locations
- [ ] Temporary files are not being committed
- [ ] Links to documentation are correct
- [ ] File names follow conventions
### Automated Checks (Future)
Consider implementing:
- Linting rules for .md file placement
- Link checking in CI/CD
- Automated cleanup of temporary files
## Examples
### ✅ Good Documentation Structure
```
README.md # Main project docs
CHANGELOG.md # Version history
docs/guides/setup.md # User guide
docs/technical/api.md # Technical reference
```
### ❌ Bad Documentation Structure
```
README.md
IMPLEMENTATION_SUMMARY.md # Temporary - should be deleted
FIX_NOTES.md # Temporary - should be deleted
setup.md # Should be in docs/guides/
```
## Summary
Following these guidelines ensures:
- Clean, professional project structure
- Easy navigation for users and contributors
- Reduced maintenance overhead
- Consistent documentation organization
- Better discoverability of information
**Remember: When in doubt, ask "Is this temporary or permanent?" and "Who is the audience?" to determine the right approach.**