@monochange/skill 0.0.0 → 0.4.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/LICENSE +24 -0
- package/SKILL.md +271 -0
- package/changelog.md +887 -0
- package/examples/migration.md +21 -0
- package/examples/publishing.md +21 -0
- package/examples/quickstart.md +22 -0
- package/examples/readme.md +22 -0
- package/examples/release-pr.md +20 -0
- package/package.json +40 -13
- package/readme.md +63 -0
- package/skills/adoption.md +125 -0
- package/skills/artifact-types.md +529 -0
- package/skills/changeset-guide.md +231 -0
- package/skills/changesets.md +332 -0
- package/skills/commands.md +204 -0
- package/skills/configuration.md +258 -0
- package/skills/linting.md +539 -0
- package/skills/multi-package-publishing.md +237 -0
- package/skills/readme.md +18 -0
- package/skills/reference.md +667 -0
- package/skills/trusted-publishing.md +459 -0
- package/README.md +0 -3
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Migration example
|
|
2
|
+
|
|
3
|
+
## Recommend this when
|
|
4
|
+
|
|
5
|
+
- the repository already has release scripts, CI workflows, or tag conventions
|
|
6
|
+
- monochange must coexist with current tooling first
|
|
7
|
+
- the user wants a phased migration instead of a big-bang switch
|
|
8
|
+
|
|
9
|
+
## Default recommendation
|
|
10
|
+
|
|
11
|
+
- choose `migration` depth
|
|
12
|
+
- inspect existing CI files, tag conventions, changelog flow, and competitor tooling first
|
|
13
|
+
- keep publishing external more often during the first phase
|
|
14
|
+
- move config validation, discovery, and release dry-runs into CI before replacing publish jobs
|
|
15
|
+
|
|
16
|
+
## Good default output
|
|
17
|
+
|
|
18
|
+
- current workflow summary
|
|
19
|
+
- recommended coexistence phase
|
|
20
|
+
- pieces safe to migrate now
|
|
21
|
+
- pieces to delay until trust is established
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Publishing example
|
|
2
|
+
|
|
3
|
+
## Recommend this when
|
|
4
|
+
|
|
5
|
+
- the user is choosing between local-only, builtin, and external publishing
|
|
6
|
+
- trusted publishing or placeholder publication needs to be planned
|
|
7
|
+
- the workspace contains public packages
|
|
8
|
+
|
|
9
|
+
## Default recommendation
|
|
10
|
+
|
|
11
|
+
- GitHub + npm: builtin is the preferred default
|
|
12
|
+
- `crates.io` and `pub.dev`: external is often clearer when the registry-maintained workflow should own the publish step
|
|
13
|
+
- GitLab: builtin planning still fits well, but publishing is external more often
|
|
14
|
+
- ask about placeholder publication only when public names matter and the first real release may be delayed
|
|
15
|
+
|
|
16
|
+
## Good default output
|
|
17
|
+
|
|
18
|
+
- public vs internal package split
|
|
19
|
+
- recommended publish mode per ecosystem
|
|
20
|
+
- trusted-publishing follow-up steps
|
|
21
|
+
- placeholder strategy, if needed
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Quickstart example
|
|
2
|
+
|
|
3
|
+
## Recommend this when
|
|
4
|
+
|
|
5
|
+
- the repository is greenfield or nearly greenfield
|
|
6
|
+
- the user wants a safe first success before full automation
|
|
7
|
+
- package discovery and config quality matter more than publish setup right now
|
|
8
|
+
|
|
9
|
+
## Default recommendation
|
|
10
|
+
|
|
11
|
+
- ask for setup depth first: `quickstart` or `standard`
|
|
12
|
+
- inspect the repository before asking ecosystem-specific questions
|
|
13
|
+
- start with `mc init`, `mc validate`, `mc discover --format json`, and `mc release --dry-run --diff`
|
|
14
|
+
- stop before real publishing unless the user explicitly wants a deeper setup
|
|
15
|
+
|
|
16
|
+
## Good default output
|
|
17
|
+
|
|
18
|
+
- detected provider and ecosystems
|
|
19
|
+
- recommended lint profile
|
|
20
|
+
- whether grouping is needed yet
|
|
21
|
+
- next commands to run
|
|
22
|
+
- what to defer until `full` mode
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# monochange skill examples
|
|
2
|
+
|
|
3
|
+
Use these condensed examples when the main skill needs quick setup guidance without loading the larger repo-shaped examples from the monochange repository.
|
|
4
|
+
|
|
5
|
+
## Example index
|
|
6
|
+
|
|
7
|
+
- [quickstart.md](./quickstart.md) — choosing between quickstart and standard adoption
|
|
8
|
+
- [migration.md](./migration.md) — adopting monochange into an existing repository safely
|
|
9
|
+
- [publishing.md](./publishing.md) — builtin vs external publishing, trusted publishing, and placeholders
|
|
10
|
+
- [release-pr.md](./release-pr.md) — long-running release PR branch recommendations
|
|
11
|
+
|
|
12
|
+
## How to use this folder
|
|
13
|
+
|
|
14
|
+
- start with `skills/adoption.md` when the user is still choosing setup depth
|
|
15
|
+
- open one of the example pages here when you need a short recommendation pattern
|
|
16
|
+
- use the top-level repository examples for fuller CI shapes and future end-to-end fixtures
|
|
17
|
+
|
|
18
|
+
Full repository examples live in the monochange repository at:
|
|
19
|
+
|
|
20
|
+
- <https://github.com/monochange/monochange/tree/main/examples>
|
|
21
|
+
|
|
22
|
+
That folder also includes `examples/validate-examples.sh` for running `mc validate`, `mc check`, and `mc release --dry-run --diff` across the repo-shaped examples.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Release PR example
|
|
2
|
+
|
|
3
|
+
## Recommend this when
|
|
4
|
+
|
|
5
|
+
- the team wants a reviewable release branch
|
|
6
|
+
- release files should be inspected before they land on the default branch
|
|
7
|
+
- tags and publishes should happen only after merge
|
|
8
|
+
|
|
9
|
+
## Default recommendation
|
|
10
|
+
|
|
11
|
+
- use `mc release-pr` for branch refresh
|
|
12
|
+
- do not create tags on the release branch
|
|
13
|
+
- after merge, detect the durable release commit with `mc release-record --from HEAD --format json`
|
|
14
|
+
- run `mc tag-release --from HEAD` before package publishing
|
|
15
|
+
|
|
16
|
+
## Good default output
|
|
17
|
+
|
|
18
|
+
- release PR refresh strategy
|
|
19
|
+
- post-merge tagging and publish steps
|
|
20
|
+
- approval and human-review checkpoints
|
package/package.json
CHANGED
|
@@ -1,15 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
"name": "@monochange/skill",
|
|
3
|
+
"version": "0.4.2",
|
|
4
|
+
"description": "Skill for monochange adoption, release planning, and publishing guidance",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"agent",
|
|
7
|
+
"mcp",
|
|
8
|
+
"monochange",
|
|
9
|
+
"monorepo",
|
|
10
|
+
"releases",
|
|
11
|
+
"skill"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/monochange/monochange",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/monochange/monochange/issues"
|
|
16
|
+
},
|
|
17
|
+
"license": "Unlicense",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/monochange/monochange.git"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"SKILL.md",
|
|
24
|
+
"skills/reference.md",
|
|
25
|
+
"skills/changeset-guide.md",
|
|
26
|
+
"skills/artifact-types.md",
|
|
27
|
+
"skills/trusted-publishing.md",
|
|
28
|
+
"skills/multi-package-publishing.md",
|
|
29
|
+
"skills",
|
|
30
|
+
"examples",
|
|
31
|
+
"readme.md",
|
|
32
|
+
"LICENSE",
|
|
33
|
+
"changelog.md"
|
|
34
|
+
],
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public",
|
|
37
|
+
"provenance": true
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=20"
|
|
41
|
+
}
|
|
15
42
|
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# @monochange/skill
|
|
2
|
+
|
|
3
|
+
Installable agent skill for monochange.
|
|
4
|
+
|
|
5
|
+
This package bundles:
|
|
6
|
+
|
|
7
|
+
- `SKILL.md` — concise entrypoint for agents
|
|
8
|
+
- `skills/readme.md` — index of focused deep dives
|
|
9
|
+
- `skills/adoption.md` — setup-depth questions, migration guidance, and recommendation patterns
|
|
10
|
+
- `skills/changesets.md` — changeset authoring and lifecycle guidance
|
|
11
|
+
- `skills/commands.md` — built-in command catalog and usage patterns
|
|
12
|
+
- `skills/configuration.md` — `monochange.toml` setup and editing guidance
|
|
13
|
+
- `skills/linting.md` — `mc check`, `[lints]`, presets, and manifest-focused rule explanations with examples
|
|
14
|
+
- `examples/readme.md` — condensed scenario examples for quick recommendations
|
|
15
|
+
- `skills/reference.md` — high-context reference with broader examples
|
|
16
|
+
- `skills/trusted-publishing.md` — GitHub/OIDC setup guidance for `npm`, `crates.io`, `jsr`, `pub.dev`, PyPI, and Go module tags
|
|
17
|
+
- `skills/multi-package-publishing.md` — monorepo-oriented publishing patterns for multiple public packages
|
|
18
|
+
- `monochange-skill` — helper executable for printing or copying the bundled skill
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
For project-local installation through the upstream `skills add` flow, prefer:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
mc help skill
|
|
26
|
+
mc skill
|
|
27
|
+
mc skill -a pi -y
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If you need the lower-level package helper directly, install it with:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install -g @monochange/skill
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Helper usage
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
monochange-skill --print-install
|
|
40
|
+
monochange-skill --print-skill
|
|
41
|
+
monochange-skill --copy ~/.pi/agent/skills/monochange
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`monochange-skill --copy` copies the full skill bundle, including `SKILL.md`, `skills/reference.md`, `skills/trusted-publishing.md`, `skills/multi-package-publishing.md`, the `skills/` deep-dive folder, and the bundled `examples/` folder.
|
|
45
|
+
|
|
46
|
+
## What the skill teaches
|
|
47
|
+
|
|
48
|
+
The bundled skill explains how to:
|
|
49
|
+
|
|
50
|
+
- plan adoption in `quickstart`, `standard`, `full`, or `migration` mode
|
|
51
|
+
- create or refine `monochange.toml` with `mc init`, generated `[cli.*]` workflow commands, `mc step:*`, and `mc validate`
|
|
52
|
+
- inspect the normalized model with `mc discover --format json`
|
|
53
|
+
- create, update, and audit explicit change files with `mc change` and `mc diagnostics`, including dependency-follow-up notes with `caused_by`
|
|
54
|
+
- preview release effects with `mc release --dry-run --format json` and `mc release --dry-run --diff`
|
|
55
|
+
- inspect durable release history with `mc release-record`
|
|
56
|
+
- understand groups, package ids, changelogs, linting policy, package publishing, and source-provider release flows
|
|
57
|
+
- set up trusted publishing / OIDC-backed package publishing for the registries that monochange supports
|
|
58
|
+
- choose sane multi-package publish patterns when one repository ships multiple public packages
|
|
59
|
+
- point users at condensed bundled examples and fuller repository-level example indexes
|
|
60
|
+
|
|
61
|
+
Open [SKILL.md](./SKILL.md) first, then use [skills/readme.md](./skills/readme.md), [examples/readme.md](./examples/readme.md), [skills/reference.md](./skills/reference.md), [skills/trusted-publishing.md](./skills/trusted-publishing.md), and [skills/multi-package-publishing.md](./skills/multi-package-publishing.md) for the deeper sections.
|
|
62
|
+
|
|
63
|
+
For fuller repo-shaped examples in the monochange repository, see <https://github.com/monochange/monochange/tree/main/examples>.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Adoption skill
|
|
2
|
+
|
|
3
|
+
Use this guide when the user wants help deciding **how** to adopt monochange, not just which command to run next.
|
|
4
|
+
|
|
5
|
+
## First move: inspect before interrogating
|
|
6
|
+
|
|
7
|
+
Inspect the repository before asking detailed setup questions.
|
|
8
|
+
|
|
9
|
+
Look for:
|
|
10
|
+
|
|
11
|
+
- package ecosystems and workspace managers
|
|
12
|
+
- existing CI files such as `.github/workflows/*` or `.gitlab-ci.yml`
|
|
13
|
+
- existing release tooling such as changesets, knope, semantic-release, release-please, or custom scripts
|
|
14
|
+
- whether packages appear public, private, or mixed
|
|
15
|
+
- existing changelog, tag, and release-branch conventions
|
|
16
|
+
|
|
17
|
+
Use that evidence to decide confidence:
|
|
18
|
+
|
|
19
|
+
- **high confidence** — recommend a default and ask for confirmation
|
|
20
|
+
- **medium confidence** — recommend a default and ask one or two targeted questions
|
|
21
|
+
- **low confidence** — ask more questions before proposing file changes
|
|
22
|
+
|
|
23
|
+
## Ask setup depth first
|
|
24
|
+
|
|
25
|
+
Start with one question:
|
|
26
|
+
|
|
27
|
+
- `quickstart` — generate or refine config and stop at validation plus dry-run release planning
|
|
28
|
+
- `standard` — config, linting, and release preview
|
|
29
|
+
- `full` — config, linting, CI automation, publishing, and placeholder strategy when relevant
|
|
30
|
+
- `migration` — phase monochange into an existing repository safely
|
|
31
|
+
|
|
32
|
+
## Core question tree
|
|
33
|
+
|
|
34
|
+
### 1. Repository starting point
|
|
35
|
+
|
|
36
|
+
Ask:
|
|
37
|
+
|
|
38
|
+
- is this a greenfield repository or an existing one?
|
|
39
|
+
- if it already exists, what handles releases today?
|
|
40
|
+
- what must stay compatible during the first adoption phase?
|
|
41
|
+
|
|
42
|
+
Recommendation:
|
|
43
|
+
|
|
44
|
+
- prefer coexistence first for existing repositories
|
|
45
|
+
- replace old tooling only after monochange discovery and dry-run planning are trusted
|
|
46
|
+
|
|
47
|
+
### 2. Workspace shape
|
|
48
|
+
|
|
49
|
+
Ask:
|
|
50
|
+
|
|
51
|
+
- which ecosystems are present?
|
|
52
|
+
- which packages are public, private, or internal-only?
|
|
53
|
+
- should versions stay package-specific or move into groups?
|
|
54
|
+
|
|
55
|
+
Recommendation:
|
|
56
|
+
|
|
57
|
+
- prefer package ids first
|
|
58
|
+
- create groups only when the outward release identity is truly shared
|
|
59
|
+
|
|
60
|
+
### 3. Linting depth
|
|
61
|
+
|
|
62
|
+
Ask:
|
|
63
|
+
|
|
64
|
+
- does the team want minimal guardrails or stronger manifest consistency?
|
|
65
|
+
|
|
66
|
+
Recommendation:
|
|
67
|
+
|
|
68
|
+
- `minimal` — start with a small `[lints.rules]` set for publication-safety rules only
|
|
69
|
+
- `balanced` — prefer `[lints].use = ["cargo/recommended", "npm/recommended"]` plus a few targeted overrides
|
|
70
|
+
- `strict` — promote stricter presets or scoped overrides after the repo is already stable
|
|
71
|
+
|
|
72
|
+
### 4. Release orchestration
|
|
73
|
+
|
|
74
|
+
Ask:
|
|
75
|
+
|
|
76
|
+
- should releases stay local-only, use a merged release commit, or use a long-running release PR branch?
|
|
77
|
+
- which provider owns CI: GitHub, GitLab, or something custom?
|
|
78
|
+
|
|
79
|
+
Recommendation:
|
|
80
|
+
|
|
81
|
+
- default to hybrid: local discovery and dry-runs, CI for real release and publish work
|
|
82
|
+
- prefer GitHub for the most automated builtin path today
|
|
83
|
+
- on GitLab, keep planning builtin and keep publishing external more often when auth/bootstrap is already specialized
|
|
84
|
+
|
|
85
|
+
### 5. Publishing and placeholders
|
|
86
|
+
|
|
87
|
+
Ask these only if the workspace contains public packages.
|
|
88
|
+
|
|
89
|
+
Ask:
|
|
90
|
+
|
|
91
|
+
- which registries are involved?
|
|
92
|
+
- does the team want builtin or external publish jobs?
|
|
93
|
+
- do package names need to be reserved before the real release flow is ready?
|
|
94
|
+
|
|
95
|
+
Recommendation:
|
|
96
|
+
|
|
97
|
+
- GitHub + npm: builtin is the preferred default
|
|
98
|
+
- `crates.io` and `pub.dev`: external is often clearer when the registry-maintained workflow should own the publish step
|
|
99
|
+
- ask about `mc placeholder-publish` only when public names matter and the first real release may be delayed
|
|
100
|
+
|
|
101
|
+
## Final output contract
|
|
102
|
+
|
|
103
|
+
End the planning flow with a compact decision record:
|
|
104
|
+
|
|
105
|
+
- detected repo profile
|
|
106
|
+
- chosen setup depth
|
|
107
|
+
- recommended adoption path
|
|
108
|
+
- recommended `monochange.toml` shape
|
|
109
|
+
- recommended lint profile
|
|
110
|
+
- recommended CI and release strategy
|
|
111
|
+
- recommended publishing and placeholder strategy, if applicable
|
|
112
|
+
- open risks or unanswered questions
|
|
113
|
+
- next commands to run
|
|
114
|
+
|
|
115
|
+
## Guardrails
|
|
116
|
+
|
|
117
|
+
- do not write CI or publish configuration without permission
|
|
118
|
+
- do not force publishing questions into internal-only repositories
|
|
119
|
+
- do not recommend big-bang migration by default
|
|
120
|
+
- keep recommendations short, with the default plus a brief tradeoff explanation
|
|
121
|
+
|
|
122
|
+
## Related examples
|
|
123
|
+
|
|
124
|
+
- [../examples/readme.md](../examples/readme.md)
|
|
125
|
+
- full repository examples: <https://github.com/monochange/monochange/tree/main/examples>
|