Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ This is a multi-language SDK repository. Install the tools for the SDK(s) you pl
1. Install [.NET 8.0+](https://dotnet.microsoft.com/download)
1. Install dependencies: `cd dotnet && dotnet restore`

### Rust SDK
1. Install [Rust 1.75+](https://www.rust-lang.org/tools/install) (2021 edition)
1. Install dependencies: `cd rust && cargo build`

## Submitting a pull request

1. [Fork][fork] and clone the repository
Expand All @@ -60,11 +64,13 @@ just test-nodejs # Node.js tests
just test-python # Python tests
just test-go # Go tests
just test-dotnet # .NET tests
just test-rust # Rust tests

just lint-nodejs # Node.js linting
just lint-python # Python linting
just lint-go # Go linting
just lint-dotnet # .NET linting
just lint-rust # Rust linting
```

Or run commands directly in each SDK directory:
Expand All @@ -81,6 +87,9 @@ cd go && go test ./... && golangci-lint run ./...

# .NET
cd dotnet && dotnet test test/GitHub.Copilot.SDK.Test.csproj

# Rust
cd rust && cargo test && cargo clippy -- -D warnings
```

Here are a few things you can do that will increase the likelihood of your pull request being accepted:
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ All SDKs are in technical preview and may change in breaking ways as we move tow
| **Python** | [`./python/`](./python/README.md) | `pip install github-copilot-sdk` |
| **Go** | [`./go/`](./go/README.md) | `go get github.com/github/copilot-sdk/go` |
| **.NET** | [`./dotnet/`](./dotnet/README.md) | `dotnet add package GitHub.Copilot.SDK` |
| **Rust** | [`./rust/`](./rust/README.md) | `cargo add copilot-sdk` |

See the individual SDK READMEs for installation, usage examples, and API reference.

Expand Down
21 changes: 18 additions & 3 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ default:
@just --list

# Format all code across all languages
format: format-go format-python format-nodejs format-dotnet
format: format-go format-python format-nodejs format-dotnet format-rust

# Lint all code across all languages
lint: lint-go lint-python lint-nodejs lint-dotnet
lint: lint-go lint-python lint-nodejs lint-dotnet lint-rust

# Run tests for all languages
test: test-go test-python test-nodejs test-dotnet
test: test-go test-python test-nodejs test-dotnet test-rust

# Format Go code
format-go:
Expand Down Expand Up @@ -71,6 +71,21 @@ test-dotnet:
@echo "=== Testing .NET code ==="
@cd dotnet && dotnet test test/GitHub.Copilot.SDK.Test.csproj

# Format Rust code
format-rust:
@echo "=== Formatting Rust code ==="
@cd rust && cargo fmt

# Lint Rust code
lint-rust:
@echo "=== Linting Rust code ==="
@cd rust && cargo clippy -- -D warnings

# Test Rust code
test-rust:
@echo "=== Testing Rust code ==="
@cd rust && cargo test

# Install all dependencies
install:
@echo "=== Installing dependencies ==="
Expand Down
5 changes: 5 additions & 0 deletions rust/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Rust build artifacts
/target/

# Cargo lock file (optional for libraries)
# Cargo.lock
Loading