archstone 1.1.0 → 1.1.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.
package/README.md CHANGED
@@ -17,11 +17,15 @@ Build on Domain-Driven Design and Clean Architecture — without writing the sam
17
17
 
18
18
  <br />
19
19
 
20
+ [Quick Start](#install) · [Why Archstone](#why-archstone) · [Usage](#usage) · [Agent Skills](#agent-skills-new-in-v110) · [Architecture](#architecture) · [Contributing](./CONTRIBUTING.md)
21
+
22
+ <br />
23
+
20
24
  </div>
21
25
 
22
26
  ---
23
27
 
24
- ## Why archstone?
28
+ ## Why Archstone?
25
29
 
26
30
  Every backend project in DDD needs the same structural pieces — and most teams rewrite them from scratch each time. Archstone gives you a **battle-tested, zero-dependency set of base classes and contracts** so you can skip the boilerplate and go straight to modeling your domain.
27
31
 
@@ -39,13 +43,16 @@ async function createUser(): Promise<Either<NotFoundError, User>> { ... }
39
43
 
40
44
  ## Features
41
45
 
42
- - **`Either`** — functional error handling; use cases never throw
43
- - **`Entity` / `AggregateRoot`** — identity-based domain objects with built-in event support
44
- - **`ValueObject`** — equality by value, not reference
45
- - **`UniqueEntityId`** UUID v7 identity, consistent across your entire domain
46
- - **`WatchedList`** track additions and removals in collections without overwriting persistence
47
- - **`UseCase`** typed contract for application logic
48
- - **Repository contracts** define your interface in the domain; implement in infrastructure
46
+ | | |
47
+ |---|---|
48
+ | **`Either`** | Functional error handling use cases never throw |
49
+ | **`Entity` / `AggregateRoot`** | Identity-based domain objects with built-in event support |
50
+ | **`ValueObject`** | Equality by value, not reference |
51
+ | **`UniqueEntityId`** | UUID v7 identity, consistent across your entire domain |
52
+ | **`WatchedList`** | Track additions and removals in collections without overwriting persistence |
53
+ | **`UseCase`** | Typed contract for application logic that always returns `Either` |
54
+ | **Repository contracts** | Define your interface in the domain — implement anywhere in infrastructure |
55
+ | **Agent Skills** | Built-in AI skill so your coding agent knows every DDD convention |
49
56
 
50
57
  ---
51
58
 
@@ -247,9 +254,17 @@ src/
247
254
 
248
255
  ---
249
256
 
250
- ## Agent Skills
257
+ ## Agent Skills — new in v1.1.0
258
+
259
+ Archstone ships with a built-in skill for AI coding agents. Once installed, your agent understands every DDD convention, layer boundary, and usage pattern — without you ever having to explain them.
251
260
 
252
- Archstone ships with a built-in skill for AI coding agents — giving them full knowledge of DDD conventions, layer boundaries, and usage patterns so you don't have to explain them in every project.
261
+ **The skill covers:**
262
+ - Entities, aggregates, and value objects
263
+ - Use cases with `Either` error handling
264
+ - Repository contracts and in-memory implementations
265
+ - Domain events — raising, dispatching, and handling
266
+ - Testing patterns with `bun:test` and in-memory repos
267
+ - Common mistakes and how to avoid them
253
268
 
254
269
  **Install with Claude Code:**
255
270
 
@@ -260,11 +275,9 @@ bun x skills add joao-coimbra/archstone
260
275
  **Or copy from the installed package:**
261
276
 
262
277
  ```bash
263
- cp -r node_modules/archstone/skills/archstone .claude/skills/
278
+ cp -r node_modules/archstone/skills/use-archstone .claude/skills/
264
279
  ```
265
280
 
266
- The skill covers: entities, aggregates, value objects, use cases, repository contracts, domain events, Either error handling, and testing patterns — all with examples and common-mistake callouts.
267
-
268
281
  ---
269
282
 
270
283
  <div align="center">
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "archstone",
3
3
  "description": "TypeScript architecture foundation for backend services based on Domain-Driven Design and Clean Architecture",
4
- "version": "1.1.0",
4
+ "version": "1.1.2",
5
5
  "type": "module",
6
6
  "private": false,
7
7
  "files": [
File without changes