зеркало из
				https://github.com/docxology/cognitive.git
				synced 2025-11-04 07:06:06 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			176 строки
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			176 строки
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Package Documentation Guide
 | 
						|
 | 
						|
## Overview
 | 
						|
This guide outlines the documentation standards and organization for the Cognitive Modeling package. It combines Python docstrings, markdown documentation, and Obsidian's knowledge management capabilities.
 | 
						|
 | 
						|
## Documentation Structure
 | 
						|
 | 
						|
### Directory Organization
 | 
						|
```
 | 
						|
docs/
 | 
						|
├── api/              # API reference documentation
 | 
						|
├── concepts/         # Core theoretical concepts
 | 
						|
├── examples/         # Usage examples and tutorials
 | 
						|
├── guides/           # How-to guides and tutorials
 | 
						|
└── tools/           # Tool-specific documentation
 | 
						|
```
 | 
						|
 | 
						|
## Documentation Types
 | 
						|
 | 
						|
### 1. API Documentation
 | 
						|
- Located in `docs/api/`
 | 
						|
- Generated from docstrings
 | 
						|
- Follows Google docstring format
 | 
						|
 | 
						|
Example:
 | 
						|
```python
 | 
						|
def update_beliefs(observation: np.ndarray, prior: np.ndarray) -> np.ndarray:
 | 
						|
    """Updates agent beliefs based on new observations.
 | 
						|
    
 | 
						|
    Args:
 | 
						|
        observation (np.ndarray): Current observation vector
 | 
						|
        prior (np.ndarray): Prior belief state
 | 
						|
        
 | 
						|
    Returns:
 | 
						|
        np.ndarray: Updated belief state
 | 
						|
        
 | 
						|
    See Also:
 | 
						|
        [[belief_update_algorithm]]
 | 
						|
        [[free_energy_computation]]
 | 
						|
    """
 | 
						|
    pass
 | 
						|
```
 | 
						|
 | 
						|
### 2. Concept Documentation
 | 
						|
- Located in `docs/concepts/`
 | 
						|
- Theoretical foundations
 | 
						|
- Mathematical formulations
 | 
						|
- Links to implementations
 | 
						|
 | 
						|
Example: `concepts/free_energy.md`:
 | 
						|
```markdown
 | 
						|
# Free Energy Principle
 | 
						|
 | 
						|
## Mathematical Foundation
 | 
						|
...
 | 
						|
 | 
						|
## Implementation
 | 
						|
See [[free_energy_impl]] for code implementation.
 | 
						|
```
 | 
						|
 | 
						|
### 3. Example Documentation
 | 
						|
- Located in `docs/examples/`
 | 
						|
- Practical usage examples
 | 
						|
- Step-by-step tutorials
 | 
						|
- Interactive notebooks
 | 
						|
 | 
						|
## Documentation Standards
 | 
						|
 | 
						|
### Python Docstrings
 | 
						|
1. Use Google style docstrings
 | 
						|
2. Include type hints
 | 
						|
3. Link to relevant documentation
 | 
						|
4. Provide usage examples
 | 
						|
 | 
						|
### Markdown Files
 | 
						|
1. Clear headings hierarchy
 | 
						|
2. Consistent formatting
 | 
						|
3. Proper linking
 | 
						|
4. Code examples
 | 
						|
 | 
						|
### YAML Frontmatter
 | 
						|
```yaml
 | 
						|
---
 | 
						|
title: Package Documentation
 | 
						|
category: guide
 | 
						|
status: stable
 | 
						|
related:
 | 
						|
  - [[docstring_guide]]
 | 
						|
  - [[api_reference]]
 | 
						|
tags:
 | 
						|
  - documentation
 | 
						|
  - standards
 | 
						|
---
 | 
						|
```
 | 
						|
 | 
						|
## Integration Patterns
 | 
						|
 | 
						|
### Code-to-Doc Links
 | 
						|
```python
 | 
						|
# Implementation of algorithm described in [[algorithm_spec]]
 | 
						|
class BeliefUpdater:
 | 
						|
    pass
 | 
						|
```
 | 
						|
 | 
						|
### Doc-to-Code Links
 | 
						|
```markdown
 | 
						|
See implementation in `src/models/belief_update.py`:
 | 
						|
[[belief_update_impl#update_method]]
 | 
						|
```
 | 
						|
 | 
						|
### Test Documentation
 | 
						|
```python
 | 
						|
def test_belief_update():
 | 
						|
    """Test case described in [[belief_update_tests]]"""
 | 
						|
    pass
 | 
						|
```
 | 
						|
 | 
						|
## Maintenance
 | 
						|
 | 
						|
### Documentation Updates
 | 
						|
1. Keep in sync with code
 | 
						|
2. Update related documents
 | 
						|
3. Maintain version consistency
 | 
						|
4. Review broken links
 | 
						|
 | 
						|
### Version Control
 | 
						|
1. Document version dependencies
 | 
						|
2. Track breaking changes
 | 
						|
3. Maintain changelog
 | 
						|
4. Update migration guides
 | 
						|
 | 
						|
## Tools and Automation
 | 
						|
 | 
						|
### Documentation Generation
 | 
						|
- Use sphinx for API docs
 | 
						|
- Auto-generate from docstrings
 | 
						|
- Maintain cross-references
 | 
						|
- Update graphs
 | 
						|
 | 
						|
### Quality Checks
 | 
						|
- Link validation
 | 
						|
- Style consistency
 | 
						|
- Coverage metrics
 | 
						|
- Reference integrity
 | 
						|
 | 
						|
## Best Practices
 | 
						|
 | 
						|
### Writing Style
 | 
						|
1. Clear and concise
 | 
						|
2. Consistent terminology
 | 
						|
3. Proper citations
 | 
						|
4. Progressive disclosure
 | 
						|
 | 
						|
### Organization
 | 
						|
1. Logical grouping
 | 
						|
2. Clear navigation
 | 
						|
3. Proper linking
 | 
						|
4. Version management
 | 
						|
 | 
						|
### Code Examples
 | 
						|
1. Runnable snippets
 | 
						|
2. Clear context
 | 
						|
3. Error handling
 | 
						|
4. Best practices
 | 
						|
 | 
						|
## Related Guides
 | 
						|
- [[api_documentation]]
 | 
						|
- [[docstring_standards]]
 | 
						|
- [[example_writing]]
 | 
						|
- [[documentation_workflow]]
 | 
						|
 | 
						|
## References
 | 
						|
- [[python_documentation]]
 | 
						|
- [[sphinx_usage]]
 | 
						|
- [[obsidian_integration]]
 | 
						|
- [[documentation_tools]]  |