cabloy 5.1.51 → 5.1.52
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/.claude/skills/cabloy-contract-loop/SKILL.md +1 -1
- package/.claude/skills/cabloy-frontend-scaffold/SKILL.md +1 -1
- package/.claude/skills/cabloy-workflow/SKILL.md +8 -4
- package/.claude/skills/cabloy-workflow/references/edition-detection.md +3 -2
- package/.github/workflows/docs-pages.yml +2 -0
- package/CHANGELOG.md +25 -0
- package/CLAUDE.md +4 -4
- package/README.md +36 -21
- package/cabloy-docs/.vitepress/config.mjs +33 -0
- package/cabloy-docs/ai/class-placement-rule.md +1 -0
- package/cabloy-docs/ai/cli-for-agents.md +1 -1
- package/cabloy-docs/ai/docs-skills-rules-mapping.md +1 -0
- package/cabloy-docs/ai/edition-consistency-checklist.md +150 -0
- package/cabloy-docs/ai/edition-detection.md +3 -3
- package/cabloy-docs/ai/global-bean-lookup.md +1 -0
- package/cabloy-docs/ai/introduction.md +3 -3
- package/cabloy-docs/ai/repo-guidance.md +2 -2
- package/cabloy-docs/ai/rules-and-config.md +1 -1
- package/cabloy-docs/ai/skills.md +2 -0
- package/cabloy-docs/ai/verification.md +1 -0
- package/cabloy-docs/ai/virtual-decorator-guidance.md +206 -0
- package/cabloy-docs/backend/introduction.md +2 -2
- package/cabloy-docs/backend/logger-guide.md +1 -1
- package/cabloy-docs/backend/quickstart.md +3 -3
- package/cabloy-docs/editions/cabloy-basic.md +4 -3
- package/cabloy-docs/editions/cabloy-start.md +33 -2
- package/cabloy-docs/editions/choosing-between-basic-and-start.md +84 -0
- package/cabloy-docs/editions/overview.md +83 -20
- package/cabloy-docs/frontend/foundation.md +3 -2
- package/cabloy-docs/frontend/introduction.md +5 -4
- package/cabloy-docs/frontend/quickstart.md +3 -2
- package/cabloy-docs/frontend/scripts.md +2 -2
- package/cabloy-docs/fullstack/cli.md +118 -0
- package/cabloy-docs/fullstack/comparison-with-other-frameworks.md +117 -0
- package/cabloy-docs/fullstack/edition-collaboration-differences.md +3 -2
- package/cabloy-docs/fullstack/introduction.md +45 -33
- package/cabloy-docs/fullstack/quickstart.md +7 -4
- package/cabloy-docs/fullstack/vona-zova-integration.md +2 -2
- package/cabloy-docs/fullstack/vscode-extensions.md +126 -0
- package/cabloy-docs/index.md +39 -40
- package/cabloy-docs/reference/glossary.md +2 -2
- package/cabloy-docs/reference/repo-scripts.md +1 -1
- package/package.json +1 -1
- package/vona/README.md +1 -1
- package/vona/pnpm-lock.yaml +383 -38
- package/vona/src/suite-vendor/a-cabloy/modules/a-ssr/package.json +1 -1
- package/vona/src/suite-vendor/a-cabloy/modules/a-ssr/src/.metadata/index.ts +49 -1
- package/vona/src/suite-vendor/a-cabloy/modules/a-ssr/src/controller/memoryDiag.ts +97 -0
- package/vona/src/suite-vendor/a-cabloy/package.json +1 -1
- package/zova/README.md +1 -1
- package/zova/package.original.json +4 -4
- package/zova/packages-cli/cli/package.json +2 -2
- package/zova/packages-cli/cli-set-front/package.json +2 -2
- package/zova/packages-utils/zova-jsx/package.json +2 -2
- package/zova/packages-utils/zova-vite/package.json +2 -2
- package/zova/packages-utils/zova-vite/templates/app/controller.tsx_ +3 -3
- package/zova/packages-zova/zova/package.json +3 -3
- package/zova/packages-zova/zova-core/package.json +2 -2
- package/zova/packages-zova/zova-core/src/bean/beanContainer.ts +3 -3
- package/zova/packages-zova/zova-core/src/bean/beanControllerPageBase.ts +1 -0
- package/zova/packages-zova/zova-core/src/core/component/module.ts +16 -16
- package/zova/packages-zova/zova-core/src/core/context/component.ts +35 -3
- package/zova/packages-zova/zova-core/src/core/context/util.ts +15 -11
- package/zova/pnpm-lock.yaml +1596 -1679
- package/zova/src/suite/a-demo/modules/demo-basic/src/.metadata/index.ts +11 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/.metadata/page/toolMinimal.ts +9 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/page/toolMinimal/controller.tsx +11 -0
- package/zova/src/suite/a-demo/modules/demo-basic/src/routes.ts +10 -0
- package/zova/src/suite-vendor/a-zova/modules/a-model/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-model/src/service/storage.ts +4 -5
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/monkey.ts +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/src/lib/ssr.ts +36 -1
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/src/lib/ssrMetaStore.ts +7 -2
- package/zova/src/suite-vendor/a-zova/modules/a-ssr/src/monkey.ts +3 -0
- package/zova/src/suite-vendor/a-zova/modules/a-ssrserver/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-ssrserver/src/service/ssrHandler.ts +70 -29
- package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +2 -2
- package/zova/src/suite-vendor/a-zova/package.json +6 -6
|
@@ -139,7 +139,7 @@ Typical examples in Cabloy Basic include:
|
|
|
139
139
|
- `cd zova && npm run build:rest:cabloyBasicAdmin`
|
|
140
140
|
- `cd zova && npm run build:rest:cabloyBasicWeb`
|
|
141
141
|
|
|
142
|
-
For Cabloy Start, verify the exact Start-specific flavor names and
|
|
142
|
+
For Cabloy Start, verify the exact Start-specific flavor names, paths, SSR site baselines, and project assets in the licensed Start repo.
|
|
143
143
|
|
|
144
144
|
### Path C: Downstream frontend alignment
|
|
145
145
|
|
|
@@ -154,7 +154,7 @@ Check whether the feature needs:
|
|
|
154
154
|
- build
|
|
155
155
|
- metadata regeneration verification
|
|
156
156
|
- SSR or route-path verification
|
|
157
|
-
- edition-specific flavor verification
|
|
157
|
+
- edition-specific flavor, SSR site baseline, and project-asset verification
|
|
158
158
|
|
|
159
159
|
### Optional backend-contract reminder
|
|
160
160
|
|
|
@@ -28,7 +28,7 @@ Interpretation:
|
|
|
28
28
|
- `__CABLOY_START__` present → this is Cabloy Start
|
|
29
29
|
- neither present → inspect the repo scripts and ask the user before making a strong edition-specific assumption
|
|
30
30
|
|
|
31
|
-
This matters most for frontend work, UI-
|
|
31
|
+
This matters most for frontend work, UI-layer assumptions, flavor names, suite/module availability, SSR site baselines, project assets, and edition-specific AI guidance.
|
|
32
32
|
|
|
33
33
|
## Step 2: Identify the task layer
|
|
34
34
|
|
|
@@ -61,7 +61,7 @@ Use the frontend path when the task is about:
|
|
|
61
61
|
|
|
62
62
|
- page, component, mock, bean
|
|
63
63
|
- SSR, Web, Admin, SPA
|
|
64
|
-
- UI-
|
|
64
|
+
- UI-layer-sensitive work
|
|
65
65
|
- OpenAPI SDK generation
|
|
66
66
|
- frontend refactors such as page params, page query, component props, or model helpers
|
|
67
67
|
|
|
@@ -236,19 +236,23 @@ When the task is frontend-sensitive or examples differ between editions, branch
|
|
|
236
236
|
|
|
237
237
|
Bias toward:
|
|
238
238
|
|
|
239
|
+
- the public framework/reference edition
|
|
239
240
|
- current public monorepo source
|
|
241
|
+
- the default `npm create cabloy` project route
|
|
240
242
|
- public docs examples
|
|
241
243
|
- the Basic repo marker
|
|
242
|
-
- current Basic frontend flavors and
|
|
244
|
+
- current Basic frontend flavors, module layout, and DaisyUI + Tailwind CSS UI assumptions
|
|
243
245
|
|
|
244
246
|
### Cabloy Start
|
|
245
247
|
|
|
246
248
|
Bias toward:
|
|
247
249
|
|
|
250
|
+
- the private commercial edition
|
|
248
251
|
- the Start repo marker
|
|
252
|
+
- the licensed private repository source
|
|
249
253
|
- Vuetify-sensitive examples
|
|
250
254
|
- Start-specific frontend flavor names
|
|
251
|
-
- Start-specific modules and private-
|
|
255
|
+
- Start-specific suites/modules, SSR site baselines, project assets, and licensed private-repo structure
|
|
252
256
|
|
|
253
257
|
Do not silently reuse Basic examples when Start-specific assumptions matter.
|
|
254
258
|
|
|
@@ -13,10 +13,11 @@ They prevent the most common category error in Cabloy AI work: assuming Cabloy B
|
|
|
13
13
|
|
|
14
14
|
That assumption is especially dangerous for:
|
|
15
15
|
|
|
16
|
-
- UI-
|
|
16
|
+
- UI-layer-sensitive examples
|
|
17
17
|
- frontend flavor names
|
|
18
18
|
- page/component workflows
|
|
19
|
-
- module availability
|
|
19
|
+
- suite/module availability
|
|
20
|
+
- SSR site baselines and project assets
|
|
20
21
|
- docs and skills that try to support both repos
|
|
21
22
|
|
|
22
23
|
## Secondary checks
|
|
@@ -34,6 +34,8 @@ jobs:
|
|
|
34
34
|
- name: install docs dependencies
|
|
35
35
|
run: pnpm --dir cabloy-docs install --frozen-lockfile
|
|
36
36
|
- name: build docs
|
|
37
|
+
env:
|
|
38
|
+
GA_MEASUREMENT_ID: ${{ vars.GA_MEASUREMENT_ID }}
|
|
37
39
|
run: pnpm --dir cabloy-docs docs:build
|
|
38
40
|
- name: setup pages
|
|
39
41
|
uses: actions/configure-pages@v5
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.1.52
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Add SSR memory diagnostic endpoints.
|
|
8
|
+
- Expand framework capabilities across SSR, controller, module, component, utility, and runtime integration areas.
|
|
9
|
+
- Add virtual decorator guidance to the AI documentation.
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
- Correct runtime home paths in the documentation.
|
|
14
|
+
- Fix homepage scope badge layout in the documentation.
|
|
15
|
+
|
|
16
|
+
### Improvements
|
|
17
|
+
|
|
18
|
+
- Refine SSR internals and metadata handling.
|
|
19
|
+
- Polish controller and page base implementation details.
|
|
20
|
+
- Update monkey patching and runtime support code.
|
|
21
|
+
- Improve package metadata and lockfile consistency.
|
|
22
|
+
- Pass the GA measurement ID into the docs build pipeline.
|
|
23
|
+
- Add GA4 tracking support for the documentation site.
|
|
24
|
+
- Improve CLI, index, glossary, skill, and README documentation.
|
|
25
|
+
- Add and refine the Cabloy framework comparison and fullstack introduction content.
|
|
26
|
+
- Polish branding, wording, and AI vibe coding terminology across the docs.
|
|
27
|
+
|
|
3
28
|
## 5.1.51
|
|
4
29
|
|
|
5
30
|
### Features
|
package/CLAUDE.md
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## Repository identity
|
|
4
4
|
|
|
5
|
-
This repository is **Cabloy Basic**, identified by the root marker file:
|
|
5
|
+
This repository is **Cabloy Basic**, the public framework/reference edition, identified by the root marker file:
|
|
6
6
|
|
|
7
7
|
- `__CABLOY_BASIC__`
|
|
8
8
|
|
|
9
|
-
A sibling repository named `cabloy-start` is a separate source repository and
|
|
9
|
+
A sibling repository named `cabloy-start` is the private commercial edition, delivered as a licensed separate source repository and identified by:
|
|
10
10
|
|
|
11
11
|
- `__CABLOY_START__`
|
|
12
12
|
|
|
13
|
-
Always detect the active edition before making UI-sensitive assumptions, choosing frontend examples,
|
|
13
|
+
Always detect the active edition before making UI-sensitive assumptions, choosing frontend examples, recommending module-specific workflows, or assuming the project creation path.
|
|
14
14
|
|
|
15
15
|
## Monorepo layout
|
|
16
16
|
|
|
@@ -43,7 +43,7 @@ Before inventing a custom implementation path:
|
|
|
43
43
|
|
|
44
44
|
- Prefer CLI-backed workflows over manual scaffolding whenever Vona or Zova already provides a generator, refactor, metadata, or verification command.
|
|
45
45
|
- Treat legacy docs as input material, not as unquestioned truth. When docs conflict with source code, prefer current source code.
|
|
46
|
-
- For frontend work, assume Cabloy Basic and Cabloy Start may diverge in UI
|
|
46
|
+
- For frontend work, assume Cabloy Basic and Cabloy Start share a frontend engineering layer but may diverge in UI layer, frontend flavors, suite/module availability, SSR site baselines, project assets, and generated outputs.
|
|
47
47
|
- Reuse existing repo terminology: Cabloy, Vona, Zova, suite, module, bean, SSR, SPA, Web, Admin.
|
|
48
48
|
- For backend base-class placement, use the A / B1 / B2 rule from `cabloy-docs/ai/class-placement-rule.md`.
|
|
49
49
|
- Pure helper bases belong in `src/lib`; subclass-only bases should be evaluated case by case and often belong in `src/lib`.
|
package/README.md
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
[](https://github.com/cabloy/cabloy/blob/main/LICENSE)
|
|
4
4
|
[](https://www.npmjs.com/package/cabloy)
|
|
5
5
|
[](https://www.npmjs.com/package/cabloy)
|
|
6
|
-
[](https://
|
|
6
|
+
[](https://docs.cabloy.com)
|
|
7
7
|
[](https://cabloy.com)
|
|
8
8
|
|
|
9
9
|
Cabloy is a Node.js fullstack framework for AI vibe coding.
|
|
10
10
|
|
|
11
|
-
Use one framework
|
|
11
|
+
Use one fullstack framework instead of stitching together separate backend and frontend stacks.
|
|
12
12
|
|
|
13
|
-
With
|
|
13
|
+
With Vona, Zova, suite-based modules, and CLI-first workflows, Cabloy turns common scaffolding, metadata, refactors, and verification into explicit commands for faster, more accurate AI vibe coding.
|
|
14
14
|
|
|
15
|
-
[Documentation](https://
|
|
15
|
+
[Documentation](https://docs.cabloy.com) · [npm](https://www.npmjs.com/package/cabloy) · [Web Demo](https://cabloy.com) · [Admin Demo](https://cabloy.com/admin) · [GitHub](https://github.com/cabloy/cabloy)
|
|
16
16
|
|
|
17
17
|
## Get Started
|
|
18
18
|
|
|
@@ -38,16 +38,19 @@ Create a new Cabloy project:
|
|
|
38
38
|
npm create cabloy
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
The generated project already includes `CLAUDE.md` and the `.claude/` workspace assets. Open this project in Claude Code and start coding immediately with project-specific guidance.
|
|
41
|
+
The generated project already includes `CLAUDE.md` and the `.claude/` workspace assets. This path creates a Cabloy Basic project baseline. Open this project in Claude Code and start coding immediately with project-specific guidance.
|
|
42
|
+
|
|
43
|
+
For **Cabloy Start**, purchase access to the licensed private repository, clone `git@github.com:cabloy/cabloy-start.git`, and run `npm run init`. For the complete Start onboarding flow, read the [Cabloy Start](https://docs.cabloy.com/editions/cabloy-start) page.
|
|
42
44
|
|
|
43
45
|
Then continue with the framework docs:
|
|
44
46
|
|
|
45
|
-
- [Fullstack Quickstart](https://
|
|
46
|
-
- [Documentation](https://
|
|
47
|
-
- [Fullstack Introduction](https://
|
|
48
|
-
- [Backend Introduction](https://
|
|
49
|
-
- [Frontend Introduction](https://
|
|
50
|
-
- [Editions Overview](https://
|
|
47
|
+
- [Fullstack Quickstart](https://docs.cabloy.com/fullstack/quickstart)
|
|
48
|
+
- [Documentation](https://docs.cabloy.com)
|
|
49
|
+
- [Fullstack Introduction](https://docs.cabloy.com/fullstack/introduction)
|
|
50
|
+
- [Backend Introduction](https://docs.cabloy.com/backend/introduction)
|
|
51
|
+
- [Frontend Introduction](https://docs.cabloy.com/frontend/introduction)
|
|
52
|
+
- [Editions Overview](https://docs.cabloy.com/editions/overview)
|
|
53
|
+
- [Choosing Between Cabloy Basic and Cabloy Start](https://docs.cabloy.com/editions/choosing-between-basic-and-start)
|
|
51
54
|
|
|
52
55
|
To upgrade an existing Cabloy project:
|
|
53
56
|
|
|
@@ -57,11 +60,12 @@ npm run upgrade
|
|
|
57
60
|
|
|
58
61
|
## Highlights
|
|
59
62
|
|
|
60
|
-
- **One framework system** — build backend and frontend in one
|
|
61
|
-
- **Vona + Zova** — use aligned backend and frontend frameworks
|
|
62
|
-
- **
|
|
63
|
-
- **
|
|
64
|
-
- **
|
|
63
|
+
- **One framework system** — build backend and frontend in one fullstack architecture
|
|
64
|
+
- **Vona + Zova** — use aligned backend and frontend frameworks for code sharing, workflow reuse, and cross-stack consistency
|
|
65
|
+
- **Suite-based modular system** — organize capabilities as suites and modules so services, features, metadata, and tooling evolve in composable units
|
|
66
|
+
- **Multiple delivery modes** — deliver SSR, SPA, Web, and Admin applications with shared conventions across the stack
|
|
67
|
+
- **CLI-first workflows for AI vibe coding** — turn common scaffolding, metadata, refactors, and verification into explicit commands for faster, more accurate AI vibe coding
|
|
68
|
+
- **Monorepo-native development** — keep framework source, docs, and tooling aligned in one monorepo workflow
|
|
65
69
|
|
|
66
70
|
## Technology Stack
|
|
67
71
|
|
|
@@ -92,7 +96,16 @@ npm run upgrade
|
|
|
92
96
|
| TanStack Form | `^1.32.0` |
|
|
93
97
|
| TanStack Table | `^8.21.3` |
|
|
94
98
|
|
|
95
|
-
###
|
|
99
|
+
### Shared Frontend Engineering Layer
|
|
100
|
+
|
|
101
|
+
- Vue
|
|
102
|
+
- Vite
|
|
103
|
+
- Quasar tooling such as `quasar dev` and `quasar build`
|
|
104
|
+
- TanStack libraries where applicable
|
|
105
|
+
|
|
106
|
+
Quasar is used here for engineering tooling rather than as the edition UI component library.
|
|
107
|
+
|
|
108
|
+
### Edition-specific UI Layer
|
|
96
109
|
|
|
97
110
|
- **Cabloy Basic**: DaisyUI + Tailwind CSS
|
|
98
111
|
- **Cabloy Start**: Vuetify
|
|
@@ -113,14 +126,16 @@ npm run build
|
|
|
113
126
|
|
|
114
127
|
For more details, see:
|
|
115
128
|
|
|
116
|
-
- [
|
|
117
|
-
- [
|
|
118
|
-
- [
|
|
129
|
+
- [Editions Overview](https://docs.cabloy.com/editions/overview)
|
|
130
|
+
- [Choosing Between Cabloy Basic and Cabloy Start](https://docs.cabloy.com/editions/choosing-between-basic-and-start)
|
|
131
|
+
- [Repo Scripts](https://docs.cabloy.com/reference/repo-scripts)
|
|
132
|
+
- [Package Map](https://docs.cabloy.com/reference/package-map)
|
|
133
|
+
- [AI Development Introduction](https://docs.cabloy.com/ai/introduction)
|
|
119
134
|
|
|
120
135
|
Contribution guidelines:
|
|
121
136
|
|
|
122
137
|
- prefer CLI-backed workflows with `npm run vona` and `npm run zova`
|
|
123
|
-
- put user-facing and agent-facing guidance in [cabloy
|
|
138
|
+
- put user-facing and agent-facing guidance in [docs.cabloy.com](https://docs.cabloy.com)
|
|
124
139
|
- put maintainer rationale, architecture notes, and ADRs in [.docs-internal/](https://github.com/cabloy/cabloy/tree/main/.docs-internal)
|
|
125
140
|
- verify framework changes with the narrowest meaningful checks first, then shared root scripts when broader confidence is needed
|
|
126
141
|
|
|
@@ -2,6 +2,10 @@ import { defineConfig } from 'vitepress';
|
|
|
2
2
|
|
|
3
3
|
const editionsItems = [
|
|
4
4
|
{ text: 'Overview', link: '/editions/overview' },
|
|
5
|
+
{
|
|
6
|
+
text: 'Choosing Basic vs Start',
|
|
7
|
+
link: '/editions/choosing-between-basic-and-start',
|
|
8
|
+
},
|
|
5
9
|
{ text: 'Cabloy Basic', link: '/editions/cabloy-basic' },
|
|
6
10
|
{ text: 'Cabloy Start', link: '/editions/cabloy-start' },
|
|
7
11
|
{ text: 'Edition Detection', link: '/editions/detection' },
|
|
@@ -23,6 +27,7 @@ const aiItems = [
|
|
|
23
27
|
{ text: 'CLI for Agents', link: '/ai/cli-for-agents' },
|
|
24
28
|
{ text: 'Rules and Config', link: '/ai/rules-and-config' },
|
|
25
29
|
{ text: 'Edition Detection', link: '/ai/edition-detection' },
|
|
30
|
+
{ text: 'Edition Consistency Checklist', link: '/ai/edition-consistency-checklist' },
|
|
26
31
|
{ text: 'Verification', link: '/ai/verification' },
|
|
27
32
|
];
|
|
28
33
|
|
|
@@ -34,12 +39,34 @@ const referenceItems = [
|
|
|
34
39
|
{ text: 'Glossary', link: '/reference/glossary' },
|
|
35
40
|
];
|
|
36
41
|
|
|
42
|
+
const GA_MEASUREMENT_ID = process.env.GA_MEASUREMENT_ID;
|
|
43
|
+
const gaHead = GA_MEASUREMENT_ID
|
|
44
|
+
? [
|
|
45
|
+
[
|
|
46
|
+
'script',
|
|
47
|
+
{
|
|
48
|
+
async: '',
|
|
49
|
+
src: `https://www.googletagmanager.com/gtag/js?id=${GA_MEASUREMENT_ID}`,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
[
|
|
53
|
+
'script',
|
|
54
|
+
{},
|
|
55
|
+
`window.dataLayer = window.dataLayer || [];
|
|
56
|
+
function gtag(){dataLayer.push(arguments);}
|
|
57
|
+
gtag('js', new Date());
|
|
58
|
+
gtag('config', '${GA_MEASUREMENT_ID}');`,
|
|
59
|
+
],
|
|
60
|
+
]
|
|
61
|
+
: [];
|
|
62
|
+
|
|
37
63
|
export default defineConfig({
|
|
38
64
|
title: 'Cabloy',
|
|
39
65
|
description: 'Unified fullstack and AI-development documentation for the Cabloy monorepo',
|
|
40
66
|
lang: 'en-US',
|
|
41
67
|
base: '/',
|
|
42
68
|
ignoreDeadLinks: [/^https?:\/\/localhost/],
|
|
69
|
+
head: gaHead,
|
|
43
70
|
markdown: {
|
|
44
71
|
lineNumbers: true,
|
|
45
72
|
},
|
|
@@ -59,7 +86,13 @@ export default defineConfig({
|
|
|
59
86
|
text: 'Fullstack',
|
|
60
87
|
items: [
|
|
61
88
|
{ text: 'Introduction', link: '/fullstack/introduction' },
|
|
89
|
+
{
|
|
90
|
+
text: 'Comparison with Other Frameworks',
|
|
91
|
+
link: '/fullstack/comparison-with-other-frameworks',
|
|
92
|
+
},
|
|
62
93
|
{ text: 'Quickstart', link: '/fullstack/quickstart' },
|
|
94
|
+
{ text: 'CLI', link: '/fullstack/cli' },
|
|
95
|
+
{ text: 'VS Code Extensions', link: '/fullstack/vscode-extensions' },
|
|
63
96
|
{ text: 'Vona + Zova Integration', link: '/fullstack/vona-zova-integration' },
|
|
64
97
|
{ text: 'Backend OpenAPI to Frontend SDK', link: '/fullstack/openapi-to-sdk' },
|
|
65
98
|
{
|
|
@@ -135,4 +135,5 @@ Read these pages together:
|
|
|
135
135
|
- [Backend Foundation](/backend/foundation)
|
|
136
136
|
- [Service Guide](/backend/service-guide)
|
|
137
137
|
- [Global Bean Lookup](/ai/global-bean-lookup)
|
|
138
|
+
- [Virtual Decorator Guidance](/ai/virtual-decorator-guidance)
|
|
138
139
|
- [Docs, Skills, Rules, and CLI Mapping](/ai/docs-skills-rules-mapping)
|
|
@@ -53,4 +53,4 @@ Typical use cases:
|
|
|
53
53
|
|
|
54
54
|
## Edition-aware CLI usage
|
|
55
55
|
|
|
56
|
-
The command families are shared, but examples and generated targets may differ between Cabloy Basic and Cabloy Start. Detect the edition before recommending a frontend-specific example.
|
|
56
|
+
The command families are shared, but examples and generated targets may differ between Cabloy Basic and Cabloy Start because the editions can diverge in UI layer, frontend flavors, suites/modules, SSR site baselines, and project assets. Detect the edition before recommending a frontend-specific example.
|
|
@@ -115,6 +115,7 @@ Use this quick rule:
|
|
|
115
115
|
### Example: “Always detect Basic vs Start before giving UI-sensitive advice”
|
|
116
116
|
|
|
117
117
|
- public explanation → [AI Edition Detection](/ai/edition-detection)
|
|
118
|
+
- consistency review surface → [Edition Consistency Checklist](/ai/edition-consistency-checklist)
|
|
118
119
|
- repo-wide behavior rule → `CLAUDE.md`
|
|
119
120
|
- procedural enforcement → `cabloy-workflow` skill
|
|
120
121
|
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Edition Consistency Checklist
|
|
2
|
+
|
|
3
|
+
This checklist helps maintainers keep docs, rules, commands, and skills aligned when writing or reviewing Cabloy Basic and Cabloy Start guidance.
|
|
4
|
+
|
|
5
|
+
Use it whenever you add or revise:
|
|
6
|
+
|
|
7
|
+
- edition-aware docs
|
|
8
|
+
- `CLAUDE.md` guidance
|
|
9
|
+
- `.claude/commands/`
|
|
10
|
+
- `.claude/skills/`
|
|
11
|
+
- AI workflow playbooks
|
|
12
|
+
|
|
13
|
+
## The baseline story that should stay consistent
|
|
14
|
+
|
|
15
|
+
Before checking details, confirm that the content still tells the same baseline story:
|
|
16
|
+
|
|
17
|
+
- **Cabloy Basic** is the public framework/reference edition
|
|
18
|
+
- `npm create cabloy` creates the default Cabloy Basic project route
|
|
19
|
+
- **Cabloy Start** is the private commercial edition
|
|
20
|
+
- Cabloy Start is used by cloning the licensed private repository source directly
|
|
21
|
+
- both editions share the same Cabloy fullstack core
|
|
22
|
+
- both editions share a frontend engineering layer built around Zova, Vue, Vite, Quasar tooling, and related libraries
|
|
23
|
+
- the editions diverge in UI layer, frontend flavors, suites/modules, SSR site baselines, project assets, and some generated outputs
|
|
24
|
+
|
|
25
|
+
If a page, rule, or skill contradicts one of those points, align that content before polishing wording.
|
|
26
|
+
|
|
27
|
+
## Checklist 1: edition detection is explicit
|
|
28
|
+
|
|
29
|
+
Confirm that the content:
|
|
30
|
+
|
|
31
|
+
- tells the reader or agent to check `__CABLOY_BASIC__` or `__CABLOY_START__`
|
|
32
|
+
- treats edition detection as mandatory before UI-sensitive guidance
|
|
33
|
+
- does not assume Cabloy Basic examples apply to Cabloy Start automatically
|
|
34
|
+
- does not assume the project creation path is the same for both editions
|
|
35
|
+
|
|
36
|
+
## Checklist 2: creation path assumptions are correct
|
|
37
|
+
|
|
38
|
+
Confirm that the content states or implies the right project-entry model:
|
|
39
|
+
|
|
40
|
+
- **Cabloy Basic** → `npm create cabloy`
|
|
41
|
+
- **Cabloy Start** → licensed private repository clone
|
|
42
|
+
|
|
43
|
+
Watch for drift such as:
|
|
44
|
+
|
|
45
|
+
- implying that Cabloy Start is created through `npm create cabloy`
|
|
46
|
+
- implying that both editions use the same bootstrap path
|
|
47
|
+
- omitting the Start licensing/private-repo model when it matters to the workflow
|
|
48
|
+
|
|
49
|
+
## Checklist 3: shared core vs edition divergence is separated cleanly
|
|
50
|
+
|
|
51
|
+
Confirm that the content distinguishes:
|
|
52
|
+
|
|
53
|
+
### Shared core
|
|
54
|
+
|
|
55
|
+
- Vona
|
|
56
|
+
- Zova
|
|
57
|
+
- suite-based architecture
|
|
58
|
+
- CLI-first workflows
|
|
59
|
+
- shared frontend engineering direction
|
|
60
|
+
|
|
61
|
+
### Edition divergence
|
|
62
|
+
|
|
63
|
+
- UI layer
|
|
64
|
+
- frontend flavors
|
|
65
|
+
- suites/modules
|
|
66
|
+
- SSR site baselines
|
|
67
|
+
- project assets
|
|
68
|
+
- edition-specific generated outputs or script paths where applicable
|
|
69
|
+
|
|
70
|
+
Avoid collapsing the whole difference into “different UI library only.”
|
|
71
|
+
|
|
72
|
+
## Checklist 4: UI language uses the right layer
|
|
73
|
+
|
|
74
|
+
When the content talks about frontend differences, confirm that it uses the right level:
|
|
75
|
+
|
|
76
|
+
- shared frontend engineering layer
|
|
77
|
+
- edition-specific UI layer
|
|
78
|
+
|
|
79
|
+
Prefer wording such as:
|
|
80
|
+
|
|
81
|
+
- **Cabloy Basic**: DaisyUI + Tailwind CSS UI layer
|
|
82
|
+
- **Cabloy Start**: Vuetify UI layer
|
|
83
|
+
|
|
84
|
+
Avoid wording that makes Quasar sound like the edition UI component library when the intended meaning is tooling.
|
|
85
|
+
|
|
86
|
+
## Checklist 5: operational examples match the active edition
|
|
87
|
+
|
|
88
|
+
For scripts, flavors, paths, and examples, confirm that:
|
|
89
|
+
|
|
90
|
+
- Basic examples use Basic markers and Basic flavor names
|
|
91
|
+
- Start examples tell the reader to verify the Start repo directly
|
|
92
|
+
- Start workflows do not silently reuse Basic script or flavor assumptions
|
|
93
|
+
- SSR site baseline assumptions match the edition being discussed
|
|
94
|
+
- project-asset references match the repo being discussed
|
|
95
|
+
|
|
96
|
+
## Checklist 6: docs, rules, and skills play different roles
|
|
97
|
+
|
|
98
|
+
Confirm that the same guidance is distributed correctly:
|
|
99
|
+
|
|
100
|
+
- **docs** explain the workflow in durable prose
|
|
101
|
+
- **`CLAUDE.md`** captures short repo-wide behavioral rules
|
|
102
|
+
- **skills** encode procedural branching and follow-up logic
|
|
103
|
+
- **commands** are used only for named operator workflows, not as the only home for conceptual guidance
|
|
104
|
+
|
|
105
|
+
Avoid these drifts:
|
|
106
|
+
|
|
107
|
+
- a skill contains the only explanation of an edition rule
|
|
108
|
+
- `CLAUDE.md` grows into a long architectural essay
|
|
109
|
+
- docs duplicate every procedural branch that belongs in a skill
|
|
110
|
+
|
|
111
|
+
## Checklist 7: verification guidance matches the edition model
|
|
112
|
+
|
|
113
|
+
When content ends with verification steps, confirm that it reminds the reader or agent to verify the right edition-specific surfaces when relevant:
|
|
114
|
+
|
|
115
|
+
- flavor names
|
|
116
|
+
- script paths
|
|
117
|
+
- suites/modules
|
|
118
|
+
- SSR site baselines
|
|
119
|
+
- generated outputs
|
|
120
|
+
- project assets
|
|
121
|
+
|
|
122
|
+
For Start-sensitive workflows, confirm that verification points back to the licensed Start repository rather than pretending the current Basic repo is the direct source of truth.
|
|
123
|
+
|
|
124
|
+
## Checklist 8: wording about system size stays appropriately scoped
|
|
125
|
+
|
|
126
|
+
If the content talks about project fit, confirm that it keeps the intended nuance:
|
|
127
|
+
|
|
128
|
+
- **Cabloy Basic** is optimized for public reference, learning, community workflows, and faster small-to-medium system development
|
|
129
|
+
- **Cabloy Start** is optimized as a stronger baseline for more complex business systems
|
|
130
|
+
|
|
131
|
+
Avoid overstating this into a hard claim that Basic cannot support larger systems.
|
|
132
|
+
|
|
133
|
+
## Quick review questions
|
|
134
|
+
|
|
135
|
+
Before you finish an edition-aware change, ask:
|
|
136
|
+
|
|
137
|
+
1. Did I clearly separate shared core from edition-specific divergence?
|
|
138
|
+
2. Did I preserve the correct Basic vs Start creation path?
|
|
139
|
+
3. Did I avoid turning UI difference into the whole story?
|
|
140
|
+
4. Did I point Start-specific operational truth back to the licensed Start repo where needed?
|
|
141
|
+
5. Do docs, rules, and skills each play their proper role?
|
|
142
|
+
|
|
143
|
+
## Read together with
|
|
144
|
+
|
|
145
|
+
- [Choosing Between Cabloy Basic and Cabloy Start](/editions/choosing-between-basic-and-start)
|
|
146
|
+
- [Editions Overview](/editions/overview)
|
|
147
|
+
- [Edition Detection for AI Workflows](/ai/edition-detection)
|
|
148
|
+
- [Docs, Skills, Rules, and CLI Mapping](/ai/docs-skills-rules-mapping)
|
|
149
|
+
- [Rules and Config](/ai/rules-and-config)
|
|
150
|
+
- [Verification](/ai/verification)
|
|
@@ -8,10 +8,10 @@ Edition detection should happen before any AI workflow that assumes a frontend s
|
|
|
8
8
|
|
|
9
9
|
If an agent skips edition detection, it can:
|
|
10
10
|
|
|
11
|
-
- scaffold against the wrong UI assumptions
|
|
11
|
+
- scaffold against the wrong UI-layer assumptions
|
|
12
12
|
- suggest the wrong frontend flavors
|
|
13
|
-
- cite modules that do not exist in the active repo
|
|
14
|
-
- generate docs or skills that accidentally hardcode Basic-only behavior into Start workflows
|
|
13
|
+
- cite suites, modules, SSR site baselines, or project assets that do not exist in the active repo
|
|
14
|
+
- generate docs or skills that accidentally hardcode Basic-only behavior or `npm create cabloy` assumptions into Start workflows
|
|
15
15
|
|
|
16
16
|
## Operational rule
|
|
17
17
|
|
|
@@ -152,6 +152,7 @@ Avoid these mistakes:
|
|
|
152
152
|
Read these pages together:
|
|
153
153
|
|
|
154
154
|
- [Class Placement Rule](/ai/class-placement-rule)
|
|
155
|
+
- [Virtual Decorator Guidance](/ai/virtual-decorator-guidance)
|
|
155
156
|
- [Repo Guidance](/ai/repo-guidance)
|
|
156
157
|
- [Rules and Config](/ai/rules-and-config)
|
|
157
158
|
- [Verification](/ai/verification)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# AI Development Introduction
|
|
2
2
|
|
|
3
|
-
This page is the entrypoint for contributors who are designing, reviewing, or maintaining AI
|
|
3
|
+
This page is the entrypoint for contributors who are designing, reviewing, or maintaining AI vibe coding workflows in the Cabloy repository.
|
|
4
4
|
|
|
5
|
-
The Cabloy monorepo is a good fit for AI
|
|
5
|
+
The Cabloy monorepo is a good fit for AI vibe coding because the source tree already contains most of the framework knowledge an agent needs:
|
|
6
6
|
|
|
7
7
|
- root scripts for shared workflows
|
|
8
8
|
- Vona CLI source and command groups
|
|
@@ -29,7 +29,7 @@ The goal is to make AI **reuse the repo’s existing conventions directly**, esp
|
|
|
29
29
|
|
|
30
30
|
Use `cabloy-docs/` for user-facing and agent-facing guidance that should remain durable and source-aligned.
|
|
31
31
|
|
|
32
|
-
For normal project usage, prefer the user-facing entry docs such as [Fullstack Quickstart](/fullstack/quickstart). This AI section focuses on repository workflows and AI
|
|
32
|
+
For normal project usage, prefer the user-facing entry docs such as [Fullstack Quickstart](/fullstack/quickstart). This AI section focuses on repository workflows and AI vibe coding.
|
|
33
33
|
|
|
34
34
|
### Internal engineering docs
|
|
35
35
|
|
|
@@ -38,9 +38,9 @@ Edition detection is especially important when the work touches:
|
|
|
38
38
|
|
|
39
39
|
- page creation
|
|
40
40
|
- component generation
|
|
41
|
-
- UI
|
|
41
|
+
- UI-layer usage
|
|
42
42
|
- frontend flavor scripts
|
|
43
|
-
- edition-specific modules or assets
|
|
43
|
+
- edition-specific suites, modules, SSR site baselines, or project assets
|
|
44
44
|
|
|
45
45
|
## 5. Use the right lookup surface before searching broadly
|
|
46
46
|
|
|
@@ -10,7 +10,7 @@ Use the root `CLAUDE.md` for concise, durable operational guidance such as:
|
|
|
10
10
|
- where public docs live
|
|
11
11
|
- where internal docs live
|
|
12
12
|
- which command entrypoints are preferred
|
|
13
|
-
- why edition detection is mandatory before UI-sensitive guidance
|
|
13
|
+
- why edition detection is mandatory before UI-sensitive guidance or project-creation assumptions
|
|
14
14
|
|
|
15
15
|
## `.claude/commands/`
|
|
16
16
|
|
package/cabloy-docs/ai/skills.md
CHANGED
|
@@ -33,3 +33,5 @@ A strong Cabloy skill usually includes:
|
|
|
33
33
|
5. references to durable source-of-truth files
|
|
34
34
|
|
|
35
35
|
When a skill needs to apply an architectural rule such as backend class placement, prefer a branching decision tree that points back to durable docs instead of embedding the full architecture rationale inside the skill itself.
|
|
36
|
+
|
|
37
|
+
For edition-aware skills, use [Edition Detection for AI Workflows](/ai/edition-detection) and [Edition Consistency Checklist](/ai/edition-consistency-checklist) as the durable review surfaces before expanding edition-specific branches.
|
|
@@ -18,6 +18,7 @@ For skills and repo guidance:
|
|
|
18
18
|
- confirm the workflow still points to real command entrypoints
|
|
19
19
|
- confirm edition branches match the active repo markers and scripts
|
|
20
20
|
- confirm public docs, skills, and root `CLAUDE.md` tell the same story
|
|
21
|
+
- review edition-aware changes against [Edition Consistency Checklist](/ai/edition-consistency-checklist)
|
|
21
22
|
|
|
22
23
|
## Code-generation verification
|
|
23
24
|
|