Skip to content

Commit 12ee00f

Browse files
emcdGemini
andcommitted
Integrate Openspec specifications and designs into Sphinx documentation.
Sphinx Configuration: - Add exclude_patterns for Openspec workflow files (AGENTS.md, project.md, changes/**) in conf.py.jinja. New Documentation Structure: - Create documentation/specifications/index.rst for capability specifications. - Update documentation/architecture/designs/index.rst to include design.md files via glob. Documentation Organization: - Reference capability specifications instead of PRD in contribution.rst.jinja. - Add design documents reference in contribution.rst.jinja. - Update Resources toctree to include specifications/index instead of prd. Co-Authored-By: Gemini <noreply@google.com>
1 parent c43a95f commit 12ee00f

4 files changed

Lines changed: 49 additions & 12 deletions

File tree

template/documentation/architecture/designs/index.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@
2121
Designs
2222
*******************************************************************************
2323

24+
This section contains technical design specifications for capabilities.
25+
Each design documents Python-specific architecture, interface contracts, module organization, and implementation patterns.
26+
2427
.. toctree::
2528
:maxdepth: 2
29+
:glob:
2630

27-
28-
.. todo:: Add design documents to toctree.
31+
../openspec/specs/*/design

template/documentation/conf.py.jinja

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,12 @@ extensions = [
5656

5757
templates_path = [ '_templates' ]
5858

59-
exclude_patterns = [ ]
59+
exclude_patterns = [
60+
# Openspec workflow/meta files (not documentation)
61+
'architecture/openspec/AGENTS.md',
62+
'architecture/openspec/project.md',
63+
'architecture/openspec/changes/**',
64+
]
6065

6166
rst_prolog = f'''
6267
.. |project| replace:: {project}

template/documentation/contribution.rst.jinja

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,10 @@ Development
4949
Architecture
5050
-------------------------------------------------------------------------------
5151

52-
* The :doc:`Product Requirements Document <prd>` is a good starting point to
53-
understand the motivations and rationale for the project. This should be
54-
reviewed and updated, as necessary, when making changes that affect product
55-
functionality or user experience. See the `requirements documentation guide
56-
<https://emcd.github.io/python-project-common/stable/sphinx-html/common/requirements.html>`_
57-
for PRD format and best practices.
52+
* The :doc:`capability specifications <specifications/index>` provide a good
53+
starting point to understand the requirements and motivations for the project.
54+
These should be reviewed and updated through the Openspec workflow when making
55+
changes that affect product functionality or user experience.
5856

5957
* The :doc:`system architecture overview <architecture/summary>` should be
6058
reviewed to understand the structure and operational patterns of the project.
@@ -66,8 +64,9 @@ Architecture
6664
<https://emcd.github.io/python-project-common/stable/sphinx-html/common/architecture.html>`_
6765
for ADR format and best practices.
6866

69-
* Document interface specifications, schemas, and algorithms in the
70-
``architecture/designs/`` directory to guide implementation efforts.
67+
* Document technical design specifications for Python interfaces, module
68+
organization, and implementation patterns in :doc:`design documents
69+
<architecture/designs/index>` to guide implementation efforts.
7170

7271
Guidance and Standards
7372
-------------------------------------------------------------------------------
@@ -129,6 +128,6 @@ Resources
129128
.. toctree::
130129
:maxdepth: 2
131130

132-
prd
131+
specifications/index
133132
architecture/index
134133
devapi
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
.. vim: set fileencoding=utf-8:
2+
.. -*- coding: utf-8 -*-
3+
.. +--------------------------------------------------------------------------+
4+
| |
5+
| Licensed under the Apache License, Version 2.0 (the "License"); |
6+
| you may not use this file except in compliance with the License. |
7+
| You may obtain a copy of the License at |
8+
| |
9+
| http://www.apache.org/licenses/LICENSE-2.0 |
10+
| |
11+
| Unless required by applicable law or agreed to in writing, software |
12+
| distributed under the License is distributed on an "AS IS" BASIS, |
13+
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
14+
| implied. See the License for the specific language governing |
15+
| permissions and limitations under the License. |
16+
| |
17+
+--------------------------------------------------------------------------+
18+
19+
*******************************************************************************
20+
Specifications
21+
*******************************************************************************
22+
23+
This section contains capability specifications managed through the Openspec workflow.
24+
Each specification documents requirements using scenario-based format (WHEN/THEN).
25+
26+
.. toctree::
27+
:maxdepth: 2
28+
:glob:
29+
30+
../architecture/openspec/specs/*/spec

0 commit comments

Comments
 (0)