Skip to content

Commit fd3047b

Browse files
Release SDK v4.0.0-alpha.1
* [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-go-sdk: 1.57.8 * [fern-replay] advance lockfile --------- Co-authored-by: fern-api[bot] <115122769+fern-api[bot]@users.noreply.github.com>
1 parent b36c986 commit fd3047b

117 files changed

Lines changed: 65994 additions & 10402 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.fern/metadata.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"cliVersion": "5.50.1",
3+
"generatorName": "fernapi/fern-go-sdk",
4+
"generatorVersion": "1.57.8",
5+
"generatorConfig": {
6+
"packageName": "zep",
7+
"union": "v1"
8+
},
9+
"originGitCommit": "4135f93a8bc65a8ec8f29a261ce0e721b714cc57",
10+
"originGitCommitIsDirty": true,
11+
"invokedBy": "ci",
12+
"requestedVersion": "4.0.0-alpha.1",
13+
"ciProvider": "github",
14+
"sdkVersion": "v4.0.0-alpha.1"
15+
}

.fern/replay.lock

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.fernignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ LICENSE
1313
go.mod
1414
go.sum
1515
.gitattributes
16+
.fern/replay.lock
17+
.fern/replay.yml

.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

CONTRIBUTING.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Contributing
2+
3+
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+
- Go 1.21+
10+
- Docker (only required to run wire tests; see [Wire Tests](#wire-tests))
11+
12+
### Installation
13+
14+
Install the project dependencies:
15+
16+
```bash
17+
go mod tidy
18+
```
19+
20+
### Building
21+
22+
Build the project:
23+
24+
```bash
25+
go build ./...
26+
```
27+
28+
### Testing
29+
30+
Run the test suite:
31+
32+
```bash
33+
go test ./...
34+
```
35+
36+
#### Wire Tests
37+
38+
If this SDK includes a `wiremock/` directory, the test suite contains wire tests that exercise the client against a [WireMock](https://wiremock.org/) server. The `go test` command above expects `WIREMOCK_URL` to point at a running WireMock instance.
39+
40+
Start WireMock, run the tests, then tear it down:
41+
42+
```bash
43+
docker compose -f wiremock/docker-compose.test.yml up -d
44+
export WIREMOCK_URL=http://localhost:$(docker compose -f wiremock/docker-compose.test.yml port wiremock 8080 | cut -d: -f2)
45+
go test ./...
46+
docker compose -f wiremock/docker-compose.test.yml down
47+
```
48+
49+
The compose file maps WireMock's container port `8080` to a random host port, which is why `WIREMOCK_URL` is derived from `docker compose ... port` rather than hardcoded.
50+
51+
### Formatting
52+
53+
Format code:
54+
55+
```bash
56+
gofmt -w .
57+
```
58+
59+
Or equivalently:
60+
61+
```bash
62+
go fmt ./...
63+
```
64+
65+
### Vetting
66+
67+
Run the Go vet tool to catch common mistakes:
68+
69+
```bash
70+
go vet ./...
71+
```
72+
73+
## About Generated Code
74+
75+
**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.
76+
77+
### Generated Files
78+
79+
The following directories contain generated code:
80+
- Most Go files in the project
81+
82+
### How to Customize
83+
84+
If you need to customize the SDK, you have two options:
85+
86+
#### Option 1: Use `.fernignore`
87+
88+
For custom code that should persist across SDK regenerations:
89+
90+
1. Create a `.fernignore` file in the project root
91+
2. Add file patterns for files you want to preserve (similar to `.gitignore` syntax)
92+
3. Add your custom code to those files
93+
94+
Files listed in `.fernignore` will not be overwritten when the SDK is regenerated.
95+
96+
For more information, see the [Fern documentation on custom code](https://buildwithfern.com/learn/sdks/overview/custom-code).
97+
98+
#### Option 2: Contribute to the Generator
99+
100+
If you want to change how code is generated for all users of this SDK:
101+
102+
1. The Go SDK generator lives in the [Fern repository](https://github.com/fern-api/fern)
103+
2. Generator code is located at `generators/go-v2/`
104+
3. Follow the [Fern contributing guidelines](https://github.com/fern-api/fern/blob/main/CONTRIBUTING.md)
105+
4. Submit a pull request with your changes to the generator
106+
107+
This approach is best for:
108+
- Bug fixes in generated code
109+
- New features that would benefit all users
110+
- Improvements to code generation patterns
111+
112+
## Making Changes
113+
114+
### Workflow
115+
116+
1. Create a new branch for your changes
117+
2. Make your modifications
118+
3. Run tests to ensure nothing breaks: `go test ./...`
119+
4. Format your code: `gofmt -w .`
120+
5. Vet your code: `go vet ./...`
121+
6. Build the project: `go build ./...`
122+
7. Commit your changes with a clear commit message
123+
8. Push your branch and create a pull request
124+
125+
### Commit Messages
126+
127+
Write clear, descriptive commit messages that explain what changed and why.
128+
129+
### Code Style
130+
131+
This project uses `gofmt` for code formatting. Run `gofmt -w .` before committing to ensure your code meets the project's style guidelines.
132+
133+
## Questions or Issues?
134+
135+
If you have questions or run into issues:
136+
137+
1. Check the [Fern documentation](https://buildwithfern.com)
138+
2. Search existing [GitHub issues](https://github.com/fern-api/fern/issues)
139+
3. Open a new issue if your question hasn't been addressed
140+
141+
## License
142+
143+
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.

0 commit comments

Comments
 (0)