openxiangda-skill-kit 2.0.0-alpha.114 → 2.0.0-alpha.115
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
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
- Use only the workspace-pinned CLI: `pnpm openxiangda <command>`. Never invoke a bare global `openxiangda` inside a 2.0 task.
|
|
4
4
|
- `appspec/` is the optional OpenXiangda 2.0 business-intent layer. Before changing observable behavior, read the bounded index with `pnpm openxiangda spec context --json`, then select only the relevant stable ID; use no ChangeSpec for L0 work, one short ChangeSpec for L1, and add permission/rollback/concurrency detail only for L2/L3. Before close, the user—not AI—confirms `currentSpec=merged` or `not-applicable`. AppSpec is advisory and never a release gate. Never read, import or migrate 1.x `openspec/` or SDD.
|
|
5
5
|
- Use Vite, React Router, Refine Core and Ant Design. Do not add Umi, ProComponents or another admin shell.
|
|
6
|
+
- The platform `openxiangda/react` owns the only admin `ConfigProvider` and the
|
|
7
|
+
`light`/`dark`/`system` appearance preference. Admin pages use Ant Design's
|
|
8
|
+
`defaultAlgorithm`/`darkAlgorithm`, `theme.useToken()`, or generated
|
|
9
|
+
`--oxa-antd-*` CSS variables. Do not add a nested theme provider, theme
|
|
10
|
+
store, palette editor, `--oxa-color-*`/`--oxa-shell-*` aliases, or fixed
|
|
11
|
+
white/black/neutral structural colors. Future palettes are centralized
|
|
12
|
+
platform seed configurations; alpha contracts are replaced directly without
|
|
13
|
+
compatibility aliases. User-end pages are outside this admin visual contract
|
|
14
|
+
and may use Tailwind CSS and their own product design tokens/components, but
|
|
15
|
+
must not mutate the admin provider or Seed.
|
|
16
|
+
- Use the complete Ant Design Seed/Map/Alias/Component model on admin pages:
|
|
17
|
+
platform-owned Seed values feed the selected algorithm; admin code consumes
|
|
18
|
+
generated Alias values for colors, spacing, typography, control dimensions,
|
|
19
|
+
motion, shadows, z-index and breakpoints. Never hand-write Map values or
|
|
20
|
+
introduce an admin token registry. Component tokens are only for
|
|
21
|
+
platform-approved non-color dimensions and typography.
|
|
22
|
+
- The template includes Tailwind CSS v4 for user-end pages. Keep its `@theme`
|
|
23
|
+
and utility classes in the user-end layer, omit Tailwind preflight from the
|
|
24
|
+
admin shell, and do not make user-end utilities depend on `--oxa-antd-*`.
|
|
6
25
|
- Bind every generated `appRoutes` entry to its local page with `defineApplicationContributions`; desktop `admin` routes stay inside the platform Shell, while `user` routes render without an admin Shell for independent mobile/user experiences. Generated resource CRUD routes are compiler-owned under `/admin/resources/<resourceCode>...` and `/m/admin/resources/<resourceCode>...`; never recreate root resource paths, aliases or redirects. Explicit routes that have the same canonical shape as another explicit or generated route fail compilation, even when dynamic parameter names differ. Use only the typed `toolbar`, `row` and `detail` resource slots for generated resource actions. Declare the complete editable admin menu with `defineAdminNavigation` and its page/group helpers; the Shell renders only generated `adminNavigation` references and permissions only filter them. Do not create another router, menu store, layout, identity provider, permission store or copied CRUD page; route/action access uses capability or `allOf`/`anyOf`, while Data/App API and Workflow authorization remain server-owned.
|
|
7
26
|
- Application login is optional `frontend.authentication`: existing platform users only, registration rejected, exact desktop `/login` and mobile `/m/login`. Bind generated `authenticationSurfaces` to separate PC/mobile renderers through `defineApplicationContributions`; renderers own only brand visuals and call `ApplicationLoginSurfaceProps`. The platform alone owns passwords, providers, OAuth state/callbacks, secure cookies, current identity and authorization. Never put login in protected `appRoutes`, call a v1 auth route, store tokens, create users/roles, or add another Router/identity provider. Keep QA in generated `platformAuthManifest`, outside the protected route denominator.
|
|
8
27
|
- External users without platform accounts use only an exact static `surface: 'user'` route declared through `frontend.publicAccess`. Declare the one resource, bounded field sets, required operations, draft limits and named duplicate validations; consume only generated `anonymousPublicAccess` and `createAnonymousPublicClient`. `own.list`/`own.read` mean records submitted by the same platform-issued HttpOnly browser credential, not a verified natural person, and another browser or cleared cookie intentionally loses access. Never create a guest role/user, call the general Native Data API, expose an anonymous upload path, store identity locally or derive ownership from IP, user-agent or fingerprint.
|