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
Thanks for your interest in contributing to this SDK! This document provides guidelines for contributing to the project.
4
+
5
+
## Getting Started
6
+
7
+
### Prerequisites
8
+
9
+
- Node.js 20 or higher
10
+
- pnpm package manager
11
+
12
+
### Installation
13
+
14
+
Install the project dependencies:
15
+
16
+
```bash
17
+
pnpm install
18
+
```
19
+
20
+
### Building
21
+
22
+
Build the project:
23
+
24
+
```bash
25
+
pnpm build
26
+
```
27
+
28
+
### Testing
29
+
30
+
Run the test suite:
31
+
32
+
```bash
33
+
pnpm test
34
+
```
35
+
36
+
Run specific test types:
37
+
-`pnpm test:unit` - Run unit tests
38
+
-`pnpm test:wire` - Run wire/integration tests
39
+
40
+
### Linting and Formatting
41
+
42
+
Check code style:
43
+
44
+
```bash
45
+
pnpm run lint
46
+
pnpm run format:check
47
+
```
48
+
49
+
Fix code style issues:
50
+
51
+
```bash
52
+
pnpm run lint:fix
53
+
pnpm run format:fix
54
+
```
55
+
56
+
Or use the combined check command:
57
+
58
+
```bash
59
+
pnpm run check:fix
60
+
```
61
+
62
+
## About Generated Code
63
+
64
+
**Important**: Most files in this SDK are automatically generated by [Fern](https://buildwithfern.com) from the API definition. Direct modifications to generated files will be overwritten the next time the SDK is generated.
If you need to customize the SDK, you have two options:
76
+
77
+
#### Option 1: Use `.fernignore`
78
+
79
+
For custom code that should persist across SDK regenerations:
80
+
81
+
1. Create a `.fernignore` file in the project root
82
+
2. Add file patterns for files you want to preserve (similar to `.gitignore` syntax)
83
+
3. Add your custom code to those files
84
+
85
+
Files listed in `.fernignore` will not be overwritten when the SDK is regenerated.
86
+
87
+
For more information, see the [Fern documentation on custom code](https://buildwithfern.com/learn/sdks/overview/custom-code).
88
+
89
+
#### Option 2: Contribute to the Generator
90
+
91
+
If you want to change how code is generated for all users of this SDK:
92
+
93
+
1. The TypeScript SDK generator lives in the [Fern repository](https://github.com/fern-api/fern)
94
+
2. Generator code is located at `generators/typescript/sdk/`
95
+
3. Follow the [Fern contributing guidelines](https://github.com/fern-api/fern/blob/main/CONTRIBUTING.md)
96
+
4. Submit a pull request with your changes to the generator
97
+
98
+
This approach is best for:
99
+
- Bug fixes in generated code
100
+
- New features that would benefit all users
101
+
- Improvements to code generation patterns
102
+
103
+
## Making Changes
104
+
105
+
### Workflow
106
+
107
+
1. Create a new branch for your changes
108
+
2. Make your modifications
109
+
3. Run tests to ensure nothing breaks: `pnpm test`
110
+
4. Run linting and formatting: `pnpm run check:fix`
111
+
5. Build the project: `pnpm build`
112
+
6. Commit your changes with a clear commit message
113
+
7. Push your branch and create a pull request
114
+
115
+
### Commit Messages
116
+
117
+
Write clear, descriptive commit messages that explain what changed and why.
118
+
119
+
### Code Style
120
+
121
+
This project uses automated code formatting and linting. Run `pnpm run check:fix` before committing to ensure your code meets the project's style guidelines.
122
+
123
+
## Questions or Issues?
124
+
125
+
If you have questions or run into issues:
126
+
127
+
1. Check the [Fern documentation](https://buildwithfern.com)
0 commit comments