@dreamteamer/roles 0.0.0-stage → 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.
- package/README.md +12 -2
- package/UPDATING.md +19 -0
- package/collections/roles.collection.yaml +64 -0
- package/collections/users.collection.yaml +8 -0
- package/package.json +31 -5
package/README.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @dreamteamer/roles
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The positions people hold — team leader, backend developer, product manager, QA engineer — as one
|
|
4
|
+
list the whole workspace shares. A person lists the roles they hold on `users.roles` (an overlay this
|
|
5
|
+
module adds to users), and each role lists its people back, generated. A role is a position, never a
|
|
6
|
+
task and never an area of ownership (that is `@dreamteamer/responsibilities`).
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install @dreamteamer/roles @dreamteamer/users
|
|
10
|
+
npx dreamteamer compile
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Until core 0.12.0 this shipped inside `@dreamteamer/core`; records stay in `data/roles/` under the same ids.
|
package/UPDATING.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Updating @dreamteamer/roles
|
|
2
|
+
|
|
3
|
+
One section per release, newest first. Each says what you have to **do** in a workspace that
|
|
4
|
+
installs this module; most of the time it is `dt compile`, then `dt check`.
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
npm install @dreamteamer/roles@latest
|
|
8
|
+
npx dreamteamer compile
|
|
9
|
+
npx dreamteamer check
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 0.1.0 — out of core, a package of its own
|
|
15
|
+
|
|
16
|
+
`roles` shipped inside `@dreamteamer/core` through 0.11; from core 0.12.0 core is a preset of the small
|
|
17
|
+
modules and this is one of them. The descriptor moved verbatim — the same fields, the same storage path
|
|
18
|
+
and the same id shape — so no record moves and nothing is migrated. A workspace that updates core gets
|
|
19
|
+
this package as a preset member; nothing to do but `dt compile`.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# roles — the positions people hold, as one list the whole workspace shares.
|
|
2
|
+
name: roles
|
|
3
|
+
description: >-
|
|
4
|
+
A position a person holds — team leader, backend developer, product manager, QA engineer. One record per role; a person lists the roles they hold on `users.roles`.
|
|
5
|
+
use_when: >-
|
|
6
|
+
a person's position is named — find or create the role here, then list it on the person's `roles`; asked "who are the backend developers", list users filtered by role
|
|
7
|
+
storage:
|
|
8
|
+
path: data/roles
|
|
9
|
+
format: md
|
|
10
|
+
suffix: role
|
|
11
|
+
ids:
|
|
12
|
+
from: '{{ name | slug }}'
|
|
13
|
+
pattern: ^[a-z0-9][a-z0-9-]*$
|
|
14
|
+
fields:
|
|
15
|
+
name:
|
|
16
|
+
type: string
|
|
17
|
+
required: true
|
|
18
|
+
description: The role as the workspace says it — "team leader", "backend developer".
|
|
19
|
+
description:
|
|
20
|
+
type: string
|
|
21
|
+
description: What the role covers, in one line.
|
|
22
|
+
users:
|
|
23
|
+
type: users
|
|
24
|
+
many: true
|
|
25
|
+
mirror_of: roles
|
|
26
|
+
description: GENERATED — who holds this role. Set `roles` on the user.
|
|
27
|
+
notes:
|
|
28
|
+
type: markdown
|
|
29
|
+
body: true
|
|
30
|
+
description: Expectations, scope, how the role is filled.
|
|
31
|
+
tags:
|
|
32
|
+
type: string
|
|
33
|
+
many: true
|
|
34
|
+
examples: ['onboarding', 'client:northwind']
|
|
35
|
+
pattern: ^[a-z0-9]+(-[a-z0-9]+)*(:[a-z0-9]+(-[a-z0-9]+)*)?$
|
|
36
|
+
description: Free labels, lowercase and hyphenated, optionally key:value with no space around the colon.
|
|
37
|
+
author:
|
|
38
|
+
type: string
|
|
39
|
+
examples: ['agents/claude-code', 'scripts/read-git@2']
|
|
40
|
+
pattern: '^(agents|scripts)/[a-z0-9][a-z0-9-]*(@[a-z0-9][a-z0-9./-]*)?$'
|
|
41
|
+
description: >-
|
|
42
|
+
Which agent or script wrote this record: `agents/<harness>`, or `scripts/<name>@<version>` for a reader. Absent when a person wrote it. The model, when it matters, goes in `creation_context`.
|
|
43
|
+
creation_context:
|
|
44
|
+
type: string
|
|
45
|
+
description: How and why this record came to be, in one line — and the reason whenever confidence is low.
|
|
46
|
+
source:
|
|
47
|
+
title: Information source
|
|
48
|
+
type: string
|
|
49
|
+
description: 'Where the INFORMATION came from, prefixed so it stays machine-readable: <collection>/<id> · file:<path> · url:<…> · migration:<id>.'
|
|
50
|
+
confidence:
|
|
51
|
+
type: string
|
|
52
|
+
default: normal
|
|
53
|
+
enum: [low, normal, high]
|
|
54
|
+
description: How much to trust this record. When low, the reason goes in creation_context — there is no separate note field.
|
|
55
|
+
display:
|
|
56
|
+
nav:
|
|
57
|
+
icon: symbol-class
|
|
58
|
+
list:
|
|
59
|
+
columns: [name, description, users]
|
|
60
|
+
form:
|
|
61
|
+
sections:
|
|
62
|
+
- title: Provenance
|
|
63
|
+
fields: [author, creation_context, source, confidence]
|
|
64
|
+
collapsed: true
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# OVERLAY of users — the roles a person holds, so "who are the backend developers" is a filter.
|
|
2
|
+
name: users
|
|
3
|
+
overlay: true
|
|
4
|
+
fields:
|
|
5
|
+
roles:
|
|
6
|
+
type: roles
|
|
7
|
+
many: true
|
|
8
|
+
description: The positions they hold — `roles` records, one list the whole workspace shares.
|
package/package.json
CHANGED
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
"name": "@dreamteamer/roles",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The positions people hold — team leader, backend developer — as one shared list each person names on users.roles.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/dreamteamer/dreamteamer-modules.git",
|
|
9
|
+
"directory": "modules/roles"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"dreamteamer",
|
|
13
|
+
"dreamteamer-module",
|
|
14
|
+
"roles"
|
|
15
|
+
],
|
|
16
|
+
"files": [
|
|
17
|
+
"README.md",
|
|
18
|
+
"UPDATING.md",
|
|
19
|
+
"collections"
|
|
20
|
+
],
|
|
21
|
+
"peerDependencies": {
|
|
22
|
+
"@dreamteamer/users": ">=0.3.0"
|
|
23
|
+
},
|
|
24
|
+
"dreamteamer": {
|
|
25
|
+
"title": "Roles",
|
|
26
|
+
"description": "`roles`: a position a person holds — team leader, backend developer, product manager, QA engineer — one record per role, and an overlay of `users` adding `roles`, so \"who are the backend developers\" is a filter and each role lists its people back. Depends on `users`.",
|
|
27
|
+
"engine": ">=0.48.0",
|
|
28
|
+
"dependencies": [
|
|
29
|
+
"@dreamteamer/users"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
}
|