chore(release): 0.0.7
Squash-merge lib-standardisation: adopt repo standards across packaging, tooling, docs, and CI. - standardize pyproject.toml (canonical packaging, lint config, extras, GSDFC pydoclint) - add py.typed marker, modernize type hints and Google-style docstrings - nest generated docs under docs/lib and docs/mcp; add hand-written wiki - adopt standard Type A PyPI CI pipeline (tag==version guard + quality gate) - promote generated CHANGELOG.md; bump version to 0.0.7
This commit is contained in:
58
docs/wiki/03_conventions.md
Normal file
58
docs/wiki/03_conventions.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Conventions
|
||||
|
||||
---
|
||||
|
||||
## GSDFC docstrings
|
||||
|
||||
All documented source uses the Google-Styled Doc-Forge Convention (GSDFC):
|
||||
`Args:`, `Returns:`, `Raises:`, and `Attributes:` sections with properly typed
|
||||
signatures.
|
||||
|
||||
The authoritative GSDFC specification lives in the `docforge/__init__.py`
|
||||
package docstring, which is exported verbatim into
|
||||
`docs/mcp/modules/docforge.json`, so the MCP bundle is self-documenting.
|
||||
|
||||
Key rules:
|
||||
|
||||
1. Use parenthesized types in prose entries (`name (Type):`) that match the
|
||||
signature types.
|
||||
2. Use `# Summary`, `# Examples`, and `# Notes` sections at module level.
|
||||
3. Use `Args:`, `Returns:`, `Raises:`, `Yields:`, `Notes:`, and `Example:`
|
||||
sections at function and method level.
|
||||
4. Always update the matching `.pyi` stub alongside the `.py` implementation.
|
||||
5. Every distributable package ships a `py.typed` marker so type checkers
|
||||
consume the authored signatures instead of `Any`.
|
||||
|
||||
---
|
||||
|
||||
## `.pyi` stubs and `py.typed`
|
||||
|
||||
Every module ships a matching `.pyi` stub kept in sync with the `.py`
|
||||
implementation. When signatures change, update both files. Packages expose a
|
||||
`py.typed` marker so consumers and type checkers use the authored signatures.
|
||||
|
||||
---
|
||||
|
||||
## Wiki pages
|
||||
|
||||
1. Hand-written markdown lives in `docs/wiki/**` and is never generated.
|
||||
2. File names use a numeric prefix: `01_overview.md`, `02_components.md`.
|
||||
3. Nested directories become nested navigation groups:
|
||||
`05_development/01_environment.md` → group *Development*.
|
||||
4. `index.md` is the site `Home` at the root, and a section root inside a
|
||||
directory.
|
||||
5. Navigation labels are derived by stripping the numeric prefix and applying
|
||||
title case on the remaining words.
|
||||
|
||||
---
|
||||
|
||||
## Templates
|
||||
|
||||
MkDocs config fragments live in `docforge/templates`. The `mkdocs.wiki.yml`
|
||||
fragment carries only the `search` plugin, since wiki pages contain no
|
||||
mkdocstrings directives.
|
||||
|
||||
---
|
||||
|
||||
## Related
|
||||
- [02 – Components](02_components.md) · [04 – Iterative Workflow](04_iterative_workflow.md)
|
||||
Reference in New Issue
Block a user