388 lines
9.8 KiB
Markdown
388 lines
9.8 KiB
Markdown
# Documentation Organization
|
|
|
|
## Overview
|
|
|
|
The Attune project documentation has been reorganized into logical subdirectories to improve discoverability and maintainability. This document describes the new structure and rationale.
|
|
|
|
## Documentation Structure
|
|
|
|
### `docs/` Directory
|
|
|
|
#### `docs/api/`
|
|
**Purpose**: REST API endpoint documentation and OpenAPI specifications
|
|
|
|
**Contents**:
|
|
- API endpoint documentation (`api-*.md`)
|
|
- OpenAPI client generation guides
|
|
- API completion plans and specifications
|
|
|
|
**When to use**: Creating or documenting REST API endpoints, working with OpenAPI specs
|
|
|
|
#### `docs/architecture/`
|
|
**Purpose**: System architecture and service design documentation
|
|
|
|
**Contents**:
|
|
- Service architecture documents (`*-service.md`)
|
|
- System architecture overviews (`*-architecture.md`)
|
|
- Queue and message broker architecture
|
|
- Inter-service communication patterns
|
|
|
|
**When to use**: Understanding system design, planning new services, architectural decisions
|
|
|
|
#### `docs/authentication/`
|
|
**Purpose**: Authentication, authorization, and security documentation
|
|
|
|
**Contents**:
|
|
- Authentication mechanisms (JWT, tokens)
|
|
- Secrets management
|
|
- RBAC and permissions
|
|
- Service accounts
|
|
- Security reviews and guidelines
|
|
|
|
**When to use**: Implementing auth features, managing secrets, security audits
|
|
|
|
#### `docs/cli/`
|
|
**Purpose**: Command-line interface documentation
|
|
|
|
**Contents**:
|
|
- CLI command reference
|
|
- Profile management
|
|
- CLI usage examples
|
|
|
|
**When to use**: Using or extending the `attune` CLI tool
|
|
|
|
#### `docs/configuration/`
|
|
**Purpose**: Configuration system documentation
|
|
|
|
**Contents**:
|
|
- Configuration file formats (YAML)
|
|
- Environment variable overrides
|
|
- Configuration troubleshooting
|
|
- Migration guides (e.g., env to YAML)
|
|
|
|
**When to use**: Configuring services, troubleshooting config issues
|
|
|
|
#### `docs/dependencies/`
|
|
**Purpose**: Dependency management and refactoring documentation
|
|
|
|
**Contents**:
|
|
- Dependency upgrade guides
|
|
- Deduplication efforts
|
|
- HTTP client consolidation
|
|
- Crate migration documentation (e.g., sea-query removal, serde-yaml migration)
|
|
- Workspace dependency compliance
|
|
|
|
**When to use**: Managing Rust dependencies, understanding dependency decisions
|
|
|
|
#### `docs/deployment/`
|
|
**Purpose**: Production deployment and operations documentation
|
|
|
|
**Contents**:
|
|
- Production deployment guides
|
|
- Operations runbooks
|
|
- Infrastructure setup
|
|
|
|
**When to use**: Deploying to production, handling operational issues
|
|
|
|
#### `docs/development/`
|
|
**Purpose**: Developer workflow and tooling documentation
|
|
|
|
**Contents**:
|
|
- Workspace setup guides
|
|
- Compilation notes
|
|
- Code cleanup procedures
|
|
- Documentation organization (this file)
|
|
- AGENTS.md index generation
|
|
|
|
**When to use**: Setting up dev environment, understanding dev tooling
|
|
|
|
#### `docs/examples/`
|
|
**Purpose**: Example configurations and workflows
|
|
|
|
**Contents**:
|
|
- Workflow YAML examples
|
|
- Pack registry examples
|
|
- Rule parameter examples
|
|
- Demo scripts
|
|
|
|
**When to use**: Learning by example, testing features
|
|
|
|
#### `docs/guides/`
|
|
**Purpose**: Getting started guides and tutorials
|
|
|
|
**Contents**:
|
|
- Quick start guides
|
|
- Feature-specific quickstarts (timers, workflows, sensors)
|
|
- Step-by-step tutorials
|
|
|
|
**When to use**: First-time users, learning new features
|
|
|
|
#### `docs/migrations/`
|
|
**Purpose**: Database and schema migration documentation
|
|
|
|
**Contents**:
|
|
- Migration decision records
|
|
- Schema change documentation
|
|
- Data migration guides
|
|
|
|
**When to use**: Understanding database schema evolution
|
|
|
|
#### `docs/packs/`
|
|
**Purpose**: Pack system documentation
|
|
|
|
**Contents**:
|
|
- Pack structure and creation
|
|
- Pack testing framework
|
|
- Pack registry specification
|
|
- Core pack integration
|
|
|
|
**When to use**: Creating packs, understanding pack architecture
|
|
|
|
#### `docs/performance/`
|
|
**Purpose**: Performance optimization documentation
|
|
|
|
**Contents**:
|
|
- Performance analysis reports
|
|
- Optimization guides
|
|
- Benchmarking results
|
|
- Resource limits (e.g., log size limits)
|
|
|
|
**When to use**: Performance tuning, understanding bottlenecks
|
|
|
|
#### `docs/plans/`
|
|
**Purpose**: Future planning and design documents
|
|
|
|
**Contents**:
|
|
- Refactoring plans
|
|
- Feature proposals
|
|
- Technical debt tracking
|
|
|
|
**When to use**: Planning major changes, understanding project direction
|
|
|
|
#### `docs/sensors/`
|
|
**Purpose**: Sensor system documentation
|
|
|
|
**Contents**:
|
|
- Sensor interface and lifecycle
|
|
- Sensor authentication
|
|
- Runtime configuration
|
|
- Sensor service setup
|
|
|
|
**When to use**: Creating sensors, debugging sensor issues
|
|
|
|
#### `docs/testing/`
|
|
**Purpose**: Testing documentation and strategies
|
|
|
|
**Contents**:
|
|
- Test execution guides
|
|
- Testing strategies (e2e, integration, unit)
|
|
- Schema-per-test architecture
|
|
- Test troubleshooting
|
|
|
|
**When to use**: Writing tests, debugging test failures
|
|
|
|
#### `docs/web-ui/`
|
|
**Purpose**: Web UI documentation
|
|
|
|
**Contents**:
|
|
- Web UI architecture
|
|
- Component documentation
|
|
- Testing guides
|
|
|
|
**When to use**: Frontend development, UI feature work
|
|
|
|
#### `docs/webhooks/`
|
|
**Purpose**: Webhook system documentation
|
|
|
|
**Contents**:
|
|
- Webhook architecture
|
|
- Testing webhooks
|
|
- Manual testing procedures
|
|
|
|
**When to use**: Implementing webhook triggers, debugging webhook issues
|
|
|
|
#### `docs/workflows/`
|
|
**Purpose**: Workflow engine documentation
|
|
|
|
**Contents**:
|
|
- Workflow execution engine
|
|
- Orchestration patterns
|
|
- Workflow implementation plans
|
|
- Rule and trigger mapping
|
|
- Parameter handling
|
|
- Inquiry (human-in-the-loop) system
|
|
|
|
**When to use**: Building workflows, understanding execution flow
|
|
|
|
---
|
|
|
|
### `work-summary/` Directory
|
|
|
|
#### `work-summary/status/`
|
|
**Purpose**: Current project status and TODO tracking
|
|
|
|
**Contents**:
|
|
- Status documents (`*STATUS*.md`)
|
|
- TODO lists
|
|
- Progress tracking
|
|
- Accomplishments
|
|
|
|
**When to use**: Understanding current project state, tracking work items
|
|
|
|
#### `work-summary/phases/`
|
|
**Purpose**: Development phase completion summaries and planning
|
|
|
|
**Contents**:
|
|
- Phase completion documents (`phase-*.md`)
|
|
- Analysis documents
|
|
- Problem statements
|
|
- Planning documents
|
|
- StackStorm lessons learned
|
|
|
|
**When to use**: Understanding project history, learning from past phases
|
|
|
|
#### `work-summary/sessions/`
|
|
**Purpose**: Daily development session notes
|
|
|
|
**Contents**:
|
|
- Dated session summaries (`YYYY-MM-DD-*.md`)
|
|
- Session-specific work logs
|
|
- Daily progress notes
|
|
|
|
**When to use**: Reviewing recent work, understanding context of changes
|
|
|
|
**Note**: This is the largest directory (155+ files) - use grep or find to locate specific sessions
|
|
|
|
#### `work-summary/features/`
|
|
**Purpose**: Feature implementation summaries
|
|
|
|
**Contents**:
|
|
- Feature-specific implementation notes
|
|
- Testing documentation
|
|
- Feature completion reports
|
|
|
|
**When to use**: Understanding how features were implemented
|
|
|
|
#### `work-summary/migrations/`
|
|
**Purpose**: Migration and refactoring work summaries
|
|
|
|
**Contents**:
|
|
- Migration completion summaries
|
|
- Refactoring session notes
|
|
- Migration status and next steps
|
|
|
|
**When to use**: Understanding migration history, planning migrations
|
|
|
|
#### `work-summary/changelogs/`
|
|
**Purpose**: Changelogs and major completion summaries
|
|
|
|
**Contents**:
|
|
- CHANGELOG.md
|
|
- API completion summaries
|
|
- Feature completion reports
|
|
- Cleanup summaries
|
|
|
|
**When to use**: Understanding what changed and when
|
|
|
|
---
|
|
|
|
## Finding Documentation
|
|
|
|
### Quick Reference
|
|
|
|
| What you need | Where to look |
|
|
|---------------|---------------|
|
|
| API endpoint details | `docs/api/` |
|
|
| How to deploy | `docs/deployment/` |
|
|
| Getting started | `docs/guides/` |
|
|
| Service architecture | `docs/architecture/` |
|
|
| How to test | `docs/testing/` |
|
|
| Authentication/security | `docs/authentication/` |
|
|
| Configuration | `docs/configuration/` |
|
|
| Pack creation | `docs/packs/` |
|
|
| Workflow building | `docs/workflows/` |
|
|
| Recent work | `work-summary/sessions/` |
|
|
| Current status | `work-summary/status/` |
|
|
|
|
### Search Tips
|
|
|
|
**Use grep for content search**:
|
|
```bash
|
|
# Find all docs mentioning "sensor"
|
|
grep -r "sensor" docs/
|
|
|
|
# Find API docs about executions
|
|
grep -r "execution" docs/api/
|
|
|
|
# Find recent work on workflows
|
|
grep -r "workflow" work-summary/sessions/
|
|
```
|
|
|
|
**Use find for path-based search**:
|
|
```bash
|
|
# Find all testing documentation
|
|
find docs/testing/ -name "*.md"
|
|
|
|
# Find all phase summaries
|
|
find work-summary/phases/ -name "phase-*.md"
|
|
```
|
|
|
|
**Use the AGENTS.md index**:
|
|
```bash
|
|
# Regenerate the index after adding new docs
|
|
make generate-agents-index
|
|
|
|
# View the minified index
|
|
cat AGENTS.md
|
|
```
|
|
|
|
---
|
|
|
|
## Maintenance Guidelines
|
|
|
|
### Adding New Documentation
|
|
|
|
1. **Determine the category**: Match your doc to one of the existing categories above
|
|
2. **Use descriptive names**: `feature-name-guide.md` or `component-architecture.md`
|
|
3. **Update AGENTS.md**: Run `make generate-agents-index` after adding docs
|
|
4. **Cross-reference**: Link to related docs in other categories
|
|
|
|
### Moving Documentation
|
|
|
|
When reorganizing docs:
|
|
1. Use `git mv` to preserve history
|
|
2. Update any hardcoded paths in other docs
|
|
3. Check for broken links
|
|
4. Regenerate AGENTS.md
|
|
|
|
### Work Summary Guidelines
|
|
|
|
- **Daily work**: Save to `work-summary/sessions/` with date prefix `YYYY-MM-DD-description.md`
|
|
- **Phase completions**: Save to `work-summary/phases/`
|
|
- **Status updates**: Update files in `work-summary/status/`
|
|
- **Feature summaries**: Save to `work-summary/features/` (for thematic, non-dated summaries)
|
|
|
|
---
|
|
|
|
## Reorganization History
|
|
|
|
**Date**: 2026-01-30
|
|
|
|
**Changes**:
|
|
- Created 16 subdirectories in `docs/`
|
|
- Created 7 subdirectories in `work-summary/`
|
|
- Organized 102 documentation files
|
|
- Organized 213 work summary files
|
|
- Updated AGENTS.md to reflect new structure
|
|
|
|
**Rationale**:
|
|
- Improved discoverability: Easier to find related documentation
|
|
- Logical grouping: Similar topics grouped together
|
|
- Reduced clutter: Root directories now clean and organized
|
|
- Better navigation: AI agents and developers can quickly locate relevant docs
|
|
|
|
**Benefits**:
|
|
- Faster documentation lookup
|
|
- Clearer project organization
|
|
- Better AI agent performance with minified index
|
|
- Easier onboarding for new developers |