@fractary/core 0.7.24 → 0.7.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/type-registry.d.ts.map +1 -1
- package/dist/docs/type-registry.js +4 -5
- package/dist/docs/type-registry.js.map +1 -1
- package/dist/logs/type-registry.d.ts.map +1 -1
- package/dist/logs/type-registry.js +4 -5
- package/dist/logs/type-registry.js.map +1 -1
- package/dist/work/providers/github.d.ts.map +1 -1
- package/dist/work/providers/github.js +10 -2
- package/dist/work/providers/github.js.map +1 -1
- package/package.json +4 -2
- package/templates/docs/adr/standards.md +29 -0
- package/templates/docs/adr/template.md +48 -0
- package/templates/docs/adr/type.yaml +74 -0
- package/templates/docs/api/standards.md +16 -0
- package/templates/docs/api/template.md +62 -0
- package/templates/docs/api/type.yaml +63 -0
- package/templates/docs/architecture/standards.md +15 -0
- package/templates/docs/architecture/template.md +58 -0
- package/templates/docs/architecture/type.yaml +63 -0
- package/templates/docs/audit/standards.md +15 -0
- package/templates/docs/audit/template.md +52 -0
- package/templates/docs/audit/type.yaml +61 -0
- package/templates/docs/changelog/standards.md +15 -0
- package/templates/docs/changelog/template.md +53 -0
- package/templates/docs/changelog/type.yaml +45 -0
- package/templates/docs/dataset/standards.md +15 -0
- package/templates/docs/dataset/template.md +65 -0
- package/templates/docs/dataset/type.yaml +63 -0
- package/templates/docs/etl/standards.md +15 -0
- package/templates/docs/etl/template.md +77 -0
- package/templates/docs/etl/type.yaml +66 -0
- package/templates/docs/guides/standards.md +16 -0
- package/templates/docs/guides/template.md +58 -0
- package/templates/docs/guides/type.yaml +61 -0
- package/templates/docs/infrastructure/standards.md +15 -0
- package/templates/docs/infrastructure/template.md +90 -0
- package/templates/docs/infrastructure/type.yaml +66 -0
- package/templates/docs/manifest.yaml +114 -0
- package/templates/docs/spec-api/standards.md +53 -0
- package/templates/docs/spec-api/template.md +96 -0
- package/templates/docs/spec-api/type.yaml +102 -0
- package/templates/docs/spec-basic/standards.md +24 -0
- package/templates/docs/spec-basic/template.md +51 -0
- package/templates/docs/spec-basic/type.yaml +92 -0
- package/templates/docs/spec-bug/standards.md +46 -0
- package/templates/docs/spec-bug/template.md +66 -0
- package/templates/docs/spec-bug/type.yaml +96 -0
- package/templates/docs/spec-feature/standards.md +53 -0
- package/templates/docs/spec-feature/template.md +105 -0
- package/templates/docs/spec-feature/type.yaml +106 -0
- package/templates/docs/spec-infrastructure/standards.md +58 -0
- package/templates/docs/spec-infrastructure/template.md +71 -0
- package/templates/docs/spec-infrastructure/type.yaml +102 -0
- package/templates/docs/standards/standards.md +15 -0
- package/templates/docs/standards/template.md +54 -0
- package/templates/docs/standards/type.yaml +61 -0
- package/templates/docs/testing/standards.md +15 -0
- package/templates/docs/testing/template.md +87 -0
- package/templates/docs/testing/type.yaml +65 -0
- package/templates/logs/audit/standards.md +33 -0
- package/templates/logs/audit/template.md +65 -0
- package/templates/logs/audit/type.yaml +85 -0
- package/templates/logs/build/standards.md +32 -0
- package/templates/logs/build/template.md +78 -0
- package/templates/logs/build/type.yaml +71 -0
- package/templates/logs/changelog/standards.md +34 -0
- package/templates/logs/changelog/template.md +71 -0
- package/templates/logs/changelog/type.yaml +70 -0
- package/templates/logs/debug/standards.md +33 -0
- package/templates/logs/debug/template.md +63 -0
- package/templates/logs/debug/type.yaml +77 -0
- package/templates/logs/deployment/standards.md +34 -0
- package/templates/logs/deployment/template.md +64 -0
- package/templates/logs/deployment/type.yaml +76 -0
- package/templates/logs/manifest.yaml +70 -0
- package/templates/logs/operational/standards.md +34 -0
- package/templates/logs/operational/template.md +71 -0
- package/templates/logs/operational/type.yaml +87 -0
- package/templates/logs/session/standards.md +34 -0
- package/templates/logs/session/template.md +81 -0
- package/templates/logs/session/type.yaml +69 -0
- package/templates/logs/test/standards.md +34 -0
- package/templates/logs/test/template.md +83 -0
- package/templates/logs/test/type.yaml +75 -0
- package/templates/logs/workflow/standards.md +35 -0
- package/templates/logs/workflow/template.md +95 -0
- package/templates/logs/workflow/type.yaml +91 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# {{title}}
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
{{#prerequisites}}
|
|
10
|
+
- {{.}}
|
|
11
|
+
{{/prerequisites}}
|
|
12
|
+
|
|
13
|
+
## Steps
|
|
14
|
+
|
|
15
|
+
{{#steps}}
|
|
16
|
+
### Step {{number}}: {{title}}
|
|
17
|
+
|
|
18
|
+
{{description}}
|
|
19
|
+
|
|
20
|
+
{{#code}}
|
|
21
|
+
```{{language}}
|
|
22
|
+
{{code}}
|
|
23
|
+
```
|
|
24
|
+
{{/code}}
|
|
25
|
+
|
|
26
|
+
{{#note}}
|
|
27
|
+
> **Note:** {{note}}
|
|
28
|
+
{{/note}}
|
|
29
|
+
|
|
30
|
+
{{#warning}}
|
|
31
|
+
> **Warning:** {{warning}}
|
|
32
|
+
{{/warning}}
|
|
33
|
+
|
|
34
|
+
{{/steps}}
|
|
35
|
+
|
|
36
|
+
## Verification
|
|
37
|
+
|
|
38
|
+
{{verification}}
|
|
39
|
+
|
|
40
|
+
## Troubleshooting
|
|
41
|
+
|
|
42
|
+
{{#troubleshooting}}
|
|
43
|
+
### {{problem}}
|
|
44
|
+
|
|
45
|
+
**Solution:** {{solution}}
|
|
46
|
+
{{/troubleshooting}}
|
|
47
|
+
|
|
48
|
+
## Next Steps
|
|
49
|
+
|
|
50
|
+
{{#next_steps}}
|
|
51
|
+
- [{{title}}]({{path}})
|
|
52
|
+
{{/next_steps}}
|
|
53
|
+
|
|
54
|
+
## Related Guides
|
|
55
|
+
|
|
56
|
+
{{#related}}
|
|
57
|
+
- [{{title}}]({{path}})
|
|
58
|
+
{{/related}}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# How-to Guide Type Definition
|
|
2
|
+
|
|
3
|
+
id: guides
|
|
4
|
+
display_name: How-to Guide
|
|
5
|
+
description: Step-by-step tutorials and how-to guides
|
|
6
|
+
|
|
7
|
+
output_path: docs/guides
|
|
8
|
+
|
|
9
|
+
file_naming:
|
|
10
|
+
pattern: "GUIDE-{slug}.md"
|
|
11
|
+
slug_source: title
|
|
12
|
+
slug_max_length: 50
|
|
13
|
+
|
|
14
|
+
frontmatter:
|
|
15
|
+
required_fields:
|
|
16
|
+
- title
|
|
17
|
+
- type
|
|
18
|
+
- date
|
|
19
|
+
optional_fields:
|
|
20
|
+
- author
|
|
21
|
+
- difficulty
|
|
22
|
+
- time_required
|
|
23
|
+
- tags
|
|
24
|
+
- related
|
|
25
|
+
- prerequisites
|
|
26
|
+
defaults:
|
|
27
|
+
type: guides
|
|
28
|
+
difficulty: intermediate
|
|
29
|
+
|
|
30
|
+
structure:
|
|
31
|
+
required_sections:
|
|
32
|
+
- Overview
|
|
33
|
+
- Prerequisites
|
|
34
|
+
- Steps
|
|
35
|
+
optional_sections:
|
|
36
|
+
- Verification
|
|
37
|
+
- Troubleshooting
|
|
38
|
+
- Next Steps
|
|
39
|
+
- Related Guides
|
|
40
|
+
section_order:
|
|
41
|
+
- Overview
|
|
42
|
+
- Prerequisites
|
|
43
|
+
- Steps
|
|
44
|
+
- Verification
|
|
45
|
+
- Troubleshooting
|
|
46
|
+
- Next Steps
|
|
47
|
+
- Related Guides
|
|
48
|
+
|
|
49
|
+
status:
|
|
50
|
+
allowed_values:
|
|
51
|
+
- draft
|
|
52
|
+
- review
|
|
53
|
+
- published
|
|
54
|
+
- outdated
|
|
55
|
+
default: draft
|
|
56
|
+
|
|
57
|
+
index_config:
|
|
58
|
+
index_file: docs/guides/README.md
|
|
59
|
+
sort_by: title
|
|
60
|
+
sort_order: asc
|
|
61
|
+
entry_template: "- [{{title}}]({{relative_path}}) - {{difficulty}}"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Infrastructure Documentation Standards
|
|
2
|
+
|
|
3
|
+
## Required Conventions
|
|
4
|
+
|
|
5
|
+
- ALWAYS document all resources
|
|
6
|
+
- ALWAYS include deployment procedures
|
|
7
|
+
- ALWAYS document security configuration
|
|
8
|
+
- ALWAYS include runbook operations
|
|
9
|
+
|
|
10
|
+
## Best Practices
|
|
11
|
+
|
|
12
|
+
- Include architecture diagrams
|
|
13
|
+
- Document monitoring and alerts
|
|
14
|
+
- Maintain runbooks for common operations
|
|
15
|
+
- Document incident response procedures
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# {{title}}
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## Architecture
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
{{diagram}}
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Resources
|
|
14
|
+
|
|
15
|
+
{{#resources}}
|
|
16
|
+
### {{name}}
|
|
17
|
+
|
|
18
|
+
- **Type:** {{type}}
|
|
19
|
+
- **Provider:** {{provider}}
|
|
20
|
+
- **Region:** {{region}}
|
|
21
|
+
- **Configuration:** {{configuration}}
|
|
22
|
+
{{/resources}}
|
|
23
|
+
|
|
24
|
+
## Networking
|
|
25
|
+
|
|
26
|
+
{{networking}}
|
|
27
|
+
|
|
28
|
+
## Security
|
|
29
|
+
|
|
30
|
+
### Access Control
|
|
31
|
+
|
|
32
|
+
{{access_control}}
|
|
33
|
+
|
|
34
|
+
### Secrets Management
|
|
35
|
+
|
|
36
|
+
{{secrets_management}}
|
|
37
|
+
|
|
38
|
+
## Deployment
|
|
39
|
+
|
|
40
|
+
### Prerequisites
|
|
41
|
+
|
|
42
|
+
{{#deployment_prerequisites}}
|
|
43
|
+
- {{.}}
|
|
44
|
+
{{/deployment_prerequisites}}
|
|
45
|
+
|
|
46
|
+
### Process
|
|
47
|
+
|
|
48
|
+
{{deployment_process}}
|
|
49
|
+
|
|
50
|
+
### Rollback
|
|
51
|
+
|
|
52
|
+
{{rollback}}
|
|
53
|
+
|
|
54
|
+
## Monitoring
|
|
55
|
+
|
|
56
|
+
### Health Checks
|
|
57
|
+
|
|
58
|
+
{{#health_checks}}
|
|
59
|
+
- **{{name}}**: {{endpoint}} ({{interval}})
|
|
60
|
+
{{/health_checks}}
|
|
61
|
+
|
|
62
|
+
### Alerts
|
|
63
|
+
|
|
64
|
+
{{#alerts}}
|
|
65
|
+
- **{{name}}**: {{condition}} → {{action}}
|
|
66
|
+
{{/alerts}}
|
|
67
|
+
|
|
68
|
+
## Runbook
|
|
69
|
+
|
|
70
|
+
### Common Operations
|
|
71
|
+
|
|
72
|
+
{{#operations}}
|
|
73
|
+
#### {{name}}
|
|
74
|
+
|
|
75
|
+
{{description}}
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
{{command}}
|
|
79
|
+
```
|
|
80
|
+
{{/operations}}
|
|
81
|
+
|
|
82
|
+
### Incident Response
|
|
83
|
+
|
|
84
|
+
{{incident_response}}
|
|
85
|
+
|
|
86
|
+
## Related
|
|
87
|
+
|
|
88
|
+
{{#related}}
|
|
89
|
+
- [{{title}}]({{path}})
|
|
90
|
+
{{/related}}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Infrastructure Documentation Type Definition
|
|
2
|
+
|
|
3
|
+
id: infrastructure
|
|
4
|
+
display_name: Infrastructure Documentation
|
|
5
|
+
description: Infrastructure, deployment, and operations documentation
|
|
6
|
+
|
|
7
|
+
output_path: docs/infrastructure
|
|
8
|
+
|
|
9
|
+
file_naming:
|
|
10
|
+
pattern: "INFRA-{slug}.md"
|
|
11
|
+
slug_source: title
|
|
12
|
+
slug_max_length: 50
|
|
13
|
+
|
|
14
|
+
frontmatter:
|
|
15
|
+
required_fields:
|
|
16
|
+
- title
|
|
17
|
+
- type
|
|
18
|
+
- status
|
|
19
|
+
- date
|
|
20
|
+
optional_fields:
|
|
21
|
+
- owner
|
|
22
|
+
- environment
|
|
23
|
+
- tags
|
|
24
|
+
- related
|
|
25
|
+
- provider
|
|
26
|
+
defaults:
|
|
27
|
+
type: infrastructure
|
|
28
|
+
status: draft
|
|
29
|
+
|
|
30
|
+
structure:
|
|
31
|
+
required_sections:
|
|
32
|
+
- Overview
|
|
33
|
+
- Resources
|
|
34
|
+
- Deployment
|
|
35
|
+
optional_sections:
|
|
36
|
+
- Architecture
|
|
37
|
+
- Networking
|
|
38
|
+
- Security
|
|
39
|
+
- Monitoring
|
|
40
|
+
- Runbook
|
|
41
|
+
- Related
|
|
42
|
+
section_order:
|
|
43
|
+
- Overview
|
|
44
|
+
- Architecture
|
|
45
|
+
- Resources
|
|
46
|
+
- Networking
|
|
47
|
+
- Security
|
|
48
|
+
- Deployment
|
|
49
|
+
- Monitoring
|
|
50
|
+
- Runbook
|
|
51
|
+
- Related
|
|
52
|
+
|
|
53
|
+
status:
|
|
54
|
+
allowed_values:
|
|
55
|
+
- draft
|
|
56
|
+
- review
|
|
57
|
+
- approved
|
|
58
|
+
- production
|
|
59
|
+
- deprecated
|
|
60
|
+
default: draft
|
|
61
|
+
|
|
62
|
+
index_config:
|
|
63
|
+
index_file: docs/infrastructure/README.md
|
|
64
|
+
sort_by: title
|
|
65
|
+
sort_order: asc
|
|
66
|
+
entry_template: "- [{{title}}]({{relative_path}}) - {{environment}} ({{status}})"
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Core Doc Types Manifest
|
|
2
|
+
#
|
|
3
|
+
# This manifest lists all core document types available in Fractary.
|
|
4
|
+
# The format matches .fractary/config.yaml's docs.custom_types section,
|
|
5
|
+
# so users can extend with their own types using the same structure.
|
|
6
|
+
#
|
|
7
|
+
# Each type is a directory containing:
|
|
8
|
+
# - type.yaml : Type definition (schema, frontmatter rules, file naming)
|
|
9
|
+
# - template.md : Mustache template for document generation
|
|
10
|
+
# - standards.md : Standards and conventions for this type
|
|
11
|
+
# - examples/ : (optional) Example documents
|
|
12
|
+
|
|
13
|
+
version: "1.0"
|
|
14
|
+
|
|
15
|
+
# Base URL for raw file access (used by remote tools/SDKs)
|
|
16
|
+
base_url: https://raw.githubusercontent.com/fractary/core/main/templates/docs
|
|
17
|
+
|
|
18
|
+
doc_types:
|
|
19
|
+
- id: adr
|
|
20
|
+
display_name: Architecture Decision Record
|
|
21
|
+
description: Documents significant architectural decisions, their context, and consequences
|
|
22
|
+
path: ./adr
|
|
23
|
+
url: ${base_url}/adr/type.yaml
|
|
24
|
+
|
|
25
|
+
- id: api
|
|
26
|
+
display_name: API Documentation
|
|
27
|
+
description: API reference documentation with endpoint specifications
|
|
28
|
+
path: ./api
|
|
29
|
+
url: ${base_url}/api/type.yaml
|
|
30
|
+
|
|
31
|
+
- id: architecture
|
|
32
|
+
display_name: Architecture Documentation
|
|
33
|
+
description: System architecture documentation with diagrams and component descriptions
|
|
34
|
+
path: ./architecture
|
|
35
|
+
url: ${base_url}/architecture/type.yaml
|
|
36
|
+
|
|
37
|
+
- id: audit
|
|
38
|
+
display_name: Audit Report
|
|
39
|
+
description: Security audits, compliance checks, and assessment reports
|
|
40
|
+
path: ./audit
|
|
41
|
+
url: ${base_url}/audit/type.yaml
|
|
42
|
+
|
|
43
|
+
- id: changelog
|
|
44
|
+
display_name: Changelog
|
|
45
|
+
description: Version history and release notes documentation
|
|
46
|
+
path: ./changelog
|
|
47
|
+
url: ${base_url}/changelog/type.yaml
|
|
48
|
+
|
|
49
|
+
- id: dataset
|
|
50
|
+
display_name: Dataset Documentation
|
|
51
|
+
description: Data schema and dataset documentation
|
|
52
|
+
path: ./dataset
|
|
53
|
+
url: ${base_url}/dataset/type.yaml
|
|
54
|
+
|
|
55
|
+
- id: etl
|
|
56
|
+
display_name: ETL Pipeline Documentation
|
|
57
|
+
description: ETL and data pipeline documentation
|
|
58
|
+
path: ./etl
|
|
59
|
+
url: ${base_url}/etl/type.yaml
|
|
60
|
+
|
|
61
|
+
- id: guides
|
|
62
|
+
display_name: How-To Guide
|
|
63
|
+
description: Step-by-step guides and tutorials
|
|
64
|
+
path: ./guides
|
|
65
|
+
url: ${base_url}/guides/type.yaml
|
|
66
|
+
|
|
67
|
+
- id: infrastructure
|
|
68
|
+
display_name: Infrastructure Documentation
|
|
69
|
+
description: Infrastructure, deployment, and operations documentation
|
|
70
|
+
path: ./infrastructure
|
|
71
|
+
url: ${base_url}/infrastructure/type.yaml
|
|
72
|
+
|
|
73
|
+
- id: standards
|
|
74
|
+
display_name: Standards & Conventions
|
|
75
|
+
description: Coding standards, style guides, and team conventions
|
|
76
|
+
path: ./standards
|
|
77
|
+
url: ${base_url}/standards/type.yaml
|
|
78
|
+
|
|
79
|
+
- id: testing
|
|
80
|
+
display_name: Testing Documentation
|
|
81
|
+
description: Test plans, test results, and QA documentation
|
|
82
|
+
path: ./testing
|
|
83
|
+
url: ${base_url}/testing/type.yaml
|
|
84
|
+
|
|
85
|
+
# Specification types (formerly in the spec plugin)
|
|
86
|
+
- id: spec-basic
|
|
87
|
+
display_name: Basic Specification
|
|
88
|
+
description: Minimal specification for simple tasks and quick changes
|
|
89
|
+
path: ./spec-basic
|
|
90
|
+
url: ${base_url}/spec-basic/type.yaml
|
|
91
|
+
|
|
92
|
+
- id: spec-feature
|
|
93
|
+
display_name: Feature Specification
|
|
94
|
+
description: Comprehensive specification for new feature development
|
|
95
|
+
path: ./spec-feature
|
|
96
|
+
url: ${base_url}/spec-feature/type.yaml
|
|
97
|
+
|
|
98
|
+
- id: spec-bug
|
|
99
|
+
display_name: Bug Fix Specification
|
|
100
|
+
description: Specification for bug investigation and fix
|
|
101
|
+
path: ./spec-bug
|
|
102
|
+
url: ${base_url}/spec-bug/type.yaml
|
|
103
|
+
|
|
104
|
+
- id: spec-api
|
|
105
|
+
display_name: API Specification
|
|
106
|
+
description: Specification for API design and implementation
|
|
107
|
+
path: ./spec-api
|
|
108
|
+
url: ${base_url}/spec-api/type.yaml
|
|
109
|
+
|
|
110
|
+
- id: spec-infrastructure
|
|
111
|
+
display_name: Infrastructure Specification
|
|
112
|
+
description: Specification for infrastructure and DevOps changes
|
|
113
|
+
path: ./spec-infrastructure
|
|
114
|
+
url: ${base_url}/spec-infrastructure/type.yaml
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# API Specification Standards
|
|
2
|
+
|
|
3
|
+
## Required Conventions
|
|
4
|
+
|
|
5
|
+
### 1. Overview
|
|
6
|
+
- ALWAYS describe the API's purpose and target consumers
|
|
7
|
+
- ALWAYS specify the base URL and API version
|
|
8
|
+
- Include any prerequisite knowledge or dependencies
|
|
9
|
+
|
|
10
|
+
### 2. Endpoints
|
|
11
|
+
- ALWAYS document each endpoint with method, path, and description
|
|
12
|
+
- ALWAYS include request parameters with types and required/optional status
|
|
13
|
+
- ALWAYS include request body and response body examples as JSON
|
|
14
|
+
- ALWAYS document all possible HTTP status codes per endpoint
|
|
15
|
+
|
|
16
|
+
### 3. Authentication
|
|
17
|
+
- ALWAYS specify the authentication mechanism (Bearer token, API key, OAuth, etc.)
|
|
18
|
+
- Document how to obtain credentials
|
|
19
|
+
- Include example headers
|
|
20
|
+
|
|
21
|
+
### 4. Error Handling
|
|
22
|
+
- ALWAYS document error response format
|
|
23
|
+
- ALWAYS include a table of all error codes with descriptions
|
|
24
|
+
- Include example error responses for common failure scenarios
|
|
25
|
+
|
|
26
|
+
### 5. Testing
|
|
27
|
+
- ALWAYS include test scenarios as checkable items
|
|
28
|
+
- Cover happy paths, error paths, and edge cases
|
|
29
|
+
- Include contract testing scenarios for API compatibility
|
|
30
|
+
|
|
31
|
+
## Optional Section Guidelines
|
|
32
|
+
|
|
33
|
+
### Rate Limiting
|
|
34
|
+
- Include for public-facing or multi-tenant APIs
|
|
35
|
+
- Document rate limit headers and behavior when exceeded
|
|
36
|
+
- Specify per-endpoint limits if they differ
|
|
37
|
+
|
|
38
|
+
### Versioning
|
|
39
|
+
- Include when introducing breaking changes
|
|
40
|
+
- Document the versioning strategy (URL path, header, query param)
|
|
41
|
+
- Describe deprecation timelines for old versions
|
|
42
|
+
|
|
43
|
+
### Data Models
|
|
44
|
+
- Include for complex or shared data structures
|
|
45
|
+
- Document field types, constraints, and relationships
|
|
46
|
+
- Include validation rules
|
|
47
|
+
|
|
48
|
+
## Best Practices
|
|
49
|
+
|
|
50
|
+
- Use consistent naming conventions (camelCase, snake_case) across all endpoints
|
|
51
|
+
- Document idempotency behavior for write operations
|
|
52
|
+
- Include pagination details for list endpoints
|
|
53
|
+
- Specify content types (application/json, multipart/form-data, etc.)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "{{title}}"
|
|
3
|
+
fractary_doc_type: spec-api
|
|
4
|
+
status: {{status}}
|
|
5
|
+
date: {{date}}
|
|
6
|
+
{{#work_id}}
|
|
7
|
+
work_id: "{{work_id}}"
|
|
8
|
+
{{/work_id}}
|
|
9
|
+
{{#work_type}}
|
|
10
|
+
work_type: {{work_type}}
|
|
11
|
+
{{/work_type}}
|
|
12
|
+
source: {{source}}
|
|
13
|
+
validation_status: not_validated
|
|
14
|
+
tags: []
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# {{title}}
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
{{overview}}
|
|
22
|
+
|
|
23
|
+
## Authentication
|
|
24
|
+
|
|
25
|
+
{{authentication}}
|
|
26
|
+
|
|
27
|
+
## Endpoints
|
|
28
|
+
|
|
29
|
+
{{#endpoints}}
|
|
30
|
+
### `{{method}} {{path}}`
|
|
31
|
+
|
|
32
|
+
**Description:** {{description}}
|
|
33
|
+
|
|
34
|
+
**Parameters:**
|
|
35
|
+
|
|
36
|
+
{{#parameters}}
|
|
37
|
+
- `{{name}}` ({{type}}, {{required}}): {{description}}
|
|
38
|
+
{{/parameters}}
|
|
39
|
+
|
|
40
|
+
**Request Body:**
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{{request_body}}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Response:**
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{{response_body}}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
{{/endpoints}}
|
|
53
|
+
|
|
54
|
+
{{#data_models}}
|
|
55
|
+
## Data Models
|
|
56
|
+
|
|
57
|
+
{{data_models}}
|
|
58
|
+
{{/data_models}}
|
|
59
|
+
|
|
60
|
+
## Error Handling
|
|
61
|
+
|
|
62
|
+
| Code | Message | Description |
|
|
63
|
+
|------|---------|-------------|
|
|
64
|
+
{{#errors}}
|
|
65
|
+
| {{code}} | {{message}} | {{description}} |
|
|
66
|
+
{{/errors}}
|
|
67
|
+
|
|
68
|
+
{{#rate_limiting}}
|
|
69
|
+
## Rate Limiting
|
|
70
|
+
|
|
71
|
+
{{rate_limiting}}
|
|
72
|
+
{{/rate_limiting}}
|
|
73
|
+
|
|
74
|
+
{{#versioning}}
|
|
75
|
+
## Versioning
|
|
76
|
+
|
|
77
|
+
{{versioning}}
|
|
78
|
+
{{/versioning}}
|
|
79
|
+
|
|
80
|
+
## Testing
|
|
81
|
+
|
|
82
|
+
{{#test_scenarios}}
|
|
83
|
+
- [ ] {{.}}
|
|
84
|
+
{{/test_scenarios}}
|
|
85
|
+
|
|
86
|
+
{{#security_considerations}}
|
|
87
|
+
## Security Considerations
|
|
88
|
+
|
|
89
|
+
{{security_considerations}}
|
|
90
|
+
{{/security_considerations}}
|
|
91
|
+
|
|
92
|
+
{{#migration_guide}}
|
|
93
|
+
## Migration Guide
|
|
94
|
+
|
|
95
|
+
{{migration_guide}}
|
|
96
|
+
{{/migration_guide}}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
id: spec-api
|
|
2
|
+
display_name: API Specification
|
|
3
|
+
description: Specification for API design and implementation
|
|
4
|
+
|
|
5
|
+
output_path: specs
|
|
6
|
+
|
|
7
|
+
file_naming:
|
|
8
|
+
pattern: "WORK-{work_id}-{slug}.md"
|
|
9
|
+
auto_number: false
|
|
10
|
+
slug_source: title
|
|
11
|
+
slug_max_length: 50
|
|
12
|
+
|
|
13
|
+
frontmatter:
|
|
14
|
+
required_fields:
|
|
15
|
+
- title
|
|
16
|
+
- fractary_doc_type
|
|
17
|
+
- status
|
|
18
|
+
- date
|
|
19
|
+
optional_fields:
|
|
20
|
+
- work_id
|
|
21
|
+
- work_type
|
|
22
|
+
- source
|
|
23
|
+
- validation_status
|
|
24
|
+
- tags
|
|
25
|
+
- author
|
|
26
|
+
- related
|
|
27
|
+
- changelog
|
|
28
|
+
defaults:
|
|
29
|
+
fractary_doc_type: spec-api
|
|
30
|
+
status: draft
|
|
31
|
+
source: conversation
|
|
32
|
+
validation_status: not_validated
|
|
33
|
+
|
|
34
|
+
structure:
|
|
35
|
+
required_sections:
|
|
36
|
+
- Overview
|
|
37
|
+
- Endpoints
|
|
38
|
+
- Authentication
|
|
39
|
+
- Error Handling
|
|
40
|
+
- Testing
|
|
41
|
+
optional_sections:
|
|
42
|
+
- Rate Limiting
|
|
43
|
+
- Versioning
|
|
44
|
+
- Data Models
|
|
45
|
+
- Migration Guide
|
|
46
|
+
- Security Considerations
|
|
47
|
+
- References
|
|
48
|
+
section_order:
|
|
49
|
+
- Overview
|
|
50
|
+
- Authentication
|
|
51
|
+
- Endpoints
|
|
52
|
+
- Data Models
|
|
53
|
+
- Error Handling
|
|
54
|
+
- Rate Limiting
|
|
55
|
+
- Versioning
|
|
56
|
+
- Testing
|
|
57
|
+
- Security Considerations
|
|
58
|
+
- Migration Guide
|
|
59
|
+
- References
|
|
60
|
+
|
|
61
|
+
status:
|
|
62
|
+
allowed_values:
|
|
63
|
+
- draft
|
|
64
|
+
- review
|
|
65
|
+
- approved
|
|
66
|
+
- in-progress
|
|
67
|
+
- completed
|
|
68
|
+
- archived
|
|
69
|
+
default: draft
|
|
70
|
+
|
|
71
|
+
index_config:
|
|
72
|
+
index_file: specs/README.md
|
|
73
|
+
sort_by: date
|
|
74
|
+
sort_order: desc
|
|
75
|
+
entry_template: "- [**{{work_id}}**: {{title}}]({{relative_path}}) — {{status}}"
|
|
76
|
+
|
|
77
|
+
archive:
|
|
78
|
+
enabled: true
|
|
79
|
+
source: archive
|
|
80
|
+
trigger: on_status_change
|
|
81
|
+
trigger_statuses:
|
|
82
|
+
- archived
|
|
83
|
+
verify_checksum: true
|
|
84
|
+
delete_original: true
|
|
85
|
+
|
|
86
|
+
work_linking:
|
|
87
|
+
enabled: true
|
|
88
|
+
comment_on_create: true
|
|
89
|
+
comment_on_archive: true
|
|
90
|
+
require_closed_for_archive: true
|
|
91
|
+
|
|
92
|
+
refinement:
|
|
93
|
+
enabled: true
|
|
94
|
+
post_questions_to_work_item: true
|
|
95
|
+
maintain_changelog: true
|
|
96
|
+
|
|
97
|
+
fulfillment:
|
|
98
|
+
enabled: true
|
|
99
|
+
check_acceptance_criteria: true
|
|
100
|
+
check_files_modified: true
|
|
101
|
+
check_tests_added: true
|
|
102
|
+
check_docs_updated: true
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Basic Specification Standards
|
|
2
|
+
|
|
3
|
+
## Required Conventions
|
|
4
|
+
|
|
5
|
+
### 1. Objective
|
|
6
|
+
- ALWAYS provide a single clear statement of what needs to be accomplished
|
|
7
|
+
- Keep it concise — one to three sentences maximum
|
|
8
|
+
- NEVER leave the objective as a placeholder
|
|
9
|
+
|
|
10
|
+
### 2. Requirements
|
|
11
|
+
- ALWAYS write requirements as checkable items (- [ ] format)
|
|
12
|
+
- Keep the list short and focused (typically 2-5 items)
|
|
13
|
+
- Each requirement should be independently verifiable
|
|
14
|
+
|
|
15
|
+
### 3. Acceptance Criteria
|
|
16
|
+
- ALWAYS write acceptance criteria as verifiable checkboxes
|
|
17
|
+
- Criteria should directly map to requirements
|
|
18
|
+
- Include at least one criterion per requirement
|
|
19
|
+
|
|
20
|
+
## Best Practices
|
|
21
|
+
|
|
22
|
+
- Use the basic template for simple, well-understood tasks
|
|
23
|
+
- If you find yourself adding many optional sections, consider upgrading to spec-feature
|
|
24
|
+
- Keep the spec short — if it exceeds one page, the task may need a more detailed template
|