@precepts/standards 0.1.0

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.
Files changed (34) hide show
  1. package/LICENSE +30 -0
  2. package/README.md +115 -0
  3. package/package.json +40 -0
  4. package/schema/document-standard-template.md +139 -0
  5. package/schema/standards.schema.json +154 -0
  6. package/standards/integration/governance/_category_.json +1 -0
  7. package/standards/integration/governance/integration-styles.md +56 -0
  8. package/standards/integration/index.md +9 -0
  9. package/standards/integration/standards/_category_.json +1 -0
  10. package/standards/integration/standards/api/_category_.json +1 -0
  11. package/standards/integration/standards/api/error-handling.md +250 -0
  12. package/standards/integration/standards/api/resource-design.md +286 -0
  13. package/standards/integration/standards/data-formats/_category_.json +1 -0
  14. package/standards/integration/standards/data-formats/character-encoding.md +206 -0
  15. package/standards/integration/standards/data-formats/date-format.md +102 -0
  16. package/standards/integration/standards/data-formats/datetime-formats.md +265 -0
  17. package/standards/integration/standards/data-formats/monetary-format.md +61 -0
  18. package/standards/integration/standards/events/_category_.json +1 -0
  19. package/standards/integration/standards/events/event-envelope.md +270 -0
  20. package/standards/integration/standards/foundational/_category_.json +1 -0
  21. package/standards/integration/standards/foundational/naming-conventions.md +334 -0
  22. package/standards/integration/standards/observability/_category_.json +1 -0
  23. package/standards/integration/standards/observability/integration-observability.md +226 -0
  24. package/standards/integration/standards/resilience/_category_.json +1 -0
  25. package/standards/integration/standards/resilience/integration-resilience-patterns.md +291 -0
  26. package/standards/integration/standards/resilience/retry-policy.md +268 -0
  27. package/standards/integration/standards/resilience/timeout.md +269 -0
  28. package/standards/integration/standards/versioning/_category_.json +1 -0
  29. package/standards/integration/standards/versioning/backward-forward-compatibility.md +230 -0
  30. package/standards/product/Guidelines/_category_.json +1 -0
  31. package/standards/product/Guidelines/requirement-document.md +54 -0
  32. package/standards/product/index.md +9 -0
  33. package/standards/project-management/index.md +9 -0
  34. package/standards/ux/index.md +9 -0
