Summary
Migrate the Monkey365 documentation site from Material for MkDocs to Zensical and use the migration as an opportunity to redesign and significantly expand the project documentation.
Material for MkDocs is now in maintenance mode, with development focused on Zensical. Although critical fixes and security updates will continue for a limited period, no new features are expected to be added to Material for MkDocs.
Motivation
The current documentation provides a good introduction to installing, configuring, and running Monkey365. However, many of the project's most powerful capabilities and internal concepts are not documented yet.
Migrating the documentation platform would be a good opportunity to:
- Redesign the documentation structure and navigation.
- Improve the contributor and authoring experience.
- Document Monkey365's architecture and internal workflows.
- Make advanced customisation and extension points easier to understand.
- Help users and contributors realise the full potential of Monkey365.
Proposed documentation areas
The redesigned documentation could include dedicated sections for the following topics.
Architecture and core internals
- High-level architecture.
- Execution lifecycle.
- Module and component responsibilities.
- Authentication and connection management.
- Internal data flow.
- Error handling, logging, retries, and throttling.
- Report generation pipeline.
Collectors
- Collector lifecycle.
- Collector structure and conventions.
- Supported data sources.
- How collectors are discovered and executed.
- Creating a custom collector.
- Collector configuration.
- Collector output contracts.
Collector helpers
- Available helper functions.
- Authentication and API request helpers.
- Pagination and retry helpers.
- Logging helpers.
- Error-handling conventions.
- Performance considerations.
- Examples of using helpers in custom collectors.
Data normalisation and aggregation
- Normalised object structure.
- Provider-specific transformations.
- Type and property conventions.
- How normalised and aggregated data is consumed by rules and reports.
Declarative rules
- Rule schema and supported properties.
- Rule metadata.
- Query and condition syntax.
- Evidence generation.
- Severity and classification.
- Creating and validating a custom rule.
- Complete rule examples.
Rule evaluation
- Rule discovery and loading.
- Evaluation lifecycle.
- How collected data is selected.
- Query execution.
- Pass and fail error states.
- Evidence construction.
- Debugging rule evaluation.
Rulesets
- Ruleset structure.
- Rule selection and grouping.
- Creating organisation-specific rulesets.
- Versioning and maintaining rulesets.
- Sharing reusable rulesets.
Contributor documentation
- Documentation development environment.
- Documentation style guide.
- Contribution workflow.
- Adding new pages and navigation entries.
- Link, formatting, and build validation.
References
Summary
Migrate the Monkey365 documentation site from Material for MkDocs to Zensical and use the migration as an opportunity to redesign and significantly expand the project documentation.
Material for MkDocs is now in maintenance mode, with development focused on Zensical. Although critical fixes and security updates will continue for a limited period, no new features are expected to be added to Material for MkDocs.
Motivation
The current documentation provides a good introduction to installing, configuring, and running Monkey365. However, many of the project's most powerful capabilities and internal concepts are not documented yet.
Migrating the documentation platform would be a good opportunity to:
Proposed documentation areas
The redesigned documentation could include dedicated sections for the following topics.
Architecture and core internals
Collectors
Collector helpers
Data normalisation and aggregation
Declarative rules
Rule evaluation
Rulesets
Contributor documentation
References