You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+95-4Lines changed: 95 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,42 @@
1
-
This is the monorepo for Remix, a cutting edge web framework. All packages are contained in the `./packages` dir.
1
+
This is the monorepo for Remix, a cutting edge web framework.
2
2
3
3
In addition to this file, see `CONTRIBUTING.md` for further guidelines about developing in this repository.
4
4
5
+
## Package Structure
6
+
7
+
- All packages are contained in the `./packages` dir
8
+
- Each package has its own isolated dependencies and build process
9
+
- Common directory structure:
10
+
-`src/` contains source files
11
+
-`src/lib/` contains implementation files
12
+
- Test files are named `*.test.ts` and located alongside source files
13
+
- Each package contains a `README.md` with an introduction, goals, feature set, usage patterns, etc.
14
+
- Each package contains a `CHANGELOG.md` that describes changes that have been made in each release
15
+
- Unreleased changes go in a section with the `HEAD` heading
16
+
5
17
## Development
6
18
7
-
You should be able to run the tests without building first.
19
+
All tests run directly on source files without building first.
20
+
21
+
When making changes to a package (adding new features or fixing bugs), include an accompanying entry in the package's `CHANGELOG.md` describing the change. Include a small snippet that demonstrates intended usage when applicable.
22
+
23
+
Also, check its `README.md` to ensure all examples are still relevant and up to date, and consider adding meaningful examples for new features.
24
+
25
+
## Common Commands
8
26
9
27
```sh
28
+
# Install dependencies
29
+
$ pnpm install
30
+
10
31
# Run all tests
11
32
$ pnpm test
12
-
# Run the tests for a specific package
33
+
34
+
# Run tests for a specific package
13
35
$ pnpm --filter @remix-run/headers run test
14
36
15
37
# Build all packages
16
38
$ pnpm run build
39
+
17
40
# Build a specific package
18
41
$ pnpm --filter @remix-run/headers run build
19
42
```
@@ -22,6 +45,10 @@ $ pnpm --filter @remix-run/headers run build
22
45
23
46
- Use `node:test` and `describe/it` style to organize test suites
24
47
- Make assertions using `node:assert/strict`
48
+
- Test files are named `*.test.ts` and located alongside source files
49
+
- Run tests with: `pnpm --filter <package-name> run test`
50
+
- Tests automatically clean up test directories in `afterEach` hooks
51
+
- Always verify that tests pass after making changes
25
52
26
53
## Releasing
27
54
@@ -34,11 +61,75 @@ To cut a release:
34
61
```sh
35
62
# To bump the headers package to the next minor release
0 commit comments