package/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
2
+
3
+ Copyright (c) 2026 Precepts Contributors
4
+
5
+ This license applies to all standards content and schema files in this repository.
6
+
7
+ You are free to:
8
+
9
+ Share - copy and redistribute the material in any medium or format for
10
+ any purpose, including commercially.
11
+
12
+ Adapt - remix, transform, and build upon the material for any purpose,
13
+ including commercially.
14
+
15
+ Under the following terms:
16
+
17
+ Attribution - You must give appropriate credit, provide a link to the
18
+ license, and indicate if changes were made. You may do so in any
19
+ reasonable manner, but not in any way that suggests the licensor
20
+ endorses you or your use.
21
+
22
+ ShareAlike - If you remix, transform, or build upon the material, you
23
+ must distribute your contributions under the same license as the
24
+ original.
25
+
26
+ No additional restrictions - You may not apply legal terms or
27
+ technological measures that legally restrict others from doing anything
28
+ the license permits.
29
+
30
+ Full license text: https://creativecommons.org/licenses/by-sa/4.0/legalcode
package/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # Precepts Standards
2
+
3
+ Built for humans. Ready for agents.
4
+
5
+ The canonical source of multi-discipline standards for the [Precepts](https://precepts.dev) platform. Standards are published as machine-readable Markdown with YAML frontmatter, consumable by both humans and AI agents.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @precepts/standards
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ Standards are plain Markdown files with structured YAML frontmatter. Consume them however you need:
16
+
17
+ ```javascript
18
+ import { readFileSync } from 'fs';
19
+ import matter from 'gray-matter';
20
+
21
+ // Read a standard
22
+ const raw = readFileSync(
23
+ 'node_modules/@precepts/standards/standards/integration/standards/api/resource-design.md',
24
+ 'utf-8'
25
+ );
26
+ const { data, content } = matter(raw);
27
+
28
+ console.log(data.identifier); // "INTG-STD-008"
29
+ console.log(data.status); // "MANDATORY"
30
+ console.log(data.domain); // "INTEGRATION"
31
+ ```
32
+
33
+ ## Disciplines
34
+
35
+ | Discipline | Prefix | Directory |
36
+ |---|---|---|
37
+ | Integration | `INTG` | `standards/integration/` |
38
+ | Product Management | `PRD` | `standards/product/` |
39
+ | UX | `UX` | `standards/ux/` |
40
+ | Project Management | `PRJ` | `standards/project-management/` |
41
+
42
+ ## Integration Standards (Batch 1)
43
+
44
+ | Identifier | Name | Status |
45
+ |---|---|---|
46
+ | INTG-STD-004 | Naming Conventions | MANDATORY |
47
+ | INTG-STD-005 | Character Encoding | MANDATORY |
48
+ | INTG-STD-006 | Backward and Forward Compatibility | MANDATORY |
49
+ | INTG-STD-008 | API Resource Design | MANDATORY |
50
+ | INTG-STD-009 | API Error Handling | MANDATORY |
51
+ | INTG-STD-015 | Event Envelope (CloudEvents) | MANDATORY |
52
+ | INTG-STD-029 | Observability | MANDATORY |
53
+ | INTG-STD-033 | Resilience Patterns | MANDATORY |
54
+ | INTG-STD-034 | Retry Policy | MANDATORY |
55
+ | INTG-STD-035 | Timeout | MANDATORY |
56
+
57
+ ## Standards Schema
58
+
59
+ Each standard has YAML frontmatter validated against `schema/standards.schema.json`:
60
+
61
+ ```yaml
62
+ ---
63
+ identifier: INTG-STD-008
64
+ name: API Resource Design
65
+ version: 1.0.0
66
+ status: MANDATORY
67
+ domain: INTEGRATION
68
+ documentType: standard
69
+ category: protocol
70
+ ---
71
+ ```
72
+
73
+ **Required fields:** `identifier`, `name`, `version`, `status`, `domain`, `documentType`
74
+
75
+ **Identifier pattern:** `[INTG|PRD|PRJ|UX|SEC]-[STD|GDL|GOV|BP]-NNN`
76
+
77
+ **Status values:** `DRAFT`, `MANDATORY`, `RECOMMENDED`, `DEPRECATED`
78
+
79
+ ## Content Conventions
80
+
81
+ - `## Rules` for prescriptive instructions (not "Requirements")
82
+ - RFC 2119 keywords (**MUST**, **SHOULD**, **MAY**) bolded throughout
83
+ - Rule numbering: `### R-N: Title` as H3 headings
84
+ - Concept-level examples (pseudocode), not technology-specific
85
+ - 200-300 lines per standard
86
+
87
+ ## Validation
88
+
89
+ ```bash
90
+ npm run validate # check frontmatter + required sections
91
+ npm run validate:strict # warnings become errors
92
+ ```
93
+
94
+ ## Ecosystem
95
+
96
+ This package is consumed by:
97
+
98
+ - **[precepts-dev/platform](https://github.com/precepts-dev/platform)** - Docusaurus site, MCP server, validator
99
+ - **precepts-dev/engine** - Commercial compliance scanning engine (private)
100
+ - **Your tools** - build anything on top of these standards
101
+
102
+ ## Contributing
103
+
104
+ Standards proposals and revisions are welcome. Each standard follows the template in `schema/document-standard-template.md`.
105
+
106
+ 1. Fork this repo
107
+ 2. Create a new standard or modify an existing one
108
+ 3. Run `npm run validate` to check your changes
109
+ 4. Open a PR
110
+
111
+ ## License
112
+
113
+ CC BY-SA 4.0 - see [LICENSE](LICENSE) for details.
114
+
115
+ All standards are freely usable by individuals, companies, and AI tools, with attribution and share-alike.
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@precepts/standards",
3
+ "version": "0.1.0",
4
+ "description": "Multi-discipline standards for software teams - machine-readable, AI-native, human-friendly",
5
+ "license": "CC-BY-SA-4.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/precepts-dev/standards.git"
9
+ },
10
+ "homepage": "https://precepts.dev",
11
+ "keywords": [
12
+ "standards",
13
+ "integration",
14
+ "product-management",
15
+ "ux",
16
+ "project-management",
17
+ "ai-native",
18
+ "mcp",
19
+ "llm"
20
+ ],
21
+ "files": [
22
+ "standards/",
23
+ "schema/",
24
+ "LICENSE"
25
+ ],
26
+ "main": "standards/",
27
+ "exports": {
28
+ "./standards": "./standards/",
29
+ "./schema": "./schema/",
30
+ "./schema/standards.schema.json": "./schema/standards.schema.json"
31
+ },
32
+ "scripts": {
33
+ "validate": "npx tsx tools/validate.ts --docs-root ./standards",
34
+ "validate:strict": "npx tsx tools/validate.ts --docs-root ./standards --strict"
35
+ },
36
+ "devDependencies": {
37
+ "gray-matter": "^4.0.3",
38
+ "tsx": "^4.19.0"
39
+ }
40
+ }
@@ -0,0 +1,139 @@
1
+ ---
2
+ # ┌──────────────────────────────────────────────────────────────────┐
3
+ # │ PRECEPTS - Universal Standard/Guideline Template │
4
+ # │ │
5
+ # │ Instructions: │
6
+ # │ 1. Copy this file as a starting point for your new document │
7
+ # │ 2. Replace placeholder values (marked with <angle brackets>) │
8
+ # │ 3. Pick ONE value from pipe-delimited options (a | b | c) │
9
+ # │ 4. Delete inline comments once you've filled in the fields │
10
+ # │ 5. Include all REQUIRED body sections; omit optional ones │
11
+ # │ that don't apply to your domain │
12
+ # └──────────────────────────────────────────────────────────────────┘
13
+
14
+ # ── Identity (required) ──────────────────────────────────────────
15
+ identifier: "<PREFIX>-<TYPE>-<NNN>"
16
+ # Prefix: INTG | PRD | PRJ | UX | SEC
17
+ # Type: STD (standard) | GDL (guideline) | GOV (governance) | BP (best practice)
18
+ # Number: zero-padded 3-digit (e.g., 001)
19
+ # Examples: INTG-STD-001, UX-GDL-003, PRJ-GOV-001
20
+
21
+ name: "<Document Title>"
22
+ version: "1.0.0" # semver: patch = typo, minor = new fields/status change, major = breaking
23
+ status: "DRAFT" # DRAFT | MANDATORY | RECOMMENDED | DEPRECATED
24
+
25
+ # ── Classification (required) ────────────────────────────────────
26
+ domain: "<DOMAIN>"
27
+ # Pick one: INTEGRATION | PRODUCT-MANAGEMENT | PROJECT-MANAGEMENT | UX | SECURITY
28
+
29
+ documentType: "<TYPE>"
30
+ # Pick one: standard | guideline | governance | best-practice
31
+
32
+ category: "<CATEGORY>"
33
+ # Pick one or more (comma-separated in a list):
34
+ # Universal: governance, security, reliability, naming, versioning, observability
35
+ # Integration: format, protocol, data-modeling, error-handling
36
+ # Product: process, methodology, decision-framework
37
+ # PM: process, ceremony, methodology
38
+ # UX: accessibility, design-system, interaction, content
39
+
40
+ # ── Applicability (recommended) ──────────────────────────────────
41
+ appliesTo: []
42
+ # Domain-scoped values - pick from YOUR domain's vocabulary:
43
+ # Integration: api, events, a2a, files, mcp, webhooks, grpc, graphql, batch, streaming
44
+ # Product: prd, roadmap, user-story, okr, epic, spike
45
+ # PM: ceremony, estimation, risk, reporting, artifact, workflow
46
+ # UX: web, ios, android, design-tokens, component-library, content
47
+
48
+ # ── Ownership ────────────────────────────────────────────────────
49
+ lastUpdated: "YYYY-MM-DD"
50
+ owner: "<Governing Body>"
51
+ # Examples: Integration Architecture Board, Product Council, UX Design Authority
52
+
53
+ # ── Compliance References ────────────────────────────────────────
54
+ standardsCompliance:
55
+ iso: [] # e.g., ["ISO-8601", "ISO-9241"]
56
+ rfc: [] # e.g., ["RFC-3339", "RFC-9557"]
57
+ w3c: [] # e.g., ["WCAG-2.2", "WAI-ARIA-1.2"]
58
+ other: [] # e.g., ["PMBOK-7", "SAFe-6.0", "OWASP-Top-10"]
59
+
60
+ # ── Taxonomy ─────────────────────────────────────────────────────
61
+ taxonomy:
62
+ capability: "" # e.g., "data-format", "authentication", "estimation"
63
+ subCapability: "" # e.g., "date-time", "oauth2", "story-points"
64
+ layer: ""
65
+ # Domain-scoped values:
66
+ # Integration: contract | transport | semantic | infrastructure
67
+ # Product: strategy | process | artifact | metric
68
+ # PM: governance | ceremony | artifact | metric
69
+ # UX: visual | interaction | content | information-architecture
70
+
71
+ # ── Enforcement ──────────────────────────────────────────────────
72
+ enforcement:
73
+ method: ""
74
+ # Pick one: automated | review-based | stage-gate | hybrid
75
+ # For automated enforcement (primarily Integration):
76
+ validationRules: {}
77
+ rejectionCriteria: []
78
+ supportedFormats: []
79
+ authoritativeModel: ""
80
+ # For human-review enforcement (primarily PM/Product/UX):
81
+ reviewChecklist: []
82
+
83
+ # ── Relationships ────────────────────────────────────────────────
84
+ dependsOn: [] # Identifiers this document depends on, e.g., ["INTG-STD-001"]
85
+ supersedes: "" # Identifier this document replaces, e.g., "INTG-STD-001"
86
+
87
+ ---
88
+
89
+ # <Document Title>
90
+
91
+ <!-- The identifier, version, status, domain, and documentType are rendered
92
+ automatically from frontmatter as a metadata bar above the content.
93
+ Do NOT duplicate the identifier in the body. -->
94
+
95
+ ## Purpose
96
+
97
+ <!-- REQUIRED - All domains. Why does this standard/guideline exist? What problem does it solve? -->
98
+
99
+ ## Rules
100
+
101
+ <!-- REQUIRED - All domains. Use RFC 2119 language (MUST, SHOULD, MAY) to state prescriptive instructions about what is allowed or prohibited. -->
102
+
103
+ ## Examples
104
+
105
+ <!-- REQUIRED - All domains. Show concrete valid/invalid examples. Use code blocks, tables, or diagrams. -->
106
+
107
+ ## Allowed Representations
108
+
109
+ <!-- OPTIONAL - Primarily Integration. Define acceptable serialization formats, encodings, or structural variants. -->
110
+
111
+ ## Validation Rules
112
+
113
+ <!-- OPTIONAL - Primarily Integration, Security. Machine-checkable rules: regex patterns, schema constraints, linting rules. -->
114
+
115
+ ## Enforcement Rules
116
+
117
+ <!-- OPTIONAL - Primarily Integration, Security. What must be rejected? At what boundary? -->
118
+
119
+ ## Roles & Responsibilities
120
+
121
+ <!-- OPTIONAL - Primarily PM, Product. Define who does what (RACI or similar). -->
122
+
123
+ ## Accessibility
124
+
125
+ <!-- OPTIONAL - Primarily UX. WCAG criteria, ARIA requirements, assistive technology behavior. -->
126
+
127
+ ## References
128
+
129
+ <!-- REQUIRED - All domains. Links to external specifications, tools, and related resources. -->
130
+
131
+ ## Rationale
132
+
133
+ <!-- REQUIRED - All domains. Why were these specific choices made? What alternatives were considered? -->
134
+
135
+ ## Version History
136
+
137
+ | Version | Date | Change |
138
+ | ------- | ---------- | ------------------ |
139
+ | 1.0.0 | YYYY-MM-DD | Initial definition |
@@ -0,0 +1,154 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Precepts Standard Metadata",
4
+ "description": "Schema for validating frontmatter in Precepts standards, guidelines, and governance documents.",
5
+ "type": "object",
6
+ "required": [
7
+ "identifier",
8
+ "name",
9
+ "version",
10
+ "status",
11
+ "domain",
12
+ "documentType"
13
+ ],
14
+ "properties": {
15
+ "identifier": {
16
+ "type": "string",
17
+ "pattern": "^(INTG|PRD|PRJ|UX|SEC)-(STD|GDL|GOV|BP)-\\d{3}$",
18
+ "description": "Unique document identifier: <PREFIX>-<TYPE>-<NNN>"
19
+ },
20
+ "name": {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "description": "Human-readable document title"
24
+ },
25
+ "version": {
26
+ "type": "string",
27
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
28
+ "description": "Semantic version (major.minor.patch)"
29
+ },
30
+ "status": {
31
+ "type": "string",
32
+ "enum": ["DRAFT", "MANDATORY", "RECOMMENDED", "DEPRECATED"],
33
+ "description": "Lifecycle status of the document"
34
+ },
35
+ "domain": {
36
+ "type": "string",
37
+ "enum": ["INTEGRATION", "PRODUCT-MANAGEMENT", "PROJECT-MANAGEMENT", "UX", "SECURITY"],
38
+ "description": "Discipline this document belongs to"
39
+ },
40
+ "documentType": {
41
+ "type": "string",
42
+ "enum": ["standard", "guideline", "governance", "best-practice"],
43
+ "description": "Type of document - controls which body sections are required"
44
+ },
45
+ "category": {
46
+ "type": "string",
47
+ "description": "Primary category (e.g., format, process, accessibility, governance)"
48
+ },
49
+ "appliesTo": {
50
+ "type": "array",
51
+ "items": { "type": "string" },
52
+ "description": "Domain-scoped applicability targets (e.g., api, ceremony, web)"
53
+ },
54
+ "lastUpdated": {
55
+ "type": "string",
56
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
57
+ "description": "Last modification date (YYYY-MM-DD)"
58
+ },
59
+ "owner": {
60
+ "type": "string",
61
+ "description": "Governing body or team responsible for this document"
62
+ },
63
+ "standardsCompliance": {
64
+ "type": "object",
65
+ "properties": {
66
+ "iso": {
67
+ "type": "array",
68
+ "items": { "type": "string" }
69
+ },
70
+ "rfc": {
71
+ "type": "array",
72
+ "items": { "type": "string" }
73
+ },
74
+ "w3c": {
75
+ "type": "array",
76
+ "items": { "type": "string" }
77
+ },
78
+ "other": {
79
+ "type": "array",
80
+ "items": { "type": "string" }
81
+ }
82
+ },
83
+ "additionalProperties": false
84
+ },
85
+ "taxonomy": {
86
+ "type": "object",
87
+ "required": ["capability", "layer"],
88
+ "properties": {
89
+ "capability": {
90
+ "type": "string",
91
+ "description": "Primary capability area (e.g., data-format, authentication, estimation)"
92
+ },
93
+ "subCapability": {
94
+ "type": "string",
95
+ "description": "Sub-capability (e.g., date-time, oauth2, story-points)"
96
+ },
97
+ "layer": {
98
+ "type": "string",
99
+ "description": "Domain-scoped layer (e.g., contract, process, visual, governance)"
100
+ }
101
+ },
102
+ "additionalProperties": false
103
+ },
104
+ "enforcement": {
105
+ "type": "object",
106
+ "properties": {
107
+ "method": {
108
+ "type": "string",
109
+ "enum": ["automated", "review-based", "stage-gate", "hybrid"],
110
+ "description": "How compliance is verified"
111
+ },
112
+ "validationRules": {
113
+ "type": "object",
114
+ "description": "Machine-checkable validation rules (primarily for automated enforcement)"
115
+ },
116
+ "rejectionCriteria": {
117
+ "type": "array",
118
+ "items": { "type": "string" },
119
+ "description": "Conditions that cause rejection"
120
+ },
121
+ "supportedFormats": {
122
+ "type": "array",
123
+ "items": { "type": "string" },
124
+ "description": "Accepted format identifiers"
125
+ },
126
+ "authoritativeModel": {
127
+ "type": "string",
128
+ "description": "Canonical model or source of truth"
129
+ },
130
+ "reviewChecklist": {
131
+ "type": "array",
132
+ "items": { "type": "string" },
133
+ "description": "Human-review checklist items (primarily for review-based enforcement)"
134
+ }
135
+ },
136
+ "additionalProperties": true
137
+ },
138
+ "dependsOn": {
139
+ "type": "array",
140
+ "items": { "type": "string" },
141
+ "description": "Identifiers of standards this document depends on"
142
+ },
143
+ "supersedes": {
144
+ "type": "string",
145
+ "description": "Identifier of the document this one replaces"
146
+ },
147
+ "classifications": {
148
+ "type": "array",
149
+ "items": { "type": "string" },
150
+ "description": "Sub-classifications within the standard (e.g., ABSOLUTE, SCHEDULED)"
151
+ }
152
+ },
153
+ "additionalProperties": true
154
+ }
@@ -0,0 +1 @@
1
+ {"label": "Governance", "position": 2}
@@ -0,0 +1,56 @@
1
+ ---
2
+ identifier: "INTG-GOV-001"
3
+ name: "Integration Styles"
4
+ version: "1.0.0"
5
+ status: "DRAFT"
6
+
7
+ domain: "INTEGRATION"
8
+ documentType: "governance"
9
+ category: "governance"
10
+ appliesTo: ["api", "events", "a2a", "files", "mcp"]
11
+
12
+ lastUpdated: "2026-02-17"
13
+ owner: "Integration Architecture Board"
14
+
15
+ standardsCompliance:
16
+ iso: []
17
+ rfc: []
18
+ w3c: []
19
+ other: []
20
+
21
+ taxonomy:
22
+ capability: "integration-patterns"
23
+ subCapability: ""
24
+ layer: "infrastructure"
25
+
26
+ enforcement:
27
+ method: "review-based"
28
+ reviewChecklist: []
29
+
30
+ dependsOn: []
31
+ supersedes: ""
32
+ ---
33
+
34
+ # Integration Styles
35
+
36
+ ## Purpose
37
+
38
+ ## Conceptual Model
39
+
40
+ ## Rules
41
+
42
+ ## Examples
43
+
44
+ ## Allowed Representations
45
+
46
+ ## Enforcement Rules
47
+
48
+ ## References
49
+
50
+ ## Rationale
51
+
52
+ ## Version History
53
+
54
+ | Version | Date | Change |
55
+ | ------- | ---------- | ------------------ |
56
+ | 1.0.0 | 2026-02-17 | Initial definition |
@@ -0,0 +1,9 @@
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Integration Standards
6
+
7
+ This section contains integration standards, guidelines, and governance documents for the Precepts platform.
8
+
9
+ Standards in this discipline cover API design, event-driven architecture, data formats, resilience patterns, observability, versioning, and cross-cutting concerns. All standards are backed by ISO, IEEE, RFC and other industry specifications.
@@ -0,0 +1 @@
1
+ {"label": "Standards", "position": 1}
@@ -0,0 +1 @@
1
+ {"label": "API", "position": 3}