@floegence/floe-webapp-init 0.33.0 → 0.33.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/dist/index.mjs +12 -10
- package/package.json +3 -2
- package/skills/floe-webapp/SKILL.md +55 -0
- package/skills/floe-webapp/references/playbooks.md +59 -0
- package/templates/full/AGENTS.md +13 -1
- package/templates/full/skills/floe-webapp/SKILL.md +55 -0
- package/templates/full/skills/floe-webapp/references/playbooks.md +59 -0
- package/templates/minimal/AGENTS.md +13 -1
- package/templates/minimal/skills/floe-webapp/SKILL.md +55 -0
- package/templates/minimal/skills/floe-webapp/references/playbooks.md +59 -0
- package/templates/full/_claude/commands/floe-webapp.md +0 -24
- package/templates/minimal/_claude/commands/floe-webapp.md +0 -24
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
${
|
|
4
|
-
`);const
|
|
2
|
+
import n from"node:fs";import c from"node:path";import{fileURLToPath as d}from"node:url";import S from"prompts";import{red as a,bold as f,cyan as y,green as v}from"kolorist";const h=[{name:"minimal",value:"minimal",description:"Basic setup with FloeApp"},{name:"full",value:"full",description:"Full setup with sample pages"}],j={"_package.json":"package.json",_gitignore:".gitignore","_env.example":".env.example"};async function b(){console.log(`
|
|
3
|
+
${f(y("Floe Webapp"))}
|
|
4
|
+
`);const l=process.argv.slice(2);let o=l[0],t;(l.includes("--help")||l.includes("-h"))&&(console.log(`Usage: npx @floegence/floe-webapp-init [project-name] [options]
|
|
5
5
|
|
|
6
6
|
Options:
|
|
7
7
|
--template <name> Use a specific template (minimal, full)
|
|
@@ -11,12 +11,14 @@ Examples:
|
|
|
11
11
|
npx @floegence/floe-webapp-init
|
|
12
12
|
npx @floegence/floe-webapp-init my-app
|
|
13
13
|
npx @floegence/floe-webapp-init my-app --template full
|
|
14
|
-
`),process.exit(0));const i=
|
|
15
|
-
Operation cancelled`)),process.exit(1)}});o=o||p.projectName,
|
|
14
|
+
`),process.exit(0));const i=l.indexOf("--template");if(i!==-1&&l[i+1]){const e=l[i+1];e==="minimal"||e==="full"?t=e:(console.log(a(`Invalid template: ${e}`)),console.log("Available templates: minimal, full"),process.exit(1)),o==="--template"&&(o=l[i+2])}const p=await S([{type:o?null:"text",name:"projectName",message:"Project name:",initial:"floe-app",validate:e=>e?/^[a-z0-9-_]+$/i.test(e)?!0:"Project name can only contain letters, numbers, hyphens, and underscores":"Project name is required"},{type:t?null:"select",name:"template",message:"Select a template:",choices:h.map(e=>({title:e.name,value:e.value,description:e.description}))}],{onCancel:()=>{console.log(a(`
|
|
15
|
+
Operation cancelled`)),process.exit(1)}});o=o||p.projectName,t=t||p.template,(!o||!t)&&(console.log(a("Missing required information")),process.exit(1));const s=c.resolve(o);n.existsSync(s)&&n.readdirSync(s).length>0&&(console.log(a(`
|
|
16
16
|
Directory ${o} is not empty.`)),process.exit(1)),console.log(`
|
|
17
|
-
Scaffolding project in ${
|
|
18
|
-
`);const r=
|
|
19
|
-
`)}console.log(
|
|
17
|
+
Scaffolding project in ${y(s)}...
|
|
18
|
+
`);const r=c.resolve(d(import.meta.url),"../../templates",t),m=c.resolve(d(import.meta.url),"../../skills");n.existsSync(r)||(console.log(a(`Template directory not found: ${r}`)),process.exit(1)),u(r,s);const x=c.join(s,"skills");n.existsSync(m)?u(m,x):console.log(a(`Warning: skill directory not found: ${m}`));const g=c.join(s,"package.json");if(n.existsSync(g)){const e=JSON.parse(n.readFileSync(g,"utf-8"));e.name=c.basename(o),n.writeFileSync(g,JSON.stringify(e,null,2)+`
|
|
19
|
+
`)}console.log(v(`Done!
|
|
20
20
|
`)),console.log(`Next steps:
|
|
21
|
-
`),console.log(` cd ${
|
|
22
|
-
`)
|
|
21
|
+
`),console.log(` cd ${f(o)}`),console.log(" pnpm install"),console.log(` pnpm dev
|
|
22
|
+
`),console.log(`Skill package:
|
|
23
|
+
`),console.log(` ${f("skills/floe-webapp/SKILL.md")}
|
|
24
|
+
`)}function u(l,o){n.mkdirSync(o,{recursive:!0});for(const t of n.readdirSync(l)){const i=c.join(l,t),p=j[t]||t,s=c.join(o,p);n.statSync(i).isDirectory()?u(i,s):n.copyFileSync(i,s)}}b().catch(l=>{console.error(a("Error:"),l),process.exit(1)});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@floegence/floe-webapp-init",
|
|
3
|
-
"version": "0.33.
|
|
3
|
+
"version": "0.33.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Scaffolding tool for Floe Webapp applications",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"main": "./dist/index.mjs",
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
|
-
"templates"
|
|
17
|
+
"templates",
|
|
18
|
+
"skills"
|
|
18
19
|
],
|
|
19
20
|
"scripts": {
|
|
20
21
|
"build": "unbuild",
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: floe-webapp
|
|
3
|
+
description: Implement, refactor, and debug Floe-Webapp Solid.js applications with @floegence/floe-webapp-core public exports. Use for FloeApp shell wiring, FloeComponent sidebar or command registration, lifecycle hooks, design-token-first styling, and build or typecheck failures in Floe-Webapp projects.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Floe-Webapp Skill
|
|
7
|
+
|
|
8
|
+
## Scope
|
|
9
|
+
|
|
10
|
+
- Implement or refactor pages/components in a Floe-Webapp app.
|
|
11
|
+
- Add or update `FloeComponent` registration (`sidebar`, `commands`, lifecycle hooks).
|
|
12
|
+
- Diagnose framework-usage issues and local build/lint/typecheck/test failures.
|
|
13
|
+
|
|
14
|
+
## Required Inputs
|
|
15
|
+
|
|
16
|
+
- Read project-root `AGENTS.md` first when available.
|
|
17
|
+
- If `AGENTS.md` is absent, read `README.md` and `docs/getting-started.md`.
|
|
18
|
+
- Load [references/playbooks.md](references/playbooks.md) and pick the closest playbook for the task.
|
|
19
|
+
|
|
20
|
+
## Execution Protocol
|
|
21
|
+
|
|
22
|
+
1. Verify package versions in `package.json` and lockfile before using any API surface.
|
|
23
|
+
2. Locate entry points and registration flow (`src/App.tsx`, component modules, command handlers).
|
|
24
|
+
3. Implement using only public exports from `@floegence/floe-webapp-core` (`/app`, `/ui`, `/layout`, `/icons`, root).
|
|
25
|
+
4. Align `FloeComponent.id`, sidebar items, and command navigation targets.
|
|
26
|
+
5. Keep styling on design tokens (`text-foreground`, `bg-card`, `border-border`, etc.).
|
|
27
|
+
6. Run deterministic checks before finishing:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pnpm lint
|
|
31
|
+
pnpm typecheck
|
|
32
|
+
pnpm test -- --run
|
|
33
|
+
pnpm build
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Constraints
|
|
37
|
+
|
|
38
|
+
- Solid.js only: do not use React hooks/patterns.
|
|
39
|
+
- Use `class=` in JSX, not `className=`.
|
|
40
|
+
- Do not import `@floegence/floe-webapp-core/src/...` internal paths.
|
|
41
|
+
- Keep command navigation ids aligned with registered component ids.
|
|
42
|
+
- Prefer Solid control flow in JSX (`<For>`, `<Show>`, `<Switch>/<Match>`).
|
|
43
|
+
- If API behavior is unclear, inspect installed type declarations before guessing.
|
|
44
|
+
|
|
45
|
+
## Failure Handling
|
|
46
|
+
|
|
47
|
+
- If checks fail, report the exact failing command and first actionable error.
|
|
48
|
+
- Fix root causes instead of adding compatibility shims for old code paths.
|
|
49
|
+
- If task requires risky incompatible behavior change, stop and ask for confirmation.
|
|
50
|
+
|
|
51
|
+
## Output Format
|
|
52
|
+
|
|
53
|
+
1. Brief summary of intent and implementation.
|
|
54
|
+
2. Changed files with behavior impact.
|
|
55
|
+
3. Verification result for each executed command.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Floe-Webapp Skill Playbooks
|
|
2
|
+
|
|
3
|
+
Use this file after reading `../SKILL.md`.
|
|
4
|
+
|
|
5
|
+
## Playbook A: Add Or Update A FloeComponent
|
|
6
|
+
|
|
7
|
+
1. Find the registration list:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
rg "const components|FloeComponent\\[]" src --hidden
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
2. Keep every component entry aligned:
|
|
14
|
+
- Stable `id` string.
|
|
15
|
+
- `sidebar` metadata (`order`, `renderIn`, `fullScreen`, optional `badge`).
|
|
16
|
+
- `commands` targets using the same `id`.
|
|
17
|
+
|
|
18
|
+
3. Validate shell wiring still renders through:
|
|
19
|
+
- `FloeApp`
|
|
20
|
+
- `ActivityAppsMain`
|
|
21
|
+
|
|
22
|
+
## Playbook B: Add Command Navigation
|
|
23
|
+
|
|
24
|
+
1. Search command contribution points:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
rg "commands|useCommand|command" src --hidden
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. Ensure each command action targets a registered component id.
|
|
31
|
+
3. Keep labels, ids, and sidebar destination consistent.
|
|
32
|
+
|
|
33
|
+
## Playbook C: Implement UI With Public Exports
|
|
34
|
+
|
|
35
|
+
Allowed imports:
|
|
36
|
+
- `@floegence/floe-webapp-core`
|
|
37
|
+
- `@floegence/floe-webapp-core/app`
|
|
38
|
+
- `@floegence/floe-webapp-core/ui`
|
|
39
|
+
- `@floegence/floe-webapp-core/layout`
|
|
40
|
+
- `@floegence/floe-webapp-core/icons`
|
|
41
|
+
|
|
42
|
+
Forbidden:
|
|
43
|
+
- `@floegence/floe-webapp-core/src/...`
|
|
44
|
+
|
|
45
|
+
## Playbook D: Verify And Diagnose
|
|
46
|
+
|
|
47
|
+
Run:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pnpm lint
|
|
51
|
+
pnpm typecheck
|
|
52
|
+
pnpm test -- --run
|
|
53
|
+
pnpm build
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If a command fails:
|
|
57
|
+
1. Capture the first actionable error.
|
|
58
|
+
2. Fix the nearest root cause.
|
|
59
|
+
3. Re-run from the failed command onward.
|
package/templates/full/AGENTS.md
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
# Floe-Webapp AI Coding Skill
|
|
2
2
|
|
|
3
|
-
> Tool-agnostic framework guidance for AI coding tools
|
|
3
|
+
> Tool-agnostic framework guidance for AI coding tools
|
|
4
4
|
> to generate maintainable floe-webapp applications.
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
## 0. Open Agent Skill Package
|
|
9
|
+
|
|
10
|
+
This template includes a portable skill package at:
|
|
11
|
+
|
|
12
|
+
- `skills/floe-webapp/SKILL.md`
|
|
13
|
+
- `skills/floe-webapp/references/playbooks.md`
|
|
14
|
+
|
|
15
|
+
The `SKILL.md` format follows the open Agent Skills shape (frontmatter + structured sections).
|
|
16
|
+
Agent runtimes may use different discovery paths, but this project stores the skill in a neutral location for reuse.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
8
20
|
## 1. Identity & Stack
|
|
9
21
|
|
|
10
22
|
**Floe-Webapp** is a VSCode-style web application framework built on **Solid.js**.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: floe-webapp
|
|
3
|
+
description: Implement, refactor, and debug Floe-Webapp Solid.js applications with @floegence/floe-webapp-core public exports. Use for FloeApp shell wiring, FloeComponent sidebar or command registration, lifecycle hooks, design-token-first styling, and build or typecheck failures in Floe-Webapp projects.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Floe-Webapp Skill
|
|
7
|
+
|
|
8
|
+
## Scope
|
|
9
|
+
|
|
10
|
+
- Implement or refactor pages/components in a Floe-Webapp app.
|
|
11
|
+
- Add or update `FloeComponent` registration (`sidebar`, `commands`, lifecycle hooks).
|
|
12
|
+
- Diagnose framework-usage issues and local build/lint/typecheck/test failures.
|
|
13
|
+
|
|
14
|
+
## Required Inputs
|
|
15
|
+
|
|
16
|
+
- Read project-root `AGENTS.md` first when available.
|
|
17
|
+
- If `AGENTS.md` is absent, read `README.md` and `docs/getting-started.md`.
|
|
18
|
+
- Load [references/playbooks.md](references/playbooks.md) and pick the closest playbook for the task.
|
|
19
|
+
|
|
20
|
+
## Execution Protocol
|
|
21
|
+
|
|
22
|
+
1. Verify package versions in `package.json` and lockfile before using any API surface.
|
|
23
|
+
2. Locate entry points and registration flow (`src/App.tsx`, component modules, command handlers).
|
|
24
|
+
3. Implement using only public exports from `@floegence/floe-webapp-core` (`/app`, `/ui`, `/layout`, `/icons`, root).
|
|
25
|
+
4. Align `FloeComponent.id`, sidebar items, and command navigation targets.
|
|
26
|
+
5. Keep styling on design tokens (`text-foreground`, `bg-card`, `border-border`, etc.).
|
|
27
|
+
6. Run deterministic checks before finishing:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pnpm lint
|
|
31
|
+
pnpm typecheck
|
|
32
|
+
pnpm test -- --run
|
|
33
|
+
pnpm build
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Constraints
|
|
37
|
+
|
|
38
|
+
- Solid.js only: do not use React hooks/patterns.
|
|
39
|
+
- Use `class=` in JSX, not `className=`.
|
|
40
|
+
- Do not import `@floegence/floe-webapp-core/src/...` internal paths.
|
|
41
|
+
- Keep command navigation ids aligned with registered component ids.
|
|
42
|
+
- Prefer Solid control flow in JSX (`<For>`, `<Show>`, `<Switch>/<Match>`).
|
|
43
|
+
- If API behavior is unclear, inspect installed type declarations before guessing.
|
|
44
|
+
|
|
45
|
+
## Failure Handling
|
|
46
|
+
|
|
47
|
+
- If checks fail, report the exact failing command and first actionable error.
|
|
48
|
+
- Fix root causes instead of adding compatibility shims for old code paths.
|
|
49
|
+
- If task requires risky incompatible behavior change, stop and ask for confirmation.
|
|
50
|
+
|
|
51
|
+
## Output Format
|
|
52
|
+
|
|
53
|
+
1. Brief summary of intent and implementation.
|
|
54
|
+
2. Changed files with behavior impact.
|
|
55
|
+
3. Verification result for each executed command.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Floe-Webapp Skill Playbooks
|
|
2
|
+
|
|
3
|
+
Use this file after reading `../SKILL.md`.
|
|
4
|
+
|
|
5
|
+
## Playbook A: Add Or Update A FloeComponent
|
|
6
|
+
|
|
7
|
+
1. Find the registration list:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
rg "const components|FloeComponent\\[]" src --hidden
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
2. Keep every component entry aligned:
|
|
14
|
+
- Stable `id` string.
|
|
15
|
+
- `sidebar` metadata (`order`, `renderIn`, `fullScreen`, optional `badge`).
|
|
16
|
+
- `commands` targets using the same `id`.
|
|
17
|
+
|
|
18
|
+
3. Validate shell wiring still renders through:
|
|
19
|
+
- `FloeApp`
|
|
20
|
+
- `ActivityAppsMain`
|
|
21
|
+
|
|
22
|
+
## Playbook B: Add Command Navigation
|
|
23
|
+
|
|
24
|
+
1. Search command contribution points:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
rg "commands|useCommand|command" src --hidden
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. Ensure each command action targets a registered component id.
|
|
31
|
+
3. Keep labels, ids, and sidebar destination consistent.
|
|
32
|
+
|
|
33
|
+
## Playbook C: Implement UI With Public Exports
|
|
34
|
+
|
|
35
|
+
Allowed imports:
|
|
36
|
+
- `@floegence/floe-webapp-core`
|
|
37
|
+
- `@floegence/floe-webapp-core/app`
|
|
38
|
+
- `@floegence/floe-webapp-core/ui`
|
|
39
|
+
- `@floegence/floe-webapp-core/layout`
|
|
40
|
+
- `@floegence/floe-webapp-core/icons`
|
|
41
|
+
|
|
42
|
+
Forbidden:
|
|
43
|
+
- `@floegence/floe-webapp-core/src/...`
|
|
44
|
+
|
|
45
|
+
## Playbook D: Verify And Diagnose
|
|
46
|
+
|
|
47
|
+
Run:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pnpm lint
|
|
51
|
+
pnpm typecheck
|
|
52
|
+
pnpm test -- --run
|
|
53
|
+
pnpm build
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If a command fails:
|
|
57
|
+
1. Capture the first actionable error.
|
|
58
|
+
2. Fix the nearest root cause.
|
|
59
|
+
3. Re-run from the failed command onward.
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
# Floe-Webapp AI Coding Skill
|
|
2
2
|
|
|
3
|
-
> Tool-agnostic framework guidance for AI coding tools
|
|
3
|
+
> Tool-agnostic framework guidance for AI coding tools
|
|
4
4
|
> to generate maintainable floe-webapp applications.
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
## 0. Open Agent Skill Package
|
|
9
|
+
|
|
10
|
+
This template includes a portable skill package at:
|
|
11
|
+
|
|
12
|
+
- `skills/floe-webapp/SKILL.md`
|
|
13
|
+
- `skills/floe-webapp/references/playbooks.md`
|
|
14
|
+
|
|
15
|
+
The `SKILL.md` format follows the open Agent Skills shape (frontmatter + structured sections).
|
|
16
|
+
Agent runtimes may use different discovery paths, but this project stores the skill in a neutral location for reuse.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
8
20
|
## 1. Identity & Stack
|
|
9
21
|
|
|
10
22
|
**Floe-Webapp** is a VSCode-style web application framework built on **Solid.js**.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: floe-webapp
|
|
3
|
+
description: Implement, refactor, and debug Floe-Webapp Solid.js applications with @floegence/floe-webapp-core public exports. Use for FloeApp shell wiring, FloeComponent sidebar or command registration, lifecycle hooks, design-token-first styling, and build or typecheck failures in Floe-Webapp projects.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Floe-Webapp Skill
|
|
7
|
+
|
|
8
|
+
## Scope
|
|
9
|
+
|
|
10
|
+
- Implement or refactor pages/components in a Floe-Webapp app.
|
|
11
|
+
- Add or update `FloeComponent` registration (`sidebar`, `commands`, lifecycle hooks).
|
|
12
|
+
- Diagnose framework-usage issues and local build/lint/typecheck/test failures.
|
|
13
|
+
|
|
14
|
+
## Required Inputs
|
|
15
|
+
|
|
16
|
+
- Read project-root `AGENTS.md` first when available.
|
|
17
|
+
- If `AGENTS.md` is absent, read `README.md` and `docs/getting-started.md`.
|
|
18
|
+
- Load [references/playbooks.md](references/playbooks.md) and pick the closest playbook for the task.
|
|
19
|
+
|
|
20
|
+
## Execution Protocol
|
|
21
|
+
|
|
22
|
+
1. Verify package versions in `package.json` and lockfile before using any API surface.
|
|
23
|
+
2. Locate entry points and registration flow (`src/App.tsx`, component modules, command handlers).
|
|
24
|
+
3. Implement using only public exports from `@floegence/floe-webapp-core` (`/app`, `/ui`, `/layout`, `/icons`, root).
|
|
25
|
+
4. Align `FloeComponent.id`, sidebar items, and command navigation targets.
|
|
26
|
+
5. Keep styling on design tokens (`text-foreground`, `bg-card`, `border-border`, etc.).
|
|
27
|
+
6. Run deterministic checks before finishing:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pnpm lint
|
|
31
|
+
pnpm typecheck
|
|
32
|
+
pnpm test -- --run
|
|
33
|
+
pnpm build
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Constraints
|
|
37
|
+
|
|
38
|
+
- Solid.js only: do not use React hooks/patterns.
|
|
39
|
+
- Use `class=` in JSX, not `className=`.
|
|
40
|
+
- Do not import `@floegence/floe-webapp-core/src/...` internal paths.
|
|
41
|
+
- Keep command navigation ids aligned with registered component ids.
|
|
42
|
+
- Prefer Solid control flow in JSX (`<For>`, `<Show>`, `<Switch>/<Match>`).
|
|
43
|
+
- If API behavior is unclear, inspect installed type declarations before guessing.
|
|
44
|
+
|
|
45
|
+
## Failure Handling
|
|
46
|
+
|
|
47
|
+
- If checks fail, report the exact failing command and first actionable error.
|
|
48
|
+
- Fix root causes instead of adding compatibility shims for old code paths.
|
|
49
|
+
- If task requires risky incompatible behavior change, stop and ask for confirmation.
|
|
50
|
+
|
|
51
|
+
## Output Format
|
|
52
|
+
|
|
53
|
+
1. Brief summary of intent and implementation.
|
|
54
|
+
2. Changed files with behavior impact.
|
|
55
|
+
3. Verification result for each executed command.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Floe-Webapp Skill Playbooks
|
|
2
|
+
|
|
3
|
+
Use this file after reading `../SKILL.md`.
|
|
4
|
+
|
|
5
|
+
## Playbook A: Add Or Update A FloeComponent
|
|
6
|
+
|
|
7
|
+
1. Find the registration list:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
rg "const components|FloeComponent\\[]" src --hidden
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
2. Keep every component entry aligned:
|
|
14
|
+
- Stable `id` string.
|
|
15
|
+
- `sidebar` metadata (`order`, `renderIn`, `fullScreen`, optional `badge`).
|
|
16
|
+
- `commands` targets using the same `id`.
|
|
17
|
+
|
|
18
|
+
3. Validate shell wiring still renders through:
|
|
19
|
+
- `FloeApp`
|
|
20
|
+
- `ActivityAppsMain`
|
|
21
|
+
|
|
22
|
+
## Playbook B: Add Command Navigation
|
|
23
|
+
|
|
24
|
+
1. Search command contribution points:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
rg "commands|useCommand|command" src --hidden
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. Ensure each command action targets a registered component id.
|
|
31
|
+
3. Keep labels, ids, and sidebar destination consistent.
|
|
32
|
+
|
|
33
|
+
## Playbook C: Implement UI With Public Exports
|
|
34
|
+
|
|
35
|
+
Allowed imports:
|
|
36
|
+
- `@floegence/floe-webapp-core`
|
|
37
|
+
- `@floegence/floe-webapp-core/app`
|
|
38
|
+
- `@floegence/floe-webapp-core/ui`
|
|
39
|
+
- `@floegence/floe-webapp-core/layout`
|
|
40
|
+
- `@floegence/floe-webapp-core/icons`
|
|
41
|
+
|
|
42
|
+
Forbidden:
|
|
43
|
+
- `@floegence/floe-webapp-core/src/...`
|
|
44
|
+
|
|
45
|
+
## Playbook D: Verify And Diagnose
|
|
46
|
+
|
|
47
|
+
Run:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pnpm lint
|
|
51
|
+
pnpm typecheck
|
|
52
|
+
pnpm test -- --run
|
|
53
|
+
pnpm build
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If a command fails:
|
|
57
|
+
1. Capture the first actionable error.
|
|
58
|
+
2. Fix the nearest root cause.
|
|
59
|
+
3. Re-run from the failed command onward.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Floe-Webapp Coding Skill
|
|
2
|
-
|
|
3
|
-
Load the floe-webapp coding skill and apply it to implementation tasks.
|
|
4
|
-
|
|
5
|
-
## Instructions
|
|
6
|
-
|
|
7
|
-
1. Read `AGENTS.md` at the project root first.
|
|
8
|
-
2. Treat `AGENTS.md` as tool-agnostic framework guidance.
|
|
9
|
-
3. Use the current project's `package.json`/lockfile as the version source of truth.
|
|
10
|
-
4. Follow hard constraints first:
|
|
11
|
-
- Solid.js patterns (not React)
|
|
12
|
-
- public subpath imports only
|
|
13
|
-
- design-token-first styling
|
|
14
|
-
5. Then apply the recommended coding priorities in `AGENTS.md`.
|
|
15
|
-
|
|
16
|
-
## Quick Start
|
|
17
|
-
|
|
18
|
-
When implementing a floe-webapp feature:
|
|
19
|
-
|
|
20
|
-
1. Read `AGENTS.md`.
|
|
21
|
-
2. Build with `@floegence/floe-webapp-core` public exports (`/app`, `/ui`, `/layout`, `/icons`, root).
|
|
22
|
-
3. Register features as `FloeComponent` and align `sidebar` + `commands` behavior.
|
|
23
|
-
4. Keep styles token-based (`text-foreground`, `bg-card`, `border-border`, etc.).
|
|
24
|
-
5. Validate API usage against installed dependency versions.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Floe-Webapp Coding Skill
|
|
2
|
-
|
|
3
|
-
Load the floe-webapp coding skill and apply it to implementation tasks.
|
|
4
|
-
|
|
5
|
-
## Instructions
|
|
6
|
-
|
|
7
|
-
1. Read `AGENTS.md` at the project root first.
|
|
8
|
-
2. Treat `AGENTS.md` as tool-agnostic framework guidance.
|
|
9
|
-
3. Use the current project's `package.json`/lockfile as the version source of truth.
|
|
10
|
-
4. Follow hard constraints first:
|
|
11
|
-
- Solid.js patterns (not React)
|
|
12
|
-
- public subpath imports only
|
|
13
|
-
- design-token-first styling
|
|
14
|
-
5. Then apply the recommended coding priorities in `AGENTS.md`.
|
|
15
|
-
|
|
16
|
-
## Quick Start
|
|
17
|
-
|
|
18
|
-
When implementing a floe-webapp feature:
|
|
19
|
-
|
|
20
|
-
1. Read `AGENTS.md`.
|
|
21
|
-
2. Build with `@floegence/floe-webapp-core` public exports (`/app`, `/ui`, `/layout`, `/icons`, root).
|
|
22
|
-
3. Register features as `FloeComponent` and align `sidebar` + `commands` behavior.
|
|
23
|
-
4. Keep styles token-based (`text-foreground`, `bg-card`, `border-border`, etc.).
|
|
24
|
-
5. Validate API usage against installed dependency versions.
|