agentme 0.30.0 → 0.30.2

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.
@@ -0,0 +1,155 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 560" font-family="'Segoe UI', system-ui, sans-serif">
2
+ <!-- Background -->
3
+ <rect width="900" height="560" fill="#f8f9fa" rx="8"/>
4
+
5
+ <!-- Title -->
6
+ <text x="450" y="38" text-anchor="middle" font-size="18" font-weight="700" fill="#1a1a2e">Pragmatic Hexagonal Architecture</text>
7
+ <text x="450" y="58" text-anchor="middle" font-size="12" fill="#6b7280">agentme-edr-126</text>
8
+
9
+ <!-- ── EXTERNAL (left) ── -->
10
+ <rect x="20" y="90" width="150" height="380" rx="10" fill="#e8eaf6" stroke="#7986cb" stroke-width="1.5"/>
11
+ <text x="95" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#3949ab">External</text>
12
+ <text x="95" y="132" text-anchor="middle" font-size="10" fill="#5c6bc0">(inbound triggers)</text>
13
+
14
+ <!-- Inbound external items -->
15
+ <rect x="35" y="145" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
16
+ <text x="95" y="165" text-anchor="middle" font-size="12" fill="#1a237e">HTTP Client</text>
17
+ <rect x="35" y="185" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
18
+ <text x="95" y="205" text-anchor="middle" font-size="12" fill="#1a237e">CLI User</text>
19
+ <rect x="35" y="225" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
20
+ <text x="95" y="245" text-anchor="middle" font-size="12" fill="#1a237e">Kafka Topic</text>
21
+ <rect x="35" y="265" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
22
+ <text x="95" y="285" text-anchor="middle" font-size="12" fill="#1a237e">gRPC Client</text>
23
+ <rect x="35" y="305" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
24
+ <text x="95" y="325" text-anchor="middle" font-size="12" fill="#1a237e">WebSocket</text>
25
+
26
+ <!-- ── EXTERNAL (right) ── -->
27
+ <rect x="730" y="90" width="150" height="380" rx="10" fill="#fce4ec" stroke="#e57373" stroke-width="1.5"/>
28
+ <text x="805" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#c62828">External</text>
29
+ <text x="805" y="132" text-anchor="middle" font-size="10" fill="#e53935">(outbound targets)</text>
30
+
31
+ <!-- Outbound external items -->
32
+ <rect x="745" y="145" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
33
+ <text x="805" y="165" text-anchor="middle" font-size="12" fill="#880e4f">PostgreSQL</text>
34
+ <rect x="745" y="185" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
35
+ <text x="805" y="205" text-anchor="middle" font-size="12" fill="#880e4f">Stripe API</text>
36
+ <rect x="745" y="225" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
37
+ <text x="805" y="245" text-anchor="middle" font-size="12" fill="#880e4f">S3 / Storage</text>
38
+ <rect x="745" y="265" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
39
+ <text x="805" y="285" text-anchor="middle" font-size="12" fill="#880e4f">Redis Cache</text>
40
+ <rect x="745" y="305" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
41
+ <text x="805" y="325" text-anchor="middle" font-size="12" fill="#880e4f">WhatsApp API</text>
42
+
43
+ <!-- ── ADAPTERS (inbound) ── -->
44
+ <rect x="195" y="90" width="155" height="380" rx="10" fill="#e8f5e9" stroke="#66bb6a" stroke-width="1.5"/>
45
+ <text x="272" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#2e7d32">Adapters</text>
46
+ <text x="272" y="132" text-anchor="middle" font-size="10" fill="#388e3c">(inbound)</text>
47
+
48
+ <!-- Inbound adapters -->
49
+ <rect x="210" y="145" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
50
+ <text x="272" y="165" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/http/</text>
51
+ <rect x="210" y="185" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
52
+ <text x="272" y="205" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/cli/</text>
53
+ <rect x="210" y="225" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
54
+ <text x="272" y="245" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/kafka/</text>
55
+ <rect x="210" y="265" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
56
+ <text x="272" y="285" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/grpc/</text>
57
+ <rect x="210" y="305" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
58
+ <text x="272" y="325" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/ws/</text>
59
+
60
+ <!-- ── ADAPTERS (outbound/connectors) ── -->
61
+ <rect x="550" y="90" width="155" height="380" rx="10" fill="#fff3e0" stroke="#ffa726" stroke-width="1.5"/>
62
+ <text x="627" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#e65100">Adapters</text>
63
+ <text x="627" y="132" text-anchor="middle" font-size="10" fill="#ef6c00">(outbound connectors)</text>
64
+
65
+ <!-- Outbound connectors -->
66
+ <rect x="565" y="145" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
67
+ <text x="627" y="162" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
68
+ <text x="627" y="173" text-anchor="middle" font-size="10" fill="#bf360c">postgres/</text>
69
+ <rect x="565" y="185" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
70
+ <text x="627" y="202" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
71
+ <text x="627" y="213" text-anchor="middle" font-size="10" fill="#bf360c">stripe-api/</text>
72
+ <rect x="565" y="225" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
73
+ <text x="627" y="242" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
74
+ <text x="627" y="253" text-anchor="middle" font-size="10" fill="#bf360c">s3-datalake/</text>
75
+ <rect x="565" y="265" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
76
+ <text x="627" y="282" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
77
+ <text x="627" y="293" text-anchor="middle" font-size="10" fill="#bf360c">redis-cache/</text>
78
+ <rect x="565" y="305" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
79
+ <text x="627" y="322" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
80
+ <text x="627" y="333" text-anchor="middle" font-size="10" fill="#bf360c">whatsapp/</text>
81
+
82
+ <!-- ── APPLICATION (center) ── -->
83
+ <rect x="375" y="90" width="150" height="380" rx="12" fill="#e3f2fd" stroke="#42a5f5" stroke-width="2"/>
84
+ <text x="450" y="118" text-anchor="middle" font-size="14" font-weight="700" fill="#0d47a1">Application</text>
85
+ <text x="450" y="135" text-anchor="middle" font-size="10" fill="#1565c0">(business logic)</text>
86
+
87
+ <!-- App items -->
88
+ <rect x="390" y="148" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
89
+ <text x="450" y="166" text-anchor="middle" font-size="11" fill="#0d47a1">app/create-user</text>
90
+ <rect x="390" y="185" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
91
+ <text x="450" y="203" text-anchor="middle" font-size="11" fill="#0d47a1">app/process-event</text>
92
+ <rect x="390" y="222" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
93
+ <text x="450" y="240" text-anchor="middle" font-size="11" fill="#0d47a1">app/feature-group/</text>
94
+ <rect x="390" y="259" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
95
+ <text x="450" y="277" text-anchor="middle" font-size="11" fill="#0d47a1">app/create-dir</text>
96
+
97
+ <!-- Shared -->
98
+ <rect x="390" y="305" width="120" height="45" rx="6" fill="#e1f5fe" stroke="#29b6f6" stroke-width="1" stroke-dasharray="5,3"/>
99
+ <text x="450" y="325" text-anchor="middle" font-size="11" font-weight="600" fill="#01579b">shared/</text>
100
+ <text x="450" y="340" text-anchor="middle" font-size="10" fill="#0277bd">logging, errors…</text>
101
+
102
+ <!-- ── ARROWS: External → Inbound Adapters ── -->
103
+ <defs>
104
+ <marker id="arrow-in" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
105
+ <path d="M0,0 L0,6 L8,3 z" fill="#388e3c"/>
106
+ </marker>
107
+ <marker id="arrow-out" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
108
+ <path d="M0,0 L0,6 L8,3 z" fill="#e65100"/>
109
+ </marker>
110
+ <marker id="arrow-app-in" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
111
+ <path d="M0,0 L0,6 L8,3 z" fill="#0d47a1"/>
112
+ </marker>
113
+ <marker id="arrow-app-out" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
114
+ <path d="M0,0 L0,6 L8,3 z" fill="#0d47a1"/>
115
+ </marker>
116
+ </defs>
117
+
118
+ <!-- External(L) → Inbound Adapters -->
119
+ <line x1="170" y1="160" x2="208" y2="160" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
120
+ <line x1="170" y1="200" x2="208" y2="200" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
121
+ <line x1="170" y1="240" x2="208" y2="240" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
122
+ <line x1="170" y1="280" x2="208" y2="280" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
123
+ <line x1="170" y1="320" x2="208" y2="320" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
124
+
125
+ <!-- Inbound Adapters → Application -->
126
+ <line x1="350" y1="160" x2="373" y2="162" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
127
+ <line x1="350" y1="200" x2="373" y2="198" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
128
+ <line x1="350" y1="240" x2="373" y2="236" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
129
+ <line x1="350" y1="280" x2="373" y2="270" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
130
+
131
+ <!-- Application → Outbound Connectors -->
132
+ <line x1="527" y1="162" x2="563" y2="160" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
133
+ <line x1="527" y1="198" x2="563" y2="200" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
134
+ <line x1="527" y1="236" x2="563" y2="240" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
135
+ <line x1="527" y1="270" x2="563" y2="280" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
136
+
137
+ <!-- Outbound Connectors → External(R) -->
138
+ <line x1="690" y1="160" x2="743" y2="160" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
139
+ <line x1="690" y1="200" x2="743" y2="200" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
140
+ <line x1="690" y1="240" x2="743" y2="240" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
141
+ <line x1="690" y1="280" x2="743" y2="280" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
142
+ <line x1="690" y1="320" x2="743" y2="320" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
143
+
144
+ <!-- ── LEGEND / LABELS ── -->
145
+ <line x1="200" y1="490" x2="240" y2="490" stroke="#388e3c" stroke-width="2" marker-end="url(#arrow-in)"/>
146
+ <text x="248" y="494" font-size="11" fill="#333">inbound trigger</text>
147
+ <line x1="370" y1="490" x2="410" y2="490" stroke="#0d47a1" stroke-width="2" marker-end="url(#arrow-app-in)"/>
148
+ <text x="418" y="494" font-size="11" fill="#333">app call</text>
149
+ <line x1="520" y1="490" x2="560" y2="490" stroke="#e65100" stroke-width="2" marker-end="url(#arrow-out)"/>
150
+ <text x="568" y="494" font-size="11" fill="#333">outbound call</text>
151
+
152
+ <!-- Pragma note -->
153
+ <rect x="280" y="460" width="340" height="22" rx="4" fill="none" stroke="#bdbdbd" stroke-width="1" stroke-dasharray="4,2"/>
154
+ <text x="450" y="475" text-anchor="middle" font-size="10" fill="#757575">Application MAY import Adapters — pragmatic coupling is accepted</text>
155
+ </svg>
@@ -29,6 +29,8 @@ Every application MUST be organized into these three conceptual layers:
29
29
  | **Adapters** | Bridge between External and Application — translate external protocols into application calls and vice versa |
30
30
  | **Application** | Business logic that delegates I/O to adapters |
31
31
 
32
+ ![Overview](.assets/126-overview.svg)
33
+
32
34
  #### 02-adapter-naming-conventions
33
35
 
34
36
  Adapters MUST follow these naming conventions:
package/README.md CHANGED
@@ -8,17 +8,17 @@ For guidance on turning recurring delivery friction into reusable decision recor
8
8
 
9
9
  ## Getting Started
10
10
 
11
- This will extract all the features of agentme (skills, github configurations, xdrs collection):
11
+ To install all agentme artifacts (skills, XDRs, AGENTS.md) into the current folder:
12
12
 
13
13
  ```sh
14
- npx agentme
14
+ npx agentme install --output . --presets basic
15
15
  ```
16
16
 
17
17
  If you want the version pinned in a project, add `agentme` to a repository that already has a `package.json` and run it through the local dependency:
18
18
 
19
19
  ```sh
20
20
  mise exec -- pnpm add -D agentme
21
- mise exec -- pnpm exec agentme extract --output . --presets basic
21
+ mise exec -- pnpm exec agentme install --output . --presets basic
22
22
  mise exec -- pnpm exec agentme check --output . --presets basic
23
23
  ```
24
24
 
@@ -34,15 +34,16 @@ The package is intentionally static: consumers install it as a development depen
34
34
 
35
35
  | Preset | Contents |
36
36
  | --- | --- |
37
- | `basic` | `xdrs-core` baseline ADRs, `AGENTS.md`, and agentme XDRs |
37
+ | `core` | `xdrs-core` baseline ADRs, `AGENTS.md`, and the skill for selecting relevant XDRs |
38
+ | `basic` | everything in `core` plus all agentme XDRs and the XDRS index |
38
39
  | no preset | all shipped artifacts combined |
39
40
 
40
41
  Typical consumer workflow:
41
42
 
42
- 1. For one-off use or a new empty folder, run `npx agentme --presets <preset>`.
43
+ 1. For one-off use or a new empty folder, run `npx agentme install --output . --presets <preset>`.
43
44
  2. For a pinned project version, add `agentme` to `package.json` and use `pnpm exec agentme ...`.
44
45
  3. Review and commit the extracted files.
45
- 4. Re-run `extract` and `check` when upgrading the package.
46
+ 4. Re-run `install` and `check` when upgrading the package.
46
47
 
47
48
  ## Usage Scenarios
48
49
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentme",
3
- "version": "0.30.0",
3
+ "version": "0.30.2",
4
4
  "description": "",
5
5
  "dependencies": {
6
6
  "filedist": "^0.39.0"