brainy/docs/archive/DOCUMENTATION_ORGANIZATION.md

4.6 KiB

Documentation Organization

This document explains the new documentation structure and workflow for managing markdown files in the Brainy project.

Overview

The documentation has been reorganized from 29 scattered markdown files at the root level to a clean, organized structure with only essential files at the root and categorized documentation in the docs/ directory.

New Structure

Root Level Files (GitHub/NPM Standards)

  • README.md - Main project documentation
  • CONTRIBUTING.md - Contribution guidelines
  • CODE_OF_CONDUCT.md - Community standards
  • CHANGELOG.md - Version history and release notes

Documentation Directory Structure

docs/
├── technical/           # Technical documentation and analysis
│   ├── CONCURRENCY_ANALYSIS.md
│   ├── STORAGE_CONCURRENCY_ANALYSIS.md
│   ├── THREADING.md
│   ├── STATISTICS.md
│   ├── TESTING.md
│   ├── VITEST_IMPROVEMENTS.md
│   ├── REALTIME_UPDATES.md
│   ├── METADATA_HANDLING.md
│   ├── VECTOR_DIMENSION_STANDARDIZATION.md
│   ├── USE_MODEL_LOADING_EXPLANATION.md
│   ├── STORAGE_TESTING.md
│   ├── TECHNICAL_GUIDES.md
│   ├── ENVIRONMENT_TESTING.md
│   └── SCALING_STRATEGY.md
├── development/         # Development and contributor documentation
│   ├── DEVELOPERS.md
│   ├── DOCUMENTATION_STANDARDS.md
│   ├── MARKDOWN_CONVENTIONS.md
│   ├── EXPECTED_TEST_MESSAGES.md
│   └── PRETTY_TEST_REPORTER.md
└── guides/             # User guides and migration documentation
    ├── cache-configuration.md
    ├── hnsw-field-search.md
    ├── json-document-search.md
    ├── model-management.md
    ├── optional-model-bundling.md
    ├── production-migration-guide.md
    └── service-identification.md

CHANGELOG.md Management

Automated Workflow

The project now uses automated changelog management:

  1. Adding Changes: Add entries to the [Unreleased] section in CHANGELOG.md

  2. Version Bumping: Use npm scripts that automatically update the changelog:

    • npm run version:patch - Patch version bump + changelog update
    • npm run version:minor - Minor version bump + changelog update
    • npm run version:major - Major version bump + changelog update
  3. Manual Updates: Use npm run changelog:update to manually update the changelog

Changelog Format

The changelog follows the Keep a Changelog standard:

  • Added - New features
  • Changed - Changes in existing functionality
  • Deprecated - Soon-to-be removed features
  • Removed - Now removed features
  • Fixed - Bug fixes
  • Security - Vulnerability fixes

GitHub Integration

The CHANGELOG.md is automatically used for:

  • GitHub releases (via scripts/create-github-release.js)
  • NPM package release notes
  • Version history tracking

Benefits of New Structure

  1. Clean Root Directory: Only 4 essential markdown files at root level
  2. Better Organization: Logical categorization of documentation in docs/ subdirectories
  3. GitHub Compliance: Follows GitHub and NPM best practices
  4. Automated Maintenance: Changelog updates are automated
  5. Easy Navigation: Clear directory structure for different doc types
  6. Reduced Clutter: Temporary and outdated files have been removed

Workflow for Contributors

Adding Documentation

  1. Technical docsdocs/technical/
  2. Development docsdocs/development/
  3. User guidesdocs/guides/
  4. Temporary files → Should be avoided; use issues or PRs for temporary documentation

Making Changes

  1. Add changes to [Unreleased] section in CHANGELOG.md
  2. Use appropriate category (Added, Changed, Fixed, etc.)
  3. When ready to release, use npm run version:patch/minor/major
  4. The changelog will be automatically updated with version and date

Release Process

  1. Ensure [Unreleased] section has all changes
  2. Run npm run version:patch/minor/major
  3. Run npm run deploy to publish and create GitHub release
  4. GitHub release will use CHANGELOG.md content

Migration Notes

  • All technical documentation organized in docs/technical/
  • Development documentation organized in docs/development/
  • User guides organized in docs/guides/
  • Temporary summary files and archived content have been cleaned up
  • Links in existing documentation may need updates
  • New automation ensures changelog stays current

This reorganization provides a sustainable, scalable approach to documentation management that follows industry best practices and integrates seamlessly with GitHub and NPM workflows.