@robotaccomplice/architext 1.0.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 (43) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +497 -0
  3. package/docs/architecture/AGENTS_APPENDIX.md +39 -0
  4. package/docs/architecture/ARCHITECTURE_PLAN.md +520 -0
  5. package/docs/architecture/LLM_ARCHITEXT.md +95 -0
  6. package/docs/architext/AGENTS_APPENDIX.md +39 -0
  7. package/docs/architext/LLM_ARCHITEXT.md +64 -0
  8. package/docs/architext/README.md +120 -0
  9. package/docs/architext/data/data-classification.json +34 -0
  10. package/docs/architext/data/decisions.json +54 -0
  11. package/docs/architext/data/flows.json +114 -0
  12. package/docs/architext/data/glossary.json +24 -0
  13. package/docs/architext/data/manifest.json +23 -0
  14. package/docs/architext/data/nodes.json +194 -0
  15. package/docs/architext/data/risks.json +59 -0
  16. package/docs/architext/data/views.json +91 -0
  17. package/docs/architext/dist/assets/index-BWZ6sEpA.js +51 -0
  18. package/docs/architext/dist/assets/index-iWLms0Pa.css +1 -0
  19. package/docs/architext/dist/compass.svg +9 -0
  20. package/docs/architext/dist/index.html +14 -0
  21. package/docs/architext/index.html +13 -0
  22. package/docs/architext/package-lock.json +1822 -0
  23. package/docs/architext/package.json +28 -0
  24. package/docs/architext/public/compass.svg +9 -0
  25. package/docs/architext/schema/data-classification.schema.json +28 -0
  26. package/docs/architext/schema/decisions.schema.json +33 -0
  27. package/docs/architext/schema/flows.schema.json +72 -0
  28. package/docs/architext/schema/glossary.schema.json +22 -0
  29. package/docs/architext/schema/manifest.schema.json +47 -0
  30. package/docs/architext/schema/nodes.schema.json +69 -0
  31. package/docs/architext/schema/risks.schema.json +34 -0
  32. package/docs/architext/schema/views.schema.json +48 -0
  33. package/docs/architext/src/main.tsx +2133 -0
  34. package/docs/architext/src/styles.css +1475 -0
  35. package/docs/architext/tools/validate-architext.mjs +163 -0
  36. package/docs/architext/tsconfig.json +21 -0
  37. package/docs/architext/vite.config.ts +47 -0
  38. package/docs/assets/screenshots/architext-c4.png +0 -0
  39. package/docs/assets/screenshots/architext-data-risks.png +0 -0
  40. package/docs/assets/screenshots/architext-flows.png +0 -0
  41. package/docs/assets/screenshots/architext-sequence.png +0 -0
  42. package/package.json +81 -0
  43. package/tools/architext-adopt.mjs +874 -0
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "architext-template",
3
+ "version": "1.0.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "engines": {
7
+ "node": ">=20"
8
+ },
9
+ "scripts": {
10
+ "dev": "vite --host 127.0.0.1 --port 4317",
11
+ "build": "tsc && vite build",
12
+ "preview": "vite preview --host 127.0.0.1 --port 4317",
13
+ "validate": "node tools/validate-architext.mjs"
14
+ },
15
+ "dependencies": {
16
+ "@vitejs/plugin-react": "^4.3.4",
17
+ "ajv": "^8.17.1",
18
+ "ajv-formats": "^3.0.1",
19
+ "vite": "^6.0.7",
20
+ "typescript": "^5.7.2",
21
+ "react": "^19.0.0",
22
+ "react-dom": "^19.0.0"
23
+ },
24
+ "devDependencies": {
25
+ "@types/react": "^19.0.2",
26
+ "@types/react-dom": "^19.0.2"
27
+ }
28
+ }
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Architext drafting compass favicon">
2
+ <rect width="64" height="64" rx="12" fill="#080b10"/>
3
+ <circle cx="32" cy="15" r="5" fill="#111620" stroke="#f5c84c" stroke-width="3"/>
4
+ <path d="M32 20L18 52" stroke="#e9edf4" stroke-width="4" stroke-linecap="round"/>
5
+ <path d="M32 20l15 32" stroke="#e9edf4" stroke-width="4" stroke-linecap="round"/>
6
+ <path d="M25 35h14" stroke="#58a6ff" stroke-width="3" stroke-linecap="round"/>
7
+ <path d="M16 55l5-1M44 54l6 1" stroke="#f5c84c" stroke-width="3" stroke-linecap="round"/>
8
+ <path d="M20 48a17 17 0 0 1 24 0" fill="none" stroke="#5dd39e" stroke-width="2" stroke-linecap="round"/>
9
+ </svg>
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/data-classification.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["classes"],
7
+ "properties": {
8
+ "classes": {
9
+ "type": "array",
10
+ "minItems": 1,
11
+ "items": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": ["id", "name", "sensitivity", "handling"],
15
+ "properties": {
16
+ "id": { "$ref": "#/$defs/id" },
17
+ "name": { "type": "string", "minLength": 1 },
18
+ "sensitivity": { "type": "string", "enum": ["low", "medium", "high", "critical"] },
19
+ "handling": { "type": "string", "minLength": 1 }
20
+ }
21
+ }
22
+ }
23
+ },
24
+ "$defs": {
25
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" }
26
+ }
27
+ }
28
+
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/decisions.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["decisions"],
7
+ "properties": {
8
+ "decisions": {
9
+ "type": "array",
10
+ "items": {
11
+ "type": "object",
12
+ "additionalProperties": false,
13
+ "required": ["id", "status", "title", "context", "decision", "consequences", "relatedNodes", "relatedFlows"],
14
+ "properties": {
15
+ "id": { "$ref": "#/$defs/id" },
16
+ "status": { "type": "string", "enum": ["planned", "accepted", "deprecated", "superseded"] },
17
+ "title": { "type": "string", "minLength": 1 },
18
+ "context": { "type": "string", "minLength": 1 },
19
+ "decision": { "type": "string", "minLength": 1 },
20
+ "consequences": { "$ref": "#/$defs/stringList" },
21
+ "relatedNodes": { "$ref": "#/$defs/idList" },
22
+ "relatedFlows": { "$ref": "#/$defs/idList" }
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "$defs": {
28
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
29
+ "idList": { "type": "array", "items": { "$ref": "#/$defs/id" } },
30
+ "stringList": { "type": "array", "items": { "type": "string", "minLength": 1 } }
31
+ }
32
+ }
33
+
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/flows.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["flows"],
7
+ "properties": {
8
+ "flows": {
9
+ "type": "array",
10
+ "minItems": 1,
11
+ "items": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": [
15
+ "id",
16
+ "name",
17
+ "status",
18
+ "summary",
19
+ "trigger",
20
+ "actors",
21
+ "steps",
22
+ "guarantees",
23
+ "failureBehavior",
24
+ "observability",
25
+ "verification",
26
+ "knownGaps"
27
+ ],
28
+ "properties": {
29
+ "id": { "$ref": "#/$defs/id" },
30
+ "name": { "type": "string", "minLength": 1 },
31
+ "status": { "type": "string", "enum": ["planned", "partial", "implemented"] },
32
+ "summary": { "type": "string", "minLength": 1 },
33
+ "trigger": { "type": "string", "minLength": 1 },
34
+ "actors": { "$ref": "#/$defs/idList" },
35
+ "steps": {
36
+ "type": "array",
37
+ "minItems": 1,
38
+ "items": {
39
+ "type": "object",
40
+ "additionalProperties": false,
41
+ "required": ["id", "from", "to", "action", "summary", "data"],
42
+ "properties": {
43
+ "id": { "$ref": "#/$defs/id" },
44
+ "from": { "$ref": "#/$defs/id" },
45
+ "to": { "$ref": "#/$defs/id" },
46
+ "action": { "type": "string", "minLength": 1 },
47
+ "summary": { "type": "string", "minLength": 1 },
48
+ "data": { "$ref": "#/$defs/idList" }
49
+ }
50
+ }
51
+ },
52
+ "guarantees": { "$ref": "#/$defs/stringList" },
53
+ "failureBehavior": { "$ref": "#/$defs/stringList" },
54
+ "observability": { "$ref": "#/$defs/stringList" },
55
+ "verification": { "$ref": "#/$defs/stringList" },
56
+ "knownGaps": { "$ref": "#/$defs/stringList" }
57
+ }
58
+ }
59
+ }
60
+ },
61
+ "$defs": {
62
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
63
+ "idList": {
64
+ "type": "array",
65
+ "items": { "$ref": "#/$defs/id" }
66
+ },
67
+ "stringList": {
68
+ "type": "array",
69
+ "items": { "type": "string", "minLength": 1 }
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/glossary.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["terms"],
7
+ "properties": {
8
+ "terms": {
9
+ "type": "array",
10
+ "items": {
11
+ "type": "object",
12
+ "additionalProperties": false,
13
+ "required": ["term", "definition"],
14
+ "properties": {
15
+ "term": { "type": "string", "minLength": 1 },
16
+ "definition": { "type": "string", "minLength": 1 }
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
22
+
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/manifest.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["schemaVersion", "project", "generatedAt", "defaultViewId", "files", "notes"],
7
+ "properties": {
8
+ "schemaVersion": { "type": "string", "minLength": 1 },
9
+ "project": {
10
+ "type": "object",
11
+ "additionalProperties": false,
12
+ "required": ["id", "name", "summary"],
13
+ "properties": {
14
+ "id": { "$ref": "#/$defs/id" },
15
+ "name": { "type": "string", "minLength": 1 },
16
+ "summary": { "type": "string", "minLength": 1 }
17
+ }
18
+ },
19
+ "generatedAt": { "type": "string", "format": "date-time" },
20
+ "defaultViewId": { "$ref": "#/$defs/id" },
21
+ "files": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": ["nodes", "flows", "views", "dataClassification", "decisions", "risks", "glossary"],
25
+ "properties": {
26
+ "nodes": { "type": "string", "minLength": 1 },
27
+ "flows": { "type": "string", "minLength": 1 },
28
+ "views": { "type": "string", "minLength": 1 },
29
+ "dataClassification": { "type": "string", "minLength": 1 },
30
+ "decisions": { "type": "string", "minLength": 1 },
31
+ "risks": { "type": "string", "minLength": 1 },
32
+ "glossary": { "type": "string", "minLength": 1 }
33
+ }
34
+ },
35
+ "notes": {
36
+ "type": "array",
37
+ "items": { "type": "string", "minLength": 1 }
38
+ }
39
+ },
40
+ "$defs": {
41
+ "id": {
42
+ "type": "string",
43
+ "pattern": "^[a-z][a-z0-9-]*$"
44
+ }
45
+ }
46
+ }
47
+
@@ -0,0 +1,69 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/nodes.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["nodes"],
7
+ "properties": {
8
+ "nodes": {
9
+ "type": "array",
10
+ "minItems": 1,
11
+ "items": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": [
15
+ "id",
16
+ "type",
17
+ "name",
18
+ "summary",
19
+ "responsibilities",
20
+ "owner",
21
+ "sourcePaths",
22
+ "runtime",
23
+ "interfaces",
24
+ "dependencies",
25
+ "dataHandled",
26
+ "security",
27
+ "observability",
28
+ "relatedFlows",
29
+ "relatedDecisions",
30
+ "knownRisks",
31
+ "verification"
32
+ ],
33
+ "properties": {
34
+ "id": { "$ref": "#/$defs/id" },
35
+ "type": {
36
+ "type": "string",
37
+ "enum": ["actor", "software-system", "client", "service", "module", "worker", "queue", "data-store", "external-service", "deployment-unit", "trust-boundary"]
38
+ },
39
+ "name": { "type": "string", "minLength": 1 },
40
+ "summary": { "type": "string", "minLength": 1 },
41
+ "responsibilities": { "$ref": "#/$defs/stringList" },
42
+ "owner": { "type": "string", "minLength": 1 },
43
+ "sourcePaths": { "$ref": "#/$defs/stringList" },
44
+ "runtime": { "type": "string", "minLength": 1 },
45
+ "interfaces": { "$ref": "#/$defs/stringList" },
46
+ "dependencies": { "$ref": "#/$defs/idList" },
47
+ "dataHandled": { "$ref": "#/$defs/idList" },
48
+ "security": { "$ref": "#/$defs/stringList" },
49
+ "observability": { "$ref": "#/$defs/stringList" },
50
+ "relatedFlows": { "$ref": "#/$defs/idList" },
51
+ "relatedDecisions": { "$ref": "#/$defs/idList" },
52
+ "knownRisks": { "$ref": "#/$defs/idList" },
53
+ "verification": { "$ref": "#/$defs/stringList" }
54
+ }
55
+ }
56
+ }
57
+ },
58
+ "$defs": {
59
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
60
+ "idList": {
61
+ "type": "array",
62
+ "items": { "$ref": "#/$defs/id" }
63
+ },
64
+ "stringList": {
65
+ "type": "array",
66
+ "items": { "type": "string", "minLength": 1 }
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/risks.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["risks"],
7
+ "properties": {
8
+ "risks": {
9
+ "type": "array",
10
+ "items": {
11
+ "type": "object",
12
+ "additionalProperties": false,
13
+ "required": ["id", "title", "category", "severity", "status", "summary", "mitigations", "relatedNodes", "relatedFlows"],
14
+ "properties": {
15
+ "id": { "$ref": "#/$defs/id" },
16
+ "title": { "type": "string", "minLength": 1 },
17
+ "category": { "type": "string", "enum": ["technical", "operational", "security", "data"] },
18
+ "severity": { "type": "string", "enum": ["low", "medium", "high", "critical"] },
19
+ "status": { "type": "string", "enum": ["open", "planned", "mitigating", "accepted", "closed"] },
20
+ "summary": { "type": "string", "minLength": 1 },
21
+ "mitigations": { "$ref": "#/$defs/stringList" },
22
+ "relatedNodes": { "$ref": "#/$defs/idList" },
23
+ "relatedFlows": { "$ref": "#/$defs/idList" }
24
+ }
25
+ }
26
+ }
27
+ },
28
+ "$defs": {
29
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
30
+ "idList": { "type": "array", "items": { "$ref": "#/$defs/id" } },
31
+ "stringList": { "type": "array", "items": { "type": "string", "minLength": 1 } }
32
+ }
33
+ }
34
+
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://architext.local/schema/views.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["views"],
7
+ "properties": {
8
+ "views": {
9
+ "type": "array",
10
+ "minItems": 1,
11
+ "items": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": ["id", "name", "type", "summary", "lanes"],
15
+ "properties": {
16
+ "id": { "$ref": "#/$defs/id" },
17
+ "name": { "type": "string", "minLength": 1 },
18
+ "type": {
19
+ "type": "string",
20
+ "enum": ["system-map", "flow-explorer", "c4-context", "c4-container", "c4-component", "dataflow", "deployment", "risk-overlay", "sequence"]
21
+ },
22
+ "summary": { "type": "string", "minLength": 1 },
23
+ "lanes": {
24
+ "type": "array",
25
+ "minItems": 1,
26
+ "items": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": ["id", "name", "nodeIds"],
30
+ "properties": {
31
+ "id": { "$ref": "#/$defs/id" },
32
+ "name": { "type": "string", "minLength": 1 },
33
+ "nodeIds": { "$ref": "#/$defs/idList" }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ },
41
+ "$defs": {
42
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
43
+ "idList": {
44
+ "type": "array",
45
+ "items": { "$ref": "#/$defs/id" }
46
+ }
47
+ }
48
+ }