@codyswann/lisa 2.189.23 → 2.190.1
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/package.json +1 -1
- package/phaser/copy-overwrite/ast-grep/rule-tests/.gitkeep +0 -0
- package/phaser/copy-overwrite/ast-grep/rules/phaser/no-canvas-renderer.yml +12 -0
- package/phaser/copy-overwrite/ast-grep/rules/phaser/no-raw-webgl-context.yml +12 -0
- package/phaser/copy-overwrite/ast-grep/utils/.gitkeep +0 -0
- package/phaser/copy-overwrite/sgconfig.yml +11 -0
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/agents/art-director.md +32 -2
- package/plugins/lisa-phaser/agents/audio-director.md +3 -1
- package/plugins/lisa-phaser/rules/phaser.md +12 -5
- package/plugins/lisa-phaser/skills/phaser-asset-pipeline/SKILL.md +94 -20
- package/plugins/lisa-phaser/skills/phaser-asset-sourcing/SKILL.md +151 -0
- package/plugins/lisa-phaser/skills/phaser-asset-sourcing/agents/openai.yaml +4 -0
- package/plugins/lisa-phaser-agy/agents/art-director.md +32 -2
- package/plugins/lisa-phaser-agy/agents/audio-director.md +3 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/skills/phaser-asset-pipeline/SKILL.md +94 -20
- package/plugins/lisa-phaser-agy/skills/phaser-asset-sourcing/SKILL.md +151 -0
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/agents/art-director.agent.md +32 -2
- package/plugins/lisa-phaser-copilot/agents/audio-director.agent.md +3 -1
- package/plugins/lisa-phaser-copilot/rules/phaser.md +12 -5
- package/plugins/lisa-phaser-copilot/skills/phaser-asset-pipeline/SKILL.md +94 -20
- package/plugins/lisa-phaser-copilot/skills/phaser-asset-sourcing/SKILL.md +151 -0
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/agents/art-director.md +32 -2
- package/plugins/lisa-phaser-cursor/agents/audio-director.md +3 -1
- package/plugins/lisa-phaser-cursor/rules/phaser.mdc +12 -5
- package/plugins/lisa-phaser-cursor/skills/phaser-asset-pipeline/SKILL.md +94 -20
- package/plugins/lisa-phaser-cursor/skills/phaser-asset-sourcing/SKILL.md +151 -0
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/phaser/agents/art-director.md +32 -2
- package/plugins/src/phaser/agents/audio-director.md +3 -1
- package/plugins/src/phaser/rules/phaser.md +12 -5
- package/plugins/src/phaser/skills/phaser-asset-pipeline/SKILL.md +94 -20
- package/plugins/src/phaser/skills/phaser-asset-sourcing/SKILL.md +151 -0
- package/rails/copy-overwrite/ast-grep/rule-tests/.gitkeep +0 -0
- package/rails/copy-overwrite/ast-grep/rules/ruby/no-find-by-sql-without-params.yml +7 -0
- package/rails/copy-overwrite/ast-grep/rules/ruby/no-params-without-permit.yml +12 -0
- package/rails/copy-overwrite/ast-grep/rules/ruby/no-raw-sql-in-where.yml +7 -0
- package/rails/copy-overwrite/ast-grep/rules/ruby/no-skip-before-action-without-scope.yml +12 -0
- package/rails/copy-overwrite/ast-grep/rules/ruby/no-unsafe-send.yml +11 -0
- package/rails/copy-overwrite/ast-grep/rules/ruby/no-update-columns.yml +11 -0
- package/rails/copy-overwrite/ast-grep/utils/.gitkeep +0 -0
- package/rails/copy-overwrite/sgconfig.yml +11 -0
- package/typescript/copy-overwrite/ast-grep/rules/no-inline-component-in-container.yml +24 -0
- package/typescript/copy-overwrite/ast-grep/rules/no-inline-component-in-view.yml +24 -0
package/package.json
CHANGED
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"ws": ">=8.20.1"
|
|
96
96
|
},
|
|
97
97
|
"name": "@codyswann/lisa",
|
|
98
|
-
"version": "2.
|
|
98
|
+
"version": "2.190.1",
|
|
99
99
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
100
100
|
"main": "dist/index.js",
|
|
101
101
|
"exports": {
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# This file is managed by Lisa.
|
|
2
|
+
# Do not edit directly — changes will be overwritten on the next `lisa` run.
|
|
3
|
+
id: phaser-no-canvas-renderer
|
|
4
|
+
language: typescript
|
|
5
|
+
severity: error
|
|
6
|
+
message: |
|
|
7
|
+
Phaser 4 targets WebGL (the new "Beam" renderer); the Canvas renderer is
|
|
8
|
+
deprecated and loses WebGL-only features (filters, GPU layers, lighting).
|
|
9
|
+
Use Phaser.AUTO (WebGL with fallback) or Phaser.WEBGL in the game config.
|
|
10
|
+
Canvas is acceptable only as an explicit, documented fallback decision.
|
|
11
|
+
rule:
|
|
12
|
+
pattern: Phaser.CANVAS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# This file is managed by Lisa.
|
|
2
|
+
# Do not edit directly — changes will be overwritten on the next `lisa` run.
|
|
3
|
+
id: phaser-no-raw-webgl-context
|
|
4
|
+
language: typescript
|
|
5
|
+
severity: error
|
|
6
|
+
message: |
|
|
7
|
+
Do not reach into the raw WebGL context (renderer.gl) in Phaser 4. Custom
|
|
8
|
+
rendering is a RenderNode (registered via render.renderNodes); external WebGL
|
|
9
|
+
work belongs in an Extern game object. Touching renderer.gl directly bypasses
|
|
10
|
+
the renderer's state tracking and breaks batching. See the phaser-rendering skill.
|
|
11
|
+
rule:
|
|
12
|
+
pattern: $OBJ.renderer.gl
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# This file is managed by Lisa.
|
|
2
|
+
# Do not edit directly — changes will be overwritten on the next `lisa` run.
|
|
3
|
+
|
|
4
|
+
# ast-grep configuration
|
|
5
|
+
# See: https://ast-grep.github.io/reference/sgconfig.html
|
|
6
|
+
ruleDirs:
|
|
7
|
+
- ast-grep/rules
|
|
8
|
+
testConfigs:
|
|
9
|
+
- testDir: ast-grep/rule-tests
|
|
10
|
+
utilDirs:
|
|
11
|
+
- ast-grep/utils
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.190.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.190.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.190.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.190.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.190.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,12 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: art-director
|
|
3
|
-
description: Art director persona agent (opt-in). Critiques visual cohesion, style-guide adherence, readability, and the art-pipeline implications for a Phaser game against the project's art direction. Reviews visual design, not engine code.
|
|
3
|
+
description: Art director persona agent (opt-in). Critiques visual cohesion, style-guide adherence, readability, and the art-pipeline implications for a Phaser game against the project's art direction. Demands real rendered art (not placeholders) and reviews rendered screenshots of the live game. Reviews visual design, not engine code.
|
|
4
|
+
skills:
|
|
5
|
+
- phaser-asset-sourcing
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# Art Director Persona Agent
|
|
7
9
|
|
|
8
10
|
You are the game's art director. You guard visual cohesion and make sure everything on screen reads and belongs together. You are a **critic**; you do not produce final art or write code.
|
|
9
11
|
|
|
12
|
+
## Review the RENDERED game, not the code
|
|
13
|
+
|
|
14
|
+
Your review is worthless if you only read source. **Look at the actual pixels**:
|
|
15
|
+
run the game (`bun run dev`) and capture rendered screenshots of each scene at
|
|
16
|
+
gameplay resolution (a Playwright screenshot, or ask for them). Critique what is
|
|
17
|
+
on screen, not what the code claims will be on screen. If you cannot see rendered
|
|
18
|
+
output, say so and treat the review as blocked — do not sign off from code alone.
|
|
19
|
+
|
|
20
|
+
## Placeholder art is a BLOCKING finding
|
|
21
|
+
|
|
22
|
+
Programmer-art placeholders — `generateTexture` rectangles, solid-color fills,
|
|
23
|
+
untextured shapes standing in for characters/props/UI — are a **top-severity,
|
|
24
|
+
blocking** result, not a stylistic nit. A scene rendered in placeholders is not
|
|
25
|
+
"on style," it is **unfinished**. Flag every placeholder-only scene explicitly,
|
|
26
|
+
point the team at **`phaser-asset-sourcing`** (route real, properly-licensed art
|
|
27
|
+
through the pipeline), and require a linked art-debt issue for any placeholder that must
|
|
28
|
+
ship temporarily. Never accept "zero binary assets / zero licensing risk" as a
|
|
29
|
+
virtue — that framing is how the game ended up as wireframes. Characters must
|
|
30
|
+
render with a **playing idle/walk animation**; a frozen single frame is a
|
|
31
|
+
placeholder smell, flag it.
|
|
32
|
+
|
|
10
33
|
## Source of Truth — the style guide is binding
|
|
11
34
|
|
|
12
35
|
- `wiki/design/art-direction.md` — the visual style guide: palette, shape language, lighting, scale, mood. Treat it as binding.
|
|
@@ -31,7 +54,12 @@ If `art-direction.md` is absent, critique against general visual-cohesion and re
|
|
|
31
54
|
## Art Direction Review
|
|
32
55
|
|
|
33
56
|
### Verdict
|
|
34
|
-
[ON STYLE / NEEDS REVISION / OFF MODEL] — one sentence
|
|
57
|
+
[ON STYLE / NEEDS REVISION / OFF MODEL / PLACEHOLDER-BLOCKED] — one sentence
|
|
58
|
+
(use PLACEHOLDER-BLOCKED whenever any reviewed scene renders in placeholder art)
|
|
59
|
+
|
|
60
|
+
### Rendered evidence
|
|
61
|
+
- [screenshots reviewed, per scene — or "BLOCKED: no rendered output available"]
|
|
62
|
+
- Placeholder/`generateTexture` art present? [list scenes] → art-debt issue linked? [#NNN / NO]
|
|
35
63
|
|
|
36
64
|
### Style-guide check
|
|
37
65
|
- Palette: ... | Shape language: ... | Lighting/mood: ... | Scale/proportion: ...
|
|
@@ -53,6 +81,8 @@ If `art-direction.md` is absent, critique against general visual-cohesion and re
|
|
|
53
81
|
|
|
54
82
|
## Rules
|
|
55
83
|
|
|
84
|
+
- Review rendered screenshots of the live game, not source code; block the review if you cannot see rendered output.
|
|
85
|
+
- Treat placeholder-only / `generateTexture` art as a top-severity blocking finding; point at `phaser-asset-sourcing` and require a linked art-debt issue for anything shipping temporarily.
|
|
56
86
|
- Hold every asset to the documented style guide; cite the guideline you're applying.
|
|
57
87
|
- Judge cohesion and readability first — a beautiful asset that doesn't belong is a failure.
|
|
58
88
|
- Always check the asset *in context* (next to existing art, at gameplay scale), not in isolation.
|
|
@@ -33,7 +33,8 @@ If `audio-direction.md` is absent, critique against general game-audio principle
|
|
|
33
33
|
## Audio Direction Review
|
|
34
34
|
|
|
35
35
|
### Verdict
|
|
36
|
-
[ON STYLE / NEEDS WORK / SILENT GAPS] — one sentence
|
|
36
|
+
[ON STYLE / NEEDS WORK / SILENT GAPS / PLACEHOLDER-BLOCKED] — one sentence
|
|
37
|
+
(use PLACEHOLDER-BLOCKED when the game ships beeps/temp audio with no tracked debt)
|
|
37
38
|
|
|
38
39
|
### Audio identity check
|
|
39
40
|
- Musical fit: ... | SFX language: ... | Mix priorities: ...
|
|
@@ -57,6 +58,7 @@ If `audio-direction.md` is absent, critique against general game-audio principle
|
|
|
57
58
|
## Rules
|
|
58
59
|
|
|
59
60
|
- Map feedback coverage first — every meaningful action should be audible; flag silent state changes at top severity.
|
|
61
|
+
- Treat temp/placeholder audio (synth beeps, un-sourced SFX) as tracked debt: acceptable only with a linked audio-debt issue, never as the finished mix; real audio must be sourced (CC0 or human-approved) and run through the audiosprite pipeline. Never frame "no audio assets" as zero-risk best practice.
|
|
60
62
|
- Judge the mix by whether critical cues survive over music and ambience.
|
|
61
63
|
- Tie issues to feedback clarity, mood, or fatigue, citing the audio-direction guideline you're applying.
|
|
62
64
|
- Respect the baked audio pipeline and the mobile audio-unlock-on-first-gesture constraint; flag anything that breaks them.
|
|
@@ -55,11 +55,18 @@ tools for scenes/assets/tilemaps) is defined for this project type but
|
|
|
55
55
|
and create no objects/tweens/timers inside `update()`**; atlas everything; use
|
|
56
56
|
`BitmapText` for high-churn text; use `SpriteGPULayer` / `TilemapGPULayer` for
|
|
57
57
|
mass rendering. See the official `game-object-components` skill.
|
|
58
|
-
7. **Baked-in asset pipeline.** Raw art in `assets/src` is packed
|
|
59
|
-
(free-tex-packer-core atlases, audiosprite, BMFont) into
|
|
60
|
-
a codegen step emits typed keys to `src/assets.ts` so a
|
|
61
|
-
is a **compile error**. No raw string asset / scene /
|
|
62
|
-
|
|
58
|
+
7. **Baked-in asset pipeline with REAL art.** Raw art in `assets/src` is packed
|
|
59
|
+
at build time (free-tex-packer-core atlases, audiosprite, BMFont) into
|
|
60
|
+
`public/assets`, and a codegen step emits typed keys to `src/assets.ts` so a
|
|
61
|
+
missing or renamed key is a **compile error**. No raw string asset / scene /
|
|
62
|
+
event keys anywhere. The art itself must be **real and licensed** — sourced
|
|
63
|
+
per `phaser-asset-sourcing` (CC0-or-equivalent only, with an exact license
|
|
64
|
+
quote + evidence URL in `assets/LICENSES.md` and committed provenance).
|
|
65
|
+
Procedural `generateTexture` placeholders are **tracked art debt**: a scene
|
|
66
|
+
may ship them **only** with a linked art-debt issue, never as the finished
|
|
67
|
+
state and never described as "zero-asset best practice." Characters ship real
|
|
68
|
+
idle+walk animation, not static frames. See `phaser-asset-sourcing` and
|
|
69
|
+
`phaser-asset-pipeline`.
|
|
63
70
|
8. **PWA on by default** via `vite-plugin-pwa` (`registerType: "autoUpdate"`,
|
|
64
71
|
`globPatterns` extended to cover game assets). See `phaser-build-deploy`.
|
|
65
72
|
9. **Cross-cutting services are scaffolded** in `src/services/**`: SoundService
|