@keighleykodric/weeve 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/.github/SECURITY.md +22 -0
- package/GOVERNANCE.md +173 -0
- package/LICENSE +21 -0
- package/README.md +138 -0
- package/WORKFLOW.md +354 -0
- package/bin/weeve.js +143 -0
- package/docs/shared/SHIP-GATE.md +113 -0
- package/docs/shared/engineering-pack-contract.md +94 -0
- package/docs/shared/id-prefix-reference.md +235 -0
- package/docs/shared/idea-intake-pattern.md +99 -0
- package/docs/shared/lane-conventions.md +207 -0
- package/docs/shared/recommendations-schema.md +363 -0
- package/package.json +14 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Reporting a Vulnerability
|
|
4
|
+
|
|
5
|
+
If you discover a security vulnerability in any Weave framework repo, please report it responsibly by opening an issue on the [pilot repo](https://github.com/kjk/pilot/issues) with the label `security`.
|
|
6
|
+
|
|
7
|
+
Do **not** open a public issue on the affected repo if the vulnerability could be exploited before a fix is available. In that case, email the maintainer or use a private GitHub issue on pilot.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
A security issue includes:
|
|
12
|
+
|
|
13
|
+
- Credential or secret exposure in generated output
|
|
14
|
+
- Path traversal or file-system access beyond intended scope
|
|
15
|
+
- Prompt injection that bypasses guardrails
|
|
16
|
+
- Unintended data leakage between commands or sessions
|
|
17
|
+
|
|
18
|
+
General bugs, feature requests, and performance issues are **not** security issues.
|
|
19
|
+
|
|
20
|
+
## Response
|
|
21
|
+
|
|
22
|
+
Best effort. Reports will be acknowledged within **7 days**. Fixes are prioritized by severity.
|
package/GOVERNANCE.md
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Governance — ownership and permissions
|
|
2
|
+
|
|
3
|
+
Addresses how ownership and permissions work in Weeve across multiple people and teams — the gap between one person running all lanes solo and an org with specialists writing to specialist outputs.
|
|
4
|
+
|
|
5
|
+
This is a known adoption gate. Solvable, mostly with infrastructure orgs already use, but it needs to be explicit before Weeve lands in any multi-team environment.
|
|
6
|
+
|
|
7
|
+
## The problem
|
|
8
|
+
|
|
9
|
+
Weeve is markdown-in-git. In a multi-person org, anyone with repo write access can edit anything. Without explicit ownership boundaries:
|
|
10
|
+
|
|
11
|
+
- Non-specialists write to specialist outputs (marketer edits `compass-recommendations`, designer edits `maven-recommendations`)
|
|
12
|
+
- Authority is ambiguous — consumers don't know if upstream is the right voice
|
|
13
|
+
- Quality erodes as the wrong people make decisions
|
|
14
|
+
- Trust in the contract files breaks down
|
|
15
|
+
|
|
16
|
+
This is the natural failure mode of any document collaboration system at scale. Weeve needs a governance overlay that makes ownership visible and enforceable.
|
|
17
|
+
|
|
18
|
+
## The architectural insight
|
|
19
|
+
|
|
20
|
+
Weeve already has the right ownership structure built in:
|
|
21
|
+
|
|
22
|
+
- Each pack has a domain (compass = strategy, maven = marketing, etc.)
|
|
23
|
+
- Each contract file has a clear consumer (Pilot reads recommendations)
|
|
24
|
+
- Each output has a logical author (the department that owns the pack)
|
|
25
|
+
|
|
26
|
+
What's missing is the *governance overlay* that exposes this structure and enforces it. The good news: 80% of the solution is infrastructure orgs already use. Nothing new needs to be invented.
|
|
27
|
+
|
|
28
|
+
## Editor, storage, reader — three separable layers
|
|
29
|
+
|
|
30
|
+
A common adoption concern: *"won't non-technical departments resist GitHub?"* Weeve's answer is that **edit, store, and read are three separable layers**, and a department only has to engage with whichever it wants:
|
|
31
|
+
|
|
32
|
+
| Layer | Who | Tool |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| **Editor** | The specialist team | Their preferred tool — GitHub, Obsidian, Notion (with markdown export), VS Code, Cursor |
|
|
35
|
+
| **Storage** | The org (versioned, audited) | Git, Dropbox, Drive, Box, or self-hosted |
|
|
36
|
+
| **Reader / consumer** | Everyone | Dashboard, AI agent, Slack notification, exported PDF, the markdown file itself |
|
|
37
|
+
|
|
38
|
+
A marketer never has to touch GitHub directly. They consume Maven's outputs via the dashboard, get notifications via Slack, ask the AI agent for the latest positioning, and edit (if they edit at all) in a tool they already know. GitHub is plumbing.
|
|
39
|
+
|
|
40
|
+
For non-technical orgs entirely, the storage layer can be something other than git. Downstream tools read from wherever; Weeve doesn't care.
|
|
41
|
+
|
|
42
|
+
## Layer 1 — Git-native ownership (OSS, works today)
|
|
43
|
+
|
|
44
|
+
GitHub CODEOWNERS solves the core write-permission problem. One file at the repo root:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
docs/compass/ @leadership-team
|
|
48
|
+
docs/maven/ @marketing-team
|
|
49
|
+
docs/rubric/ @design-system-team
|
|
50
|
+
docs/ally/ @accessibility-team
|
|
51
|
+
docs/layers-plus/ @product-team
|
|
52
|
+
docs/pilot/ @leadership-team
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Combined with branch protection rules requiring owner approval, this is a hard gate. PRs touching those paths auto-request review from the right team and cannot merge without it.
|
|
56
|
+
|
|
57
|
+
Adoption is the only friction. Most orgs using GitHub already use CODEOWNERS for code; using it for the docs folders is the same pattern applied one level over. Weeve should ship a template CODEOWNERS file and make adoption obvious during install.
|
|
58
|
+
|
|
59
|
+
## Layer 2 — Pack-declared ownership (small addition)
|
|
60
|
+
|
|
61
|
+
Each pack declares its owner, consumers, and contract in a small `pack.yaml`:
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
pack: compass
|
|
65
|
+
owner: leadership
|
|
66
|
+
consumers: [product, engineering, marketing]
|
|
67
|
+
contract: compass-recommendations.md
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
This becomes:
|
|
71
|
+
|
|
72
|
+
- A scaffolding template — installing Compass for an org auto-generates the right CODEOWNERS entry, picking up the org's team names from a one-time setup
|
|
73
|
+
- A documentation artifact — anyone reading the pack repo can see who owns what
|
|
74
|
+
- Input to downstream tooling — populates role-based views and routing without extra configuration
|
|
75
|
+
|
|
76
|
+
Small addition; large payoff in adoption clarity.
|
|
77
|
+
|
|
78
|
+
## Read vs write
|
|
79
|
+
|
|
80
|
+
Weeve gates *writes*, not reads. Cross-functional alignment depends on cross-pack readability:
|
|
81
|
+
|
|
82
|
+
- Marketing reads `compass-position` to understand the strategic frame
|
|
83
|
+
- Leadership reads `ally-recommendations` to understand accessibility commitments
|
|
84
|
+
- Engineering reads `maven-recommendations` to understand the launch shape
|
|
85
|
+
|
|
86
|
+
Everyone can read everything. Only the *authors* are gated.
|
|
87
|
+
|
|
88
|
+
## Roles and ownership
|
|
89
|
+
|
|
90
|
+
Each domain pack has an obvious owner (the department whose work it captures). Pilot doesn't — it's the meta-pack. "Owning Pilot" splits into three roles, which collapse to one or two people at startup scale but need to be named so they can separate cleanly as the org grows:
|
|
91
|
+
|
|
92
|
+
| Role | Owns | Small startup | Medium startup |
|
|
93
|
+
|---|---|---|---|
|
|
94
|
+
| **Pilot operator** | Runs `/pilot-roadmap` and `/pilot-ship`. Routine work. | Eng lead, platform person, or founder | Platform team |
|
|
95
|
+
| **Pilot owner** | The roadmap *output* and the prioritization that produces it. Cross-functional priorities. | Founder / CEO | Leadership team |
|
|
96
|
+
| **Alignment platform owner** | Weeve config — which packs are installed, scoring weights, CODEOWNERS template, integrations. | Weeve champion | Platform / ops |
|
|
97
|
+
|
|
98
|
+
At small scale (5–50 people), one person is typically all three. That's fine. Naming the roles now lets them split cleanly later without re-architecting.
|
|
99
|
+
|
|
100
|
+
The departmental pack owners map straightforwardly:
|
|
101
|
+
|
|
102
|
+
| Pack | Default owner |
|
|
103
|
+
|---|---|
|
|
104
|
+
| Compass | Leadership / founder |
|
|
105
|
+
| Layers+ | Product / design |
|
|
106
|
+
| Ally | Accessibility lead (or whoever owns a11y) |
|
|
107
|
+
| Rubric | Design system / DesignOps |
|
|
108
|
+
| Maven | Marketing |
|
|
109
|
+
| _(Personal capture tool)_ | Personal — usually not shared |
|
|
110
|
+
| Pilot | Leadership (output) + platform (config) |
|
|
111
|
+
|
|
112
|
+
## Adoption shape — the `.alignment/` repo layout
|
|
113
|
+
|
|
114
|
+
Concrete shape for an org adopting Weeve:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
alignment/ (the org's adoption repo, e.g. github.com/your-org/alignment)
|
|
118
|
+
├── .alignment/ <- meta-config; owned by platform
|
|
119
|
+
│ ├── config.yaml <- installed packs, scoring weights, integrations
|
|
120
|
+
│ ├── CODEOWNERS <- write permissions per folder
|
|
121
|
+
│ └── pack-overrides/ <- org-specific tweaks (rare)
|
|
122
|
+
├── docs/
|
|
123
|
+
│ ├── compass/ <- @leadership-team
|
|
124
|
+
│ ├── layers-plus/ <- @product-team
|
|
125
|
+
│ ├── ally/ <- @accessibility-team
|
|
126
|
+
│ ├── rubric/ <- @design-system-team
|
|
127
|
+
│ ├── maven/ <- @marketing-team
|
|
128
|
+
│ └── pilot/ <- mixed ownership (see below)
|
|
129
|
+
└── README.md
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
`.alignment/` is the meta-config layer. The platform person owns it; leadership owns the Pilot output (the roadmap); each department owns their pack's folder. CODEOWNERS enforces all of it.
|
|
133
|
+
|
|
134
|
+
**Splitting `docs/pilot/` ownership:**
|
|
135
|
+
|
|
136
|
+
The *roadmap content* is leadership's call (these are company priorities). The *operational config* is platform's call (scoring weights, drift thresholds, pack weighting). CODEOWNERS handles this file-by-file:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
docs/pilot/pilot-roadmap.md @leadership-team
|
|
140
|
+
docs/pilot/pilot-config.yaml @platform-team
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
That split mirrors the role split above.
|
|
144
|
+
|
|
145
|
+
## Config control — who owns what across the system
|
|
146
|
+
|
|
147
|
+
For an adopting org, configuration spans several layers. Each has a clear owner:
|
|
148
|
+
|
|
149
|
+
| Config layer | What it controls | Owner |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| `.alignment/CODEOWNERS` | Write permissions per folder | Platform |
|
|
152
|
+
| `.alignment/config.yaml` | Installed packs, scoring weights, integrations | Platform |
|
|
153
|
+
| `pack.yaml` (per pack) | Pack-declared ownership and consumers | Platform (informed by departments) |
|
|
154
|
+
| Pack version pinning | Which version of each pack is installed | Platform (via git, like any dependency) |
|
|
155
|
+
| Integration credentials | OAuth tokens, webhook URLs | Platform; secured per org policy |
|
|
156
|
+
| Pack content (per `docs/<pack>/`) | The actual recommendations and audit files | Department owner per pack |
|
|
157
|
+
|
|
158
|
+
The config is owned by whoever owns the repo — typically the same person who already maintains the company's GitHub org or `.github/` folder. This isn't a new role to invent; it's a small addition to an existing responsibility.
|
|
159
|
+
|
|
160
|
+
## Compliance posture
|
|
161
|
+
|
|
162
|
+
For teams that care about compliance (SOC2, ISO27001, GDPR/CCPA), Weeve is structurally well-positioned:
|
|
163
|
+
|
|
164
|
+
- **Audit trail.** Git history is already an immutable, signed, attributed change log — built in, not a paid feature.
|
|
165
|
+
- **Access control.** CODEOWNERS + branch protection + GitHub teams = real RBAC, audited by an established external service.
|
|
166
|
+
- **Data residency.** Customer's repo = customer's infrastructure = whatever residency they've already configured for source code. No new residency story to defend.
|
|
167
|
+
- **Encryption.** GitHub's repo-at-rest encryption applies; transit is HTTPS. Same for any git-based backend.
|
|
168
|
+
- **Backup.** Git is inherently distributed; backup is built in via every clone.
|
|
169
|
+
- **Vendor risk.** BYO-everything means data stays in the adopter's infrastructure. No new vendor to evaluate for data handling.
|
|
170
|
+
|
|
171
|
+
Adopters who need compliance stories (SOC2, vendor risk questionnaires) get one for free from the git-native architecture.
|
|
172
|
+
|
|
173
|
+
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 pilot contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Weeve
|
|
2
|
+
|
|
3
|
+
Cross-functional alignment system. 14+ lanes that audit strategy, product, design, engineering, QA, security, marketing, sales, and UX — then synthesize into one prioritized roadmap.
|
|
4
|
+
|
|
5
|
+
Markdown-in-git. BYO everything. Each lane writes a `<lane>-recommendations.md` file in the same shape. Pilot reads them all and produces a single roadmap. The alignment property: findings from different domains compose, rather than sit in separate files nobody reads.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## How it works
|
|
10
|
+
|
|
11
|
+
1. Install the lanes you need
|
|
12
|
+
2. Run each lane against your product (`/<lane>-intro` to start)
|
|
13
|
+
3. Each lane writes findings to `docs/<lane>/<lane>-recommendations.md`
|
|
14
|
+
4. Run `/pilot-roadmap` — Pilot reads all lane outputs and synthesizes a prioritized roadmap
|
|
15
|
+
5. Run `/pilot-ship` — autonomous worker picks tasks from the roadmap and ships them
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Lanes
|
|
20
|
+
|
|
21
|
+
### Strategy & Product
|
|
22
|
+
|
|
23
|
+
| Lane | What it does | Install |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| **Compass** | Strategic positioning — Wardley, JTBD, 7 Powers | `npx skills add keighleykodric/weeve-compass` |
|
|
26
|
+
| **Layers+** | Product design — 7-layer evaluation from domain to surface | `npx skills add keighleykodric/weeve-layers-plus` |
|
|
27
|
+
| **Felt** | UX research — personas, journeys, synthesis, feedback | `npx skills add keighleykodric/weeve-felt` |
|
|
28
|
+
|
|
29
|
+
### Design & Accessibility
|
|
30
|
+
|
|
31
|
+
| Lane | What it does | Install |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| **Ally** | Accessibility — WCAG 2.2 AA across 7 zones | `npx skills add keighleykodric/weeve-ally` |
|
|
34
|
+
| **Rubric** | Design system — tokens, components, patterns, voice | `npx skills add keighleykodric/weeve-rubric` |
|
|
35
|
+
|
|
36
|
+
### Engineering & Operations
|
|
37
|
+
|
|
38
|
+
| Lane | What it does | Install |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| **Forge** | Engineering health — architecture, code health, CI/CD, debt | `npx skills add keighleykodric/weeve-forge` |
|
|
41
|
+
| **Helm** | Platform ops — deploy, rollback, monitoring, SLOs, incidents | `npx skills add keighleykodric/weeve-helm` |
|
|
42
|
+
| **Verify** | QA — test strategy, regression, release readiness, bugs | `npx skills add keighleykodric/weeve-verify` |
|
|
43
|
+
| **Guard** | Security — threat model, secrets, auth, supply chain, compliance | `npx skills add keighleykodric/weeve-guard` |
|
|
44
|
+
|
|
45
|
+
### Go-to-Market
|
|
46
|
+
|
|
47
|
+
| Lane | What it does | Install |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| **Maven** | Marketing — positioning, brand voice, campaigns, deliverables | `npx skills add keighleykodric/weeve-maven` |
|
|
50
|
+
| **Pitch** | Sales — pipeline, ICP, conversion, competitive, pricing | `npx skills add keighleykodric/weeve-pitch` |
|
|
51
|
+
|
|
52
|
+
### Orchestration
|
|
53
|
+
|
|
54
|
+
| Lane | What it does | Install |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| **Pilot** | Synthesis — reads all lane outputs, writes the roadmap, ships tasks | `npx skills add keighleykodric/weeve-pilot` |
|
|
57
|
+
|
|
58
|
+
### Scaffolded (not yet built)
|
|
59
|
+
|
|
60
|
+
| Lane | Purpose | Status |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| **Anchor** | Shared infrastructure — schema, templates, conventions | Scaffold |
|
|
63
|
+
| **Charter** | Team agreements and operating contracts | Scaffold |
|
|
64
|
+
| **Ledger** | Financial tracking and budget alignment | Scaffold |
|
|
65
|
+
| **Roster** | People, roles, and capacity | Scaffold |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## You don't need every lane
|
|
70
|
+
|
|
71
|
+
Install only the lanes that match your team. If marketing doesn't use Maven, that's fine — Maven won't appear in the Pilot roadmap, and nothing breaks.
|
|
72
|
+
|
|
73
|
+
Departments without a lane can still contribute. Any team member can feed context into another lane's intake skill — paste a doc, a ticket link, or a screenshot into `/compass-intake` or `/layers-plus-intake` and it gets scoped and routed. You don't need a lane installed to provide input; you just won't get lane-specific findings back.
|
|
74
|
+
|
|
75
|
+
### Role presets
|
|
76
|
+
|
|
77
|
+
Not sure which lanes to install? Pick a preset that matches your role:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
npx weeve add core # Designer/strategist starting point
|
|
81
|
+
npx weeve add product # Product manager — strategy + design + research
|
|
82
|
+
npx weeve add engineering # Engineering lead — delivery + security + QA
|
|
83
|
+
npx weeve add strategy # Founder/leadership — strategy + marketing
|
|
84
|
+
npx weeve add gtm # Go-to-market — strategy + marketing + sales
|
|
85
|
+
npx weeve add all # Everything
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
| Preset | Lanes included |
|
|
89
|
+
|---|---|
|
|
90
|
+
| **core** | Compass, Layers+, Ally, Rubric, Pilot |
|
|
91
|
+
| **product** | Compass, Layers+, Ally, Rubric, Felt, Pilot |
|
|
92
|
+
| **engineering** | Forge, Helm, Verify, Guard, Pilot |
|
|
93
|
+
| **strategy** | Compass, Layers+, Maven, Pilot |
|
|
94
|
+
| **gtm** | Compass, Maven, Pitch, Pilot |
|
|
95
|
+
| **all** | Every lane |
|
|
96
|
+
|
|
97
|
+
Every preset includes Pilot — it's the synthesis layer that makes the lanes compose.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## First-run order
|
|
102
|
+
|
|
103
|
+
Compass → Layers+ → Ally → Rubric → Maven → Pilot
|
|
104
|
+
|
|
105
|
+
See [WORKFLOW.md](WORKFLOW.md) for the full cadence, within-lane sequences, and team ceremony examples.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## The alignment property
|
|
110
|
+
|
|
111
|
+
Each lane writes findings independently. Pilot reads them all and surfaces:
|
|
112
|
+
- Cross-lane conflicts (strategy says X, design says Y)
|
|
113
|
+
- Ship gates (Guard or Verify can block `/pilot-ship`)
|
|
114
|
+
- Priority synthesis (what to do first, across all domains)
|
|
115
|
+
|
|
116
|
+
The claim: running all lanes against the same product produces coherent, composable output — not just a bigger folder of tools.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Schema
|
|
121
|
+
|
|
122
|
+
All lane recommendations files follow a versioned schema: [recommendations-schema.md](docs/shared/recommendations-schema.md) (v0.3).
|
|
123
|
+
|
|
124
|
+
The schema is the durable asset. Severity uses `🔴 High / 🟡 Medium / 🟢 Low`. Lane files never use Now/Next/Watch — that vocabulary belongs to Pilot's roadmap output.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Contributing
|
|
129
|
+
|
|
130
|
+
Each lane is its own repo. To contribute to a lane, open an issue or PR on that lane's repo.
|
|
131
|
+
|
|
132
|
+
To build a community lane, see [GOVERNANCE.md](GOVERNANCE.md) for the pack.yaml spec, CODEOWNERS model, and the ship interface contract.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## License
|
|
137
|
+
|
|
138
|
+
MIT — see [LICENSE](LICENSE).
|