@owlmeans/create-app 0.1.15 → 0.1.16

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.
Files changed (31) hide show
  1. package/README.md +12 -10
  2. package/build/run.d.ts.map +1 -1
  3. package/build/run.js +4 -6
  4. package/build/run.js.map +1 -1
  5. package/build/template.d.ts.map +1 -1
  6. package/build/template.js +5 -2
  7. package/build/template.js.map +1 -1
  8. package/package.json +2 -2
  9. package/template/{_github/copilot-instructions.md → AGENTS.md} +30 -34
  10. package/template/CLAUDE.md +10 -94
  11. package/template/_agents/scripts/link-skills.sh +82 -0
  12. package/template/{_claude → _agents}/skills/agent-memory/SKILL.md +8 -7
  13. package/template/{_claude → _agents}/skills/getting-started/SKILL.md +2 -1
  14. package/template/{_claude → _agents}/skills/git/SKILL.md +2 -1
  15. package/template/{_claude → _agents}/skills/memory-promotion/SKILL.md +5 -4
  16. package/template/{_claude → _agents}/skills/memory-recompact/SKILL.md +3 -3
  17. package/template/{_claude → _agents}/skills/reuse-code/SKILL.md +4 -3
  18. package/template/{_claude → _agents}/skills/self-education/SKILL.md +10 -10
  19. package/template/_agents/skills/skill-authoring/SKILL.md +89 -0
  20. package/template/_claude/settings.json +14 -0
  21. package/template/_claude/skills/.gitkeep +0 -0
  22. package/template/_gitignore +4 -0
  23. package/template/_claude/skills/skill-authoring/SKILL.md +0 -84
  24. package/template/_github/instructions/agent-memory.instructions.md +0 -143
  25. package/template/_github/instructions/getting-started.instructions.md +0 -62
  26. package/template/_github/instructions/git.instructions.md +0 -52
  27. package/template/_github/instructions/memory-promotion.instructions.md +0 -111
  28. package/template/_github/instructions/memory-recompact.instructions.md +0 -73
  29. package/template/_github/instructions/reuse-code.instructions.md +0 -50
  30. package/template/_github/instructions/self-education.instructions.md +0 -85
  31. package/template/_github/instructions/skill-authoring.instructions.md +0 -66
@@ -1,73 +0,0 @@
1
- ---
2
- description: "Whole-store memory recompaction and migration for .agents/memory/ — rebuild node map from project structure, merge records, enforce caps, regenerate the index, fold in and delete legacy .claude/memory and .github/memory stores. Apply when restructuring a memory store or migrating legacy stores."
3
- applyTo: "**/.agents/memory/**, **/.claude/memory/**, **/.github/memory/**"
4
- scope: general
5
- ---
6
- <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
7
-
8
- # Memory recompaction
9
-
10
- Whole-store maintenance for `.agents/memory/` (protocol:
11
- `.github/instructions/agent-memory.instructions.md`). Also the migration procedure for legacy
12
- `.claude/memory/` + `.github/memory/` stores. Store-wide rewrite — propose it when triggers
13
- appear; the operator invokes it.
14
-
15
- ## When
16
-
17
- - An index entry runs longer than one line, or the index exceeds 50 lines.
18
- - Nodes keyed by event/date/phase/task, or bodies reading as session narratives.
19
- - The same fact stated in two or more nodes.
20
- - More than ~20% of a node is stale `Status` content.
21
- - A node's `updated:` is months behind commits touching its scope.
22
- - Legacy `.claude/memory/` or `.github/memory/` dirs exist → run the migration below.
23
-
24
- ## Build the target node map first
25
-
26
- Before reading any record bodies, derive the node set from **project structure**: workspaces
27
- array / top-level dirs → subsystem nodes; then the cross-cutting concerns and external
28
- integrations actually present. Write the map down (old file/section → target node). Every
29
- existing record must land in exactly one node — or split into atoms landing in several. Only
30
- then process records.
31
-
32
- ## Per-record pass
33
-
34
- For each old file or section:
35
-
36
- 1. Apply the agent-memory extraction rule — keep invariants, cause→effect, counter-moves,
37
- symptom fingerprints; drop narratives, dates, attempt logs, anything code/git already states.
38
- 2. Route each surviving atom to its node's section (Facts / Invariants / Gotchas / Pointers;
39
- genuinely in-flight state → `Status`, dated).
40
- 3. On conflict between records, the version consistent with **current code** wins — check the
41
- code, don't average.
42
- 4. Procedure-shaped survivors do not enter nodes — route them to
43
- `.github/instructions/memory-promotion.instructions.md`. Routing means distilling them into
44
- general rules, never handing the text over verbatim.
45
-
46
- ## Legacy-store merge (migration)
47
-
48
- 1. Union `.claude/memory/` and `.github/memory/`. Same-named files are two drifted sources of
49
- ONE node — merge both; the code-consistent version wins.
50
- 2. Index-only entries with no backing file: extract the fact into its node, or drop if stale.
51
- 3. Old `## Skills` / "Key Files" index sections are dropped — skills self-describe; harness
52
- layout belongs to `CLAUDE.md` / `.github/copilot-instructions.md`. Move genuinely non-obvious
53
- dispatch hints there.
54
- 4. When the new store verifies (below), delete both legacy dirs entirely.
55
-
56
- ## Regenerate the index
57
-
58
- Rebuild `MEMORY.md` from the resulting nodes per the agent-memory format — never edit the old
59
- index incrementally.
60
-
61
- ## Verify
62
-
63
- - Every node file is listed in the index; every listed node exists; every wiki-link resolves.
64
- - All caps met (index ≤ 50 lines; nodes ≤ 120; entries ≤ 3 lines; Status ≤ 5 dated lines).
65
- - No dates outside `Status` and `updated:`; no event-keyed filenames.
66
- - Both root instruction files' Memory sections point at `.agents/memory/`.
67
- - Legacy dirs gone; `grep -rn '\.claude/memory\|\.github/memory'` over the repo's harness files
68
- returns nothing but allowlisted historical mentions.
69
-
70
- ## Report
71
-
72
- One table: **Node** | **Sources merged** | **Lines before → after**. Follow the Reporting rule
73
- (what, not why).
@@ -1,50 +0,0 @@
1
- ---
2
- description: "Discovery-first, reuse-first workflow for OwlMeans projects. Apply before planning or building any feature, before proposing a third-party library or custom solution, and after writing code: find an existing @owlmeans/* package or existing code first, extend before writing new, and simplify what you write."
3
- applyTo: "**/*.ts, **/*.tsx, **/package.json"
4
- scope: general
5
- ---
6
- <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
7
-
8
- # Reuse before you build
9
-
10
- OwlMeans ships a large framework of `@owlmeans/*` packages. Before proposing a third-party library,
11
- designing a custom solution, or finishing a feature, exhaust what already exists. Apply these four
12
- steps in order — during planning **and** implementation.
13
-
14
- ## 1. Find an `@owlmeans/*` package first
15
-
16
- - **Consult the deployed instructions.** Each installed `@owlmeans/*` package ships
17
- `.github/instructions/<pkg>.instructions.md` (and `.claude/skills/<pkg>/SKILL.md`) describing what it
18
- does — your local catalogue of installed capabilities.
19
- - **Scan installed packages** in `node_modules/@owlmeans/*` and, in a workspace, the nested
20
- `sources/*/node_modules/@owlmeans/*`.
21
- - **Discover not-yet-installed packages** by researching the **owlmeans/common** repository — its
22
- `tree.md` dependency map and per-package READMEs.
23
-
24
- ### Local vs. web research (the symlink rule)
25
-
26
- - `ls -la node_modules/@owlmeans/<pkg>`: a **symlink escaping `node_modules`** — or a project whose own
27
- workspace publishes `@owlmeans/*` packages (**this is the common repo**) — means the source is local.
28
- **Research locally** (`tree.md`, the package sources, the canonical instructions); do **not** use the
29
- internet.
30
- - Otherwise (clean npm install), **research the web**: https://github.com/owlmeans/common.
31
-
32
- After adding an `@owlmeans/*` dependency, run `npx @owlmeans/agent-skills` to deploy its instruction.
33
- Prefer an `@owlmeans/*` package over a third-party library or bespoke code.
34
-
35
- ## 2. Reuse or extend before writing custom
36
-
37
- If an installed package nearly fits, configure or extend it (its resources, services, modules, helpers)
38
- rather than writing a parallel implementation.
39
-
40
- ## 3. No package? Reuse code and extract an abstraction
41
-
42
- Search the codebase for code solving a **similar** problem. Factor out a shared helper or abstraction
43
- instead of duplicating or starting from scratch. Write new code only when nothing reusable exists.
44
-
45
- ## 4. Simplify after writing
46
-
47
- Review new code: can it be shorter, clearer, fewer moving parts? Lean on framework utilities, drop dead
48
- branches. Less code that reuses the framework beats more bespoke code.
49
-
50
- See the `dependency-tree`, `scaffolding`, and `bun` instructions.
@@ -1,85 +0,0 @@
1
- ---
2
- description: "Mandatory post-development skill/instruction updating — after adding or changing functionality, rewrite touched project guidance as current rules (never as change notes), note external-doc findings in the governing instruction, or add instructions for new subsystems/technologies; required before the completion report when development started from an agreed plan. Apply when editing skills or instruction files after development."
3
- applyTo: "**/.claude/skills/**, **/.github/instructions/**"
4
- scope: general
5
- ---
6
- <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
7
-
8
- # Self-education
9
-
10
- After functionality is added or changed, the guidance that describes it must catch up — the agent
11
- teaches itself for next time. This pass runs after implementation and verification, **before**
12
- the completion report.
13
-
14
- ## When (mandatory)
15
-
16
- Development "started from planning" when the session produced a plan the operator approved before
17
- implementation — a plan approval, an agreed written plan/spec, or an explicit "go ahead" on a
18
- proposed approach. **Approval of a plan is simultaneously approval of its implicit final step:
19
- this self-education pass.** A planned task is not finishable without it. If guidance files cannot
20
- be edited (read-only run), list the required updates in the report instead.
21
-
22
- Also recommended after any unplanned change that made an existing instruction/skill inaccurate.
23
-
24
- ## Review checklist
25
-
26
- For each area the work touched:
27
-
28
- 1. Which existing instruction/skill covers it? (Check `.github/instructions/` +
29
- `.claude/skills/`.)
30
- 2. Do its commands, paths, APIs, and behavior claims still hold after the change?
31
- 3. Fix in place — rewrite the affected lines so they describe current behavior; never append a
32
- note about what this change did. Keep the instruction and its skill twin in sync.
33
-
34
- ## Shape of an update
35
-
36
- Instructions and skills state **current rules, not what changed**. Every edit is a rewrite in
37
- place of the affected lines.
38
-
39
- Never write into an instruction or skill: dated bulletins ("2026-07-05 — …"), phase or migration
40
- status ("Phase 3 complete", "migration done", "landed"), "formerly X, now Y", incident
41
- narratives, fixed-bug logs, or point-in-time inventories. If a line only makes sense to someone
42
- who watched the change happen, it does not belong in guidance — the rule it taught does, stated
43
- timelessly. Facts too specific to generalize go to `.agents/memory/`
44
- (`.github/instructions/agent-memory.instructions.md`); the rewrite recipe is
45
- `.github/instructions/memory-promotion.instructions.md` → Distillation.
46
-
47
- Test: a finished instruction reads as though the feature was always this way.
48
-
49
- ## Non-project instructions
50
-
51
- If a general or imported instruction gained an important usage pattern during the work, add the
52
- pattern to the **deployed copy** in this repo and note it in the report as an upstream
53
- candidate — canonical archive copies change only on explicit operator request.
54
-
55
- ## External docs
56
-
57
- If the work required reading internet documentation for an external API, library, or service,
58
- the governing instruction must record it under an `## External docs` heading:
59
-
60
- ```
61
- - <URL> — <one-line gist of what it settled> (<version/date if load-bearing>)
62
- ```
63
-
64
- Governing instruction = the project instruction covering the touched area; else the one covering
65
- that library; if none exists and the technology will recur, create one (update-vs-create rule in
66
- `.github/instructions/memory-promotion.instructions.md`). Never leave doc findings only in
67
- memory or the conversation.
68
-
69
- ## New subsystems / technologies
70
-
71
- When new technology or a new subsystem entered the repo: create the instruction/skill pair for
72
- its procedures, and/or the `.agents/memory/` node for its facts — split along the
73
- memory-vs-instruction boundary (`.github/instructions/agent-memory.instructions.md` /
74
- `.github/instructions/memory-promotion.instructions.md`).
75
-
76
- ## Completion gate
77
-
78
- The completion report must contain a Self-education table:
79
-
80
- | Item | Action | Path |
81
- |---|---|---|
82
- | <area/skill> | updated / created / none-needed | <path> |
83
-
84
- "none-needed" requires a one-phrase reason. A post-plan completion report without this table is
85
- a protocol violation.
@@ -1,66 +0,0 @@
1
- ---
2
- description: "How to add agent guidance to an OwlMeans project — author a Claude Code skill (.claude/skills/<name>/SKILL.md) and the matching Copilot instruction (.github/instructions/<name>.instructions.md), keep them in sync, and choose skill vs memory. Apply when capturing knowledge as a skill or instruction."
3
- applyTo: "**/.claude/skills/**, **/.github/instructions/**"
4
- scope: general
5
- ---
6
- <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
7
-
8
- # Authoring agent guidance (skills + instructions)
9
-
10
- OwlMeans projects carry agent guidance in two parallel places so both Claude Code and GitHub
11
- Copilot can use it:
12
-
13
- | Tool | Location | Shape |
14
- |---|---|---|
15
- | Claude Code | `.claude/skills/<name>/SKILL.md` | one directory per skill, `SKILL.md` is the entrypoint |
16
- | GitHub Copilot | `.github/instructions/<name>.instructions.md` | one file per topic |
17
-
18
- Author **both** for any guidance you want available to either tool, using the same `<name>` on both
19
- sides so they read as one topic.
20
-
21
- ## SKILL.md frontmatter (Claude Code)
22
-
23
- ```yaml
24
- ---
25
- name: my-skill # the /slash-command (lowercase, hyphens)
26
- description: What it does and WHEN to use it. # primary auto-invocation signal
27
- user-invocable: true # false = background knowledge only
28
- allowed-tools: Bash(bun *) Read # optional
29
- ---
30
- ```
31
-
32
- The `description` decides when Claude auto-invokes the skill — describe the topic and the trigger.
33
-
34
- ## Instruction frontmatter (Copilot)
35
-
36
- ```yaml
37
- ---
38
- description: "Short summary — apply when …"
39
- applyTo: "**/*.ts, **/relevant/**" # globs that auto-attach this instruction
40
- ---
41
- ```
42
-
43
- `applyTo` controls when Copilot attaches the instruction. Use the patterns the guidance is about;
44
- fall back to `**/*.ts, **/*.tsx` if broadly relevant.
45
-
46
- ## Keep the pair in sync
47
-
48
- Change one side, change the other. They need not be identical prose but must not contradict.
49
- Cross-reference related guidance by name.
50
-
51
- ## Skill vs memory
52
-
53
- - **Skill / instruction** — a reusable procedure or reference worth auto-invoking.
54
- - **Memory** (shared `.agents/memory/` graph store, both tools) — a fact, decision, or gotcha
55
- specific to this project's history. See the agent-memory instruction; promotion triggers live
56
- in the memory-promotion instruction.
57
-
58
- Never paste memory text into guidance. Memory content enters an instruction or skill only as a
59
- restated general rule — trigger, step, and the failure it prevents, with dates, phase/status
60
- markers, versions and incident narrative stripped (memory-promotion instruction → Distillation).
61
-
62
- ## After adding a skill
63
-
64
- If it distilled memory content into rules, shrink the source `.agents/memory/` node to a pointer line
65
- (memory-promotion instruction) — the memory index does not list skills. Reference it from
66
- `.github/copilot-instructions.md` / `CLAUDE.md` if it should be discoverable every session.