nucel-sdk-api
Auto-generated Rust client for the nucel.dev REST API.
Features
- 47+ builder-style methods covering the full API v1 (repos, issues, PRs, pipelines, releases, labels, files, orgs, webhooks, users)
- Typed request bodies and response bodies via progenitor code generation
- Bearer token authentication built in
- Reuses your own
reqwest::Clientfor middleware, tracing, retries, etc. - Zero hand-written HTTP plumbing — everything is generated from the
OpenAPI spec shipped in this crate at
openapi/nucel.json
Installation
[]
= "0.1"
Usage
use Client;
async
Available methods
Every endpoint in the nucel API v1 has a corresponding builder method. The
full list is auto-generated — cargo doc --open to explore it, or check
the Swagger UI at https://nucel.dev/api/docs.
Major endpoint families:
list_repos,get_repo,create_repo_handlerlist_branches,create_branch,get_commit_statuslist_issues,create_issue,get_issue,add_comment,close_issue,update_labels,remove_labellist_pulls,create_pull,get_pull,update_pull,merge_pull,list_pull_files,get_pull_diff,submit_review,add_pr_comment,compare_brancheslist_pipelines,get_pipeline,cancel_pipeline,get_pipeline_logslist_releases,create_release,get_release,delete_releaselist_labels,create_labelget_tree,get_blob,get_rawget_org,list_memberslist_webhooks,create_webhook,delete_webhookget_current_user,list_user_orgs
How the SDK is generated
- The
nucel-servercrate annotates every API v1 handler with#[utoipa::path] cargo run -p nucel-server --bin export-openapiwrites the OpenAPI spec toopenapi/nucel.json(workspace-level) and to this crate'sopenapi/nucel.json(crate-local, shipped in the published tarball)- This crate's
build.rsruns progenitor against that spec to produce the typed builder client at build time src/lib.rsre-exports the generatedClientplus anew(base_url, token)helper
Related packages
@nucel/sdk-api— TypeScript SDK generated from the same OpenAPI spec.
License
MIT