@owlmeans/create-app 0.1.18-rc.35 → 0.1.18-rc.37
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 +1 -1
- package/build/args.js +2 -1
- package/build/bin.js +1 -0
- package/build/index.js +1 -0
- package/build/naming.js +1 -0
- package/build/run.js +3 -2
- package/build/scaffold.js +1 -0
- package/build/template.js +1 -0
- package/package.json +2 -2
- package/template/AGENTS.md +1 -1
- package/template/README.bare.md +1 -1
- package/template/_agents/skills/memory-recompact/SKILL.md +2 -2
- package/template/_agents/skills/reuse-code/SKILL.md +2 -2
- package/template/_agents/skills/self-education/SKILL.md +6 -0
- package/template/_agents/skills/skill-authoring/SKILL.md +27 -3
- package/template/sources/api/package.json +2 -2
- package/template/sources/common/package.json +5 -5
- package/template/sources/web/package.json +10 -10
package/README.md
CHANGED
package/build/args.js
CHANGED
|
@@ -5,7 +5,7 @@ Usage:
|
|
|
5
5
|
npm create @owlmeans/app@latest <dir> [options]
|
|
6
6
|
bun create @owlmeans/app <dir> [options]
|
|
7
7
|
yarn create @owlmeans/app <dir> [options]
|
|
8
|
-
npx @owlmeans/create-app@^0.1.18-rc.
|
|
8
|
+
npx @owlmeans/create-app@^0.1.18-rc.37 <dir> [options]
|
|
9
9
|
|
|
10
10
|
Generates three workspaces (common + api + web) with shadcn UI navigation and
|
|
11
11
|
layout, no authentication, and a session-scoped in-memory resource on the
|
|
@@ -147,3 +147,4 @@ export const parseArgs = (argv) => {
|
|
|
147
147
|
export const printHelp = () => {
|
|
148
148
|
process.stdout.write(HELP);
|
|
149
149
|
};
|
|
150
|
+
//# sourceMappingURL=args.js.map
|
package/build/bin.js
CHANGED
package/build/index.js
CHANGED
|
@@ -3,3 +3,4 @@ export { parseArgs, printHelp } from './args.js';
|
|
|
3
3
|
export { scaffold } from './scaffold.js';
|
|
4
4
|
export { copyTemplate, templateDir, isEmptyDir } from './template.js';
|
|
5
5
|
export { DEFAULT_LANG, defaultDescription, isValidLang, isValidSlug, LANG_PATTERN, SLUG_PATTERN, slugify, titleize } from './naming.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
package/build/naming.js
CHANGED
|
@@ -15,3 +15,4 @@ export const slugify = (input) => basename(input)
|
|
|
15
15
|
|| 'owlmeans-app';
|
|
16
16
|
export const titleize = (slug) => slug.split('-').filter(Boolean).map(w => w[0].toUpperCase() + w.slice(1)).join(' ');
|
|
17
17
|
export const defaultDescription = (name) => `${name} — a fullstack OwlMeans Common app.`;
|
|
18
|
+
//# sourceMappingURL=naming.js.map
|
package/build/run.js
CHANGED
|
@@ -50,7 +50,7 @@ export const run = async (args) => {
|
|
|
50
50
|
log(args.install
|
|
51
51
|
? '\nDeploying agent skills via @owlmeans/agent-skills…'
|
|
52
52
|
: '\nDeploying harness guidance via @owlmeans/agent-skills (general skills only — re-run'
|
|
53
|
-
+ '\n`npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
53
|
+
+ '\n`npx @owlmeans/agent-skills@^0.1.18-rc.29` after installing to add the package-specific ones)…');
|
|
54
54
|
try {
|
|
55
55
|
const result = await installSkills({
|
|
56
56
|
dir: dest,
|
|
@@ -62,7 +62,7 @@ export const run = async (args) => {
|
|
|
62
62
|
help: false,
|
|
63
63
|
});
|
|
64
64
|
if (result.code !== 0) {
|
|
65
|
-
process.stderr.write(` agent-skills exited with code ${result.code} — you can re-run \`npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
65
|
+
process.stderr.write(` agent-skills exited with code ${result.code} — you can re-run \`npx @owlmeans/agent-skills@^0.1.18-rc.29\` later.\n`);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
catch (err) {
|
|
@@ -87,3 +87,4 @@ export const run = async (args) => {
|
|
|
87
87
|
log('project is for and fill in its purpose for you.\n');
|
|
88
88
|
return 0;
|
|
89
89
|
};
|
|
90
|
+
//# sourceMappingURL=run.js.map
|
package/build/scaffold.js
CHANGED
package/build/template.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/create-app",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.37",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Scaffold a fullstack OwlMeans Common app — common + api + web workspaces, shadcn UI navigation/layout, no auth, and a session-scoped in-memory resource, or --bare for the demo-free shell. Also usable programmatically via scaffold(). Deploys agent skills via @owlmeans/agent-skills by default.",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"template"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@owlmeans/agent-skills": "^0.1.18-rc.
|
|
33
|
+
"@owlmeans/agent-skills": "^0.1.18-rc.29"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@owlmeans/dep-config": "workspace:*",
|
package/template/AGENTS.md
CHANGED
|
@@ -94,7 +94,7 @@ from the installed `@owlmeans/*` packages. Agents load a skill by topic, or you
|
|
|
94
94
|
explicitly. Copilot and Codex read `.agents/skills/` directly; Claude Code reads the generated
|
|
95
95
|
symlinks in `.claude/skills/` (see `CLAUDE.md`).
|
|
96
96
|
|
|
97
|
-
- After adding or updating any `@owlmeans/*` dependency, run `npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
97
|
+
- After adding or updating any `@owlmeans/*` dependency, run `npx @owlmeans/agent-skills@^0.1.18-rc.29` to refresh
|
|
98
98
|
the deployed skills.
|
|
99
99
|
- Deployed files carry an `AUTO-GENERATED` banner and are refreshed in place — never hand-edit them.
|
|
100
100
|
- To capture your own guidance, see the `skill-authoring` skill; to turn repeatedly-used memory into
|
package/template/README.bare.md
CHANGED
|
@@ -49,8 +49,8 @@ For each old file or section:
|
|
|
49
49
|
1. Union every source. Two same-named files are two drifted sources of ONE node — merge both;
|
|
50
50
|
the code-consistent version wins.
|
|
51
51
|
2. Index-only entries with no backing file: extract the fact into its node, or drop if stale.
|
|
52
|
-
3. `## Skills` / "Key Files" index sections are dropped — skills self-describe; harness layout
|
|
53
|
-
|
|
52
|
+
3. `## Skills` / "Key Files" index sections are dropped — skills self-describe; harness layout belongs to `AGENTS.md`; a genuinely non-obvious dispatch hint goes into the
|
|
53
|
+
owning skill's `description:`, never into `AGENTS.md`.
|
|
54
54
|
4. When the new store verifies (below), delete every merged source entirely.
|
|
55
55
|
|
|
56
56
|
## Regenerate the index
|
|
@@ -47,7 +47,7 @@ How you research the repo depends on whether `@owlmeans/*` is linked locally:
|
|
|
47
47
|
**https://github.com/owlmeans/common** — `tree.md` and package READMEs — to find the right package.
|
|
48
48
|
|
|
49
49
|
This is the same dev-linked detection `@owlmeans/agent-skills` uses (see its `detectLinked`). After
|
|
50
|
-
adding an `@owlmeans/*` dependency, run `npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
50
|
+
adding an `@owlmeans/*` dependency, run `npx @owlmeans/agent-skills@^0.1.18-rc.29` to deploy its
|
|
51
51
|
skill. Prefer an `@owlmeans/*` package over a third-party library or bespoke code whenever one fits.
|
|
52
52
|
|
|
53
53
|
### Never add an OwlMeans dependency without an explicit range
|
|
@@ -57,7 +57,7 @@ other `@owlmeans/*` packages:
|
|
|
57
57
|
|
|
58
58
|
```json
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@owlmeans/queue": "^0.1.18-rc.
|
|
60
|
+
"@owlmeans/queue": "^0.1.18-rc.23"
|
|
61
61
|
}
|
|
62
62
|
```
|
|
63
63
|
|
|
@@ -32,6 +32,9 @@ For each area the work touched:
|
|
|
32
32
|
2. Do its commands, paths, APIs, and behavior claims still hold after the change?
|
|
33
33
|
3. Fix in place — rewrite the affected lines so they describe current behavior; never append a
|
|
34
34
|
note about what this change did.
|
|
35
|
+
4. Never record what the work taught in `AGENTS.md`: the rule goes to the governing skill, the
|
|
36
|
+
incident to `.agents/memory/`. `AGENTS.md` gains at most a new skill's one index line or a new
|
|
37
|
+
repo-wide mandatory rule in one line (`create-skill` → What may enter AGENTS.md).
|
|
35
38
|
|
|
36
39
|
## Shape of an update
|
|
37
40
|
|
|
@@ -87,6 +90,9 @@ memory-vs-skill boundary (`agent-memory` / `memory-promotion`).
|
|
|
87
90
|
|
|
88
91
|
## Completion gate
|
|
89
92
|
|
|
93
|
+
Before reporting, run `sh .agents/scripts/agents-size.sh`; if `AGENTS.md` is over budget, move
|
|
94
|
+
lines out to their skills first.
|
|
95
|
+
|
|
90
96
|
The completion report must contain a Self-education table:
|
|
91
97
|
|
|
92
98
|
| Item | Action | Path |
|
|
@@ -26,8 +26,8 @@ imports one.
|
|
|
26
26
|
**Rule or skill?** A rule is policy that has to hold whether or not anyone thought to load
|
|
27
27
|
anything — the git workflow is the standing example, whether a repo keeps it as
|
|
28
28
|
`.agents/rules/git.md` or inline in `AGENTS.md`. A skill is guidance for a task, loaded when that
|
|
29
|
-
task comes up. If it only matters while you are doing X, write a skill; if breaking it is wrong at
|
|
30
|
-
|
|
29
|
+
task comes up. If it only matters while you are doing X, write a skill; if breaking it is wrong at any moment, state it in a line or two where `AGENTS.md` loads it every
|
|
30
|
+
session, and keep its detail in a skill (§ What may enter AGENTS.md).
|
|
31
31
|
|
|
32
32
|
`.agents/skills/` is the [Agent Skills](https://agentskills.io) standard location: GitHub Copilot
|
|
33
33
|
and Codex discover it natively. Claude Code reads skills only from `.claude/skills/`, so each skill
|
|
@@ -63,6 +63,14 @@ that package's own guidance completely, and the installer reports the file as a
|
|
|
63
63
|
run. Give a skill about your own use of `@owlmeans/payment` a name of its own — `billing`, or your
|
|
64
64
|
product's name with a suffix — never `payment`.
|
|
65
65
|
|
|
66
|
+
**Never name a skill after a Claude Code built-in slash command.** Claude Code resolves `/<name>` to
|
|
67
|
+
a skill before the built-in command of the same name, so a skill called `context`, `config`,
|
|
68
|
+
`memory` or `review` makes that command unreachable wherever the skill is installed or linked, and
|
|
69
|
+
nothing reports it. The same holds for a command's aliases (`/settings` is `/config`, `/cost` is
|
|
70
|
+
`/usage`) and for the skills Claude Code bundles (`/loop`, `/simplify`); type `/` in a Claude Code
|
|
71
|
+
session to see every taken name. OwlMeans package skills follow this too: the guidance for
|
|
72
|
+
`@owlmeans/context` and `@owlmeans/config` ships as `owlmeans-context` and `owlmeans-config`.
|
|
73
|
+
|
|
66
74
|
The `description` is the most important field: every agent uses it to decide when to load the
|
|
67
75
|
skill, so state both the topic and the trigger ("Use when …"). Keep it under 1024 characters —
|
|
68
76
|
Copilot rejects longer ones. It is YAML, so a value containing `: ` (colon-space) has to be quoted
|
|
@@ -122,10 +130,26 @@ Never paste memory text into a skill. Memory content enters guidance only as a r
|
|
|
122
130
|
rule — trigger, step, and the failure it prevents, with dates, phase/status markers, versions and
|
|
123
131
|
incident narrative stripped (`memory-promotion` → Distillation).
|
|
124
132
|
|
|
133
|
+
## What may enter AGENTS.md
|
|
134
|
+
|
|
135
|
+
`AGENTS.md` — with every file it `@`-imports and `.agents/memory/MEMORY.md` — is loaded in full in
|
|
136
|
+
every session, so it has a budget: **≤ 40 000 chars**, checked by `sh .agents/scripts/agents-size.sh`
|
|
137
|
+
from the repo root where the repo carries it. A line enters it only as:
|
|
138
|
+
|
|
139
|
+
1. a mandatory rule that must hold before any skill is loaded (git, reporting, environments,
|
|
140
|
+
naming) — stated in one or two lines, with the detail in a skill;
|
|
141
|
+
2. one line of the package map or the command list;
|
|
142
|
+
3. one line of the skills index: `` - `/name` — when to load it ``, ≤ 160 chars.
|
|
143
|
+
|
|
144
|
+
Everything else is loaded on demand: a subsystem's rules, contracts and failure fingerprints go to
|
|
145
|
+
the skill that governs it, and the outage that taught them to `.agents/memory/`. Never paraphrase a
|
|
146
|
+
skill's `description:` into the index — skills self-describe. A change that would push the file over
|
|
147
|
+
budget shortens or moves an existing line in the same change.
|
|
148
|
+
|
|
125
149
|
## After adding a skill
|
|
126
150
|
|
|
127
151
|
1. If it replaces an ad-hoc `.agents/<topic>.md`, remove that file.
|
|
128
152
|
2. If it distilled memory content into rules, shrink the source `.agents/memory/` node to a
|
|
129
153
|
pointer line (`memory-promotion`) — the memory index does not list skills.
|
|
130
|
-
3.
|
|
154
|
+
3. Add one line to the skills index in `AGENTS.md` (`/name` — when to load it, ≤ 160 chars) — never a paragraph (§ What may enter AGENTS.md).
|
|
131
155
|
4. Run `sh .agents/scripts/link-skills.sh`.
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"typecheck": "tsc -b"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@owlmeans/server-app": "^0.1.18-rc.
|
|
15
|
-
"@owlmeans/static-resource": "^0.1.18-rc.
|
|
14
|
+
"@owlmeans/server-app": "^0.1.18-rc.33",
|
|
15
|
+
"@owlmeans/static-resource": "^0.1.18-rc.25",
|
|
16
16
|
"__APP_SLUG__-common": "workspace:^"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
"typecheck": "tsc -b"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@owlmeans/config": "^0.1.18-rc.
|
|
23
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
24
|
-
"@owlmeans/error": "^0.1.18-rc.
|
|
25
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
26
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
22
|
+
"@owlmeans/config": "^0.1.18-rc.29",
|
|
23
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.28",
|
|
24
|
+
"@owlmeans/error": "^0.1.18-rc.27",
|
|
25
|
+
"@owlmeans/resource": "^0.1.18-rc.27",
|
|
26
|
+
"@owlmeans/route": "^0.1.18-rc.26",
|
|
27
27
|
"ajv": "^8.17.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
@@ -11,16 +11,16 @@
|
|
|
11
11
|
"preview": "vite preview"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@owlmeans/client": "^0.1.18-rc.
|
|
15
|
-
"@owlmeans/client-config": "^0.1.18-rc.
|
|
16
|
-
"@owlmeans/client-context": "^0.1.18-rc.
|
|
17
|
-
"@owlmeans/client-entrypoint": "^0.1.18-rc.
|
|
18
|
-
"@owlmeans/client-i18n": "^0.1.18-rc.
|
|
19
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
20
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
21
|
-
"@owlmeans/state": "^0.1.18-rc.
|
|
22
|
-
"@owlmeans/web-client": "^0.1.18-rc.
|
|
23
|
-
"@owlmeans/web-panel": "^0.1.18-rc.
|
|
14
|
+
"@owlmeans/client": "^0.1.18-rc.32",
|
|
15
|
+
"@owlmeans/client-config": "^0.1.18-rc.29",
|
|
16
|
+
"@owlmeans/client-context": "^0.1.18-rc.30",
|
|
17
|
+
"@owlmeans/client-entrypoint": "^0.1.18-rc.29",
|
|
18
|
+
"@owlmeans/client-i18n": "^0.1.18-rc.31",
|
|
19
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.28",
|
|
20
|
+
"@owlmeans/route": "^0.1.18-rc.26",
|
|
21
|
+
"@owlmeans/state": "^0.1.18-rc.26",
|
|
22
|
+
"@owlmeans/web-client": "^0.1.18-rc.41",
|
|
23
|
+
"@owlmeans/web-panel": "^0.1.18-rc.50",
|
|
24
24
|
"@radix-ui/react-label": "^2.1.0",
|
|
25
25
|
"@radix-ui/react-navigation-menu": "^1.2.14",
|
|
26
26
|
"@radix-ui/react-progress": "^1.1.0",
|