mirror of
https://github.com/sst/opencode.git
synced 2025-08-26 07:54:11 +00:00
66 lines
1.5 KiB
Markdown
66 lines
1.5 KiB
Markdown
## Setting up the environment
|
|
|
|
To set up the repository, run:
|
|
|
|
```sh
|
|
$ ./scripts/bootstrap
|
|
$ ./scripts/build
|
|
```
|
|
|
|
This will install all the required dependencies and build the SDK.
|
|
|
|
You can also [install go 1.18+ manually](https://go.dev/doc/install).
|
|
|
|
## Modifying/Adding code
|
|
|
|
Most of the SDK is generated code. Modifications to code will be persisted between generations, but may
|
|
result in merge conflicts between manual patches and changes from the generator. The generator will never
|
|
modify the contents of the `lib/` and `examples/` directories.
|
|
|
|
## Adding and running examples
|
|
|
|
All files in the `examples/` directory are not modified by the generator and can be freely edited or added to.
|
|
|
|
```go
|
|
# add an example to examples/<your-example>/main.go
|
|
|
|
package main
|
|
|
|
func main() {
|
|
// ...
|
|
}
|
|
```
|
|
|
|
```sh
|
|
$ go run ./examples/<your-example>
|
|
```
|
|
|
|
## Using the repository from source
|
|
|
|
To use a local version of this library from source in another project, edit the `go.mod` with a replace
|
|
directive. This can be done through the CLI with the following:
|
|
|
|
```sh
|
|
$ go mod edit -replace github.com/sst/opencode-sdk-go=/path/to/opencode-sdk-go
|
|
```
|
|
|
|
## Running tests
|
|
|
|
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
|
|
|
|
```sh
|
|
# you will need npm installed
|
|
$ npx prism mock path/to/your/openapi.yml
|
|
```
|
|
|
|
```sh
|
|
$ ./scripts/test
|
|
```
|
|
|
|
## Formatting
|
|
|
|
This library uses the standard gofmt code formatter:
|
|
|
|
```sh
|
|
$ ./scripts/format
|
|
```
|