@qoretechnologies/reqraft 0.10.9 → 0.10.10
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/CLAUDE.md +39 -18
- package/package.json +1 -1
package/.claude/CLAUDE.md
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
@~/Projects/instruction-files/CLAUDE.md
|
|
2
|
+
@~/Projects/instruction-files/stacks/frontend/FRONTEND.md
|
|
3
|
+
|
|
4
|
+
# ReQraft (toolkit-react) — Claude entry point
|
|
5
|
+
|
|
6
|
+
## Shared Qore rules (READ FIRST)
|
|
7
|
+
|
|
8
|
+
The two `@`-imports above load the shared rules from the **instruction-files**
|
|
9
|
+
repo: the org-wide baseline (`CLAUDE.md`) and the frontend ruleset
|
|
10
|
+
(`stacks/frontend/FRONTEND.md`) — git safety, commit conventions, CI
|
|
11
|
+
monitoring, `/audit`, the Reqore-first rule, the Storybook + Qlip visual-change
|
|
12
|
+
flow, story descriptions, and more. Those files point on to
|
|
13
|
+
`stacks/frontend/BRAND_DESIGN.md` for brand / UI-design decisions (read it
|
|
14
|
+
before building any visual surface). **Everything below this section is
|
|
15
|
+
specific to ReQraft (toolkit-react).**
|
|
16
|
+
|
|
17
|
+
**If the imports above did not load** — you don't see the shared rules because
|
|
18
|
+
this repo is cloned somewhere other than `~/Projects/instruction-files` — find
|
|
19
|
+
the shared repo before doing any frontend work:
|
|
20
|
+
|
|
21
|
+
1. Check for a gitignored **`.instruction-files-path`** file at this repo's
|
|
22
|
+
root. If it exists, read the path `P` from it, then read `P/CLAUDE.md` and
|
|
23
|
+
`P/stacks/frontend/FRONTEND.md` (+ `P/stacks/frontend/BRAND_DESIGN.md` for
|
|
24
|
+
UI work) and follow them.
|
|
25
|
+
2. Otherwise locate the `instruction-files` repo on disk (try
|
|
26
|
+
`~/Projects/instruction-files`, then your other project roots). If found at
|
|
27
|
+
`P`, write `P` into `.instruction-files-path` (create it — it's gitignored)
|
|
28
|
+
so future sessions skip the search, then read the files above.
|
|
29
|
+
3. If it isn't cloned anywhere, **STOP and ask the user to clone it**:
|
|
30
|
+
`git clone git@github.com:qoretechnologies/instruction-files.git ~/Projects/instruction-files`
|
|
31
|
+
Do not proceed with frontend work until the shared rules are loaded.
|
|
32
|
+
|
|
33
|
+
# ReQraft (toolkit-react) — project-specific rules
|
|
2
34
|
|
|
3
35
|
## Project Overview
|
|
4
36
|
|
|
@@ -18,16 +50,6 @@ ReQraft (`@qoretechnologies/reqraft`) is a **React hooks and components toolkit*
|
|
|
18
50
|
|
|
19
51
|
## Architecture Essentials
|
|
20
52
|
|
|
21
|
-
### General Development Practices
|
|
22
|
-
|
|
23
|
-
- Focus on user experience and performance first; complexity and tech debt are secondary
|
|
24
|
-
- Follow existing code patterns; refer to similar hooks/components for guidance
|
|
25
|
-
- Check if a helper or utility already exists before writing a new one
|
|
26
|
-
- Use TypeScript with strict typing; prefix interfaces with `I` and types with `T`
|
|
27
|
-
- Always use named exports for React components and hooks
|
|
28
|
-
- Use functional components with React hooks; wrap in `memo()` unless there's a reason not to
|
|
29
|
-
- Wrap callbacks in `useCallback()` and computed values in `useMemo()` unless there's a reason not to
|
|
30
|
-
|
|
31
53
|
### Provider Stack (`src/providers/`)
|
|
32
54
|
|
|
33
55
|
The app must be wrapped in `ReqraftProvider` (or initialized via `initializeReqraft()`):
|
|
@@ -145,10 +167,13 @@ yarn build:test # Type-check without emit
|
|
|
145
167
|
- `pre-push` hook enforces: `build:test:prod`, `lint`, `test`
|
|
146
168
|
- Branch naming: always start with the issue number, e.g. `feature/49_pooled-connections`
|
|
147
169
|
|
|
148
|
-
### Versioning
|
|
170
|
+
### Versioning — every PR to `develop` MUST bump the version
|
|
171
|
+
|
|
172
|
+
`.github/workflows/beta_release.yml` runs on **every push to `develop`** and publishes to NPM using whatever `version` is in `package.json` at push time. A merge without a bump therefore tries to re-publish an already-published version and **fails** (NPM refuses to re-publish). This applies to **every** PR — features, fixes, chores, and docs-only changes alike. There is no exception.
|
|
149
173
|
|
|
150
|
-
-
|
|
151
|
-
- Bump in `package.json` only (no git tag): `npm version patch --no-git-tag-version`, and include
|
|
174
|
+
- Bump the **patch** for an ordinary PR while in beta (pre-1.0) — e.g. `0.10.9` → `0.10.10`. Do NOT bump minor/major for ordinary feature/fix PRs.
|
|
175
|
+
- Bump in `package.json` only (no git tag): `npm version patch --no-git-tag-version`, and include the bump in the PR's commit.
|
|
176
|
+
- If another PR bumps to the same version before yours merges, rebase and bump again — the version at merge time must be strictly greater than the last published one.
|
|
152
177
|
|
|
153
178
|
### Testing Patterns
|
|
154
179
|
|
|
@@ -167,8 +192,6 @@ yarn build:test # Type-check without emit
|
|
|
167
192
|
|
|
168
193
|
### Naming
|
|
169
194
|
|
|
170
|
-
- Interfaces: `I` prefix (e.g., `IReqraftUseFetch`)
|
|
171
|
-
- Types: `T` prefix (e.g., `TReqraftMenu`)
|
|
172
195
|
- Enums: PascalCase (e.g., `ReqraftWebSocketStatus`)
|
|
173
196
|
- Hooks: `useReqraft*` prefix
|
|
174
197
|
- Providers: `Reqraft*Provider`
|
|
@@ -249,7 +272,5 @@ yarn build:test # Type-check without emit
|
|
|
249
272
|
|
|
250
273
|
## Other
|
|
251
274
|
|
|
252
|
-
- You may need to source zsh to get some commands (like `gh`) working: `source ~/.zshrc`
|
|
253
|
-
- Branch naming convention: `feature/<issue-number>_<short-description>` (e.g., `feature/49_pooled-connections`)
|
|
254
275
|
- This library is a **peer-dependency consumer** of ReQore — do not copy ReQore internals here; import from `@qoretechnologies/reqore` instead
|
|
255
276
|
- `yarn update-reqore` updates ReQore to the latest beta
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qoretechnologies/reqraft",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.10",
|
|
4
4
|
"description": "ReQraft is a collection of React components and hooks that are used across Qore Technologies' products made using the ReQore component library from Qore.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|