- 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.
195 lines
5.9 KiB
Markdown
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.**
|