@ipation/specbridge 0.2.1
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/CHANGELOG.md +173 -0
- package/LICENSE +21 -0
- package/README.md +251 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +3315 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +1802 -0
- package/dist/index.js +3059 -0
- package/dist/index.js.map +1 -0
- package/package.json +101 -0
- package/templates/decision.template.yaml +82 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# SpecBridge Decision Template
|
|
2
|
+
# Copy this file to .specbridge/decisions/<id>.decision.yaml
|
|
3
|
+
|
|
4
|
+
kind: Decision
|
|
5
|
+
|
|
6
|
+
metadata:
|
|
7
|
+
id: my-decision-001
|
|
8
|
+
title: "My Architectural Decision"
|
|
9
|
+
status: draft # draft | active | deprecated | superseded
|
|
10
|
+
owners:
|
|
11
|
+
- team-name
|
|
12
|
+
- "@username"
|
|
13
|
+
tags:
|
|
14
|
+
- category
|
|
15
|
+
- domain
|
|
16
|
+
# createdAt: will be set automatically
|
|
17
|
+
# updatedAt: will be set automatically
|
|
18
|
+
# supersededBy: reference to new decision if deprecated
|
|
19
|
+
|
|
20
|
+
decision:
|
|
21
|
+
summary: |
|
|
22
|
+
One-sentence summary of what this decision mandates.
|
|
23
|
+
|
|
24
|
+
rationale: |
|
|
25
|
+
Explain why this decision was made. What problem does it solve?
|
|
26
|
+
What alternatives were considered? Why was this approach chosen?
|
|
27
|
+
|
|
28
|
+
context: |
|
|
29
|
+
Optional background information. What was the situation that led
|
|
30
|
+
to this decision? Any relevant history or constraints?
|
|
31
|
+
|
|
32
|
+
consequences:
|
|
33
|
+
- Positive: Improved consistency across the codebase
|
|
34
|
+
- Positive: Easier onboarding for new developers
|
|
35
|
+
- Negative: May require refactoring existing code
|
|
36
|
+
- Trade-off: Slightly more verbose code but more explicit
|
|
37
|
+
|
|
38
|
+
constraints:
|
|
39
|
+
# Invariant: Never to be violated - blocks merges
|
|
40
|
+
- id: invariant-example
|
|
41
|
+
type: invariant
|
|
42
|
+
rule: "Critical security boundaries must not be crossed"
|
|
43
|
+
severity: critical
|
|
44
|
+
scope: "src/security/**/*.ts"
|
|
45
|
+
# verifier: security-boundaries # Optional: specific verifier to use
|
|
46
|
+
# autofix: false # Optional: whether auto-fix is available
|
|
47
|
+
|
|
48
|
+
# Convention: Must be respected unless justified
|
|
49
|
+
- id: convention-example
|
|
50
|
+
type: convention
|
|
51
|
+
rule: "All API responses must follow the standard response format"
|
|
52
|
+
severity: high
|
|
53
|
+
scope: "src/api/**/*.ts"
|
|
54
|
+
exceptions:
|
|
55
|
+
- pattern: "src/api/legacy/**"
|
|
56
|
+
reason: "Legacy endpoints being phased out"
|
|
57
|
+
approvedBy: "@tech-lead"
|
|
58
|
+
# expiresAt: "2024-12-31T00:00:00Z"
|
|
59
|
+
|
|
60
|
+
# Guideline: Recommended - informational only
|
|
61
|
+
- id: guideline-example
|
|
62
|
+
type: guideline
|
|
63
|
+
rule: "Prefer composition over inheritance"
|
|
64
|
+
severity: low
|
|
65
|
+
scope: "src/**/*.ts"
|
|
66
|
+
|
|
67
|
+
verification:
|
|
68
|
+
automated:
|
|
69
|
+
- check: api-response-format
|
|
70
|
+
target: "src/api/**/*.ts"
|
|
71
|
+
frequency: pr # commit | pr | daily | weekly
|
|
72
|
+
timeout: 30000
|
|
73
|
+
|
|
74
|
+
links:
|
|
75
|
+
related:
|
|
76
|
+
- other-decision-001
|
|
77
|
+
- architecture-002
|
|
78
|
+
supersedes:
|
|
79
|
+
- old-decision-001
|
|
80
|
+
references:
|
|
81
|
+
- https://example.com/architecture-docs
|
|
82
|
+
- https://example.com/related-rfc
|