## Capabilities
Depending on its configuration and the backing system, this service can expose:
- [x] create_dir
- [x] stat
- [x] read
- [x] write
- [x] delete
- [x] list
- [ ] copy
- [ ] rename
- [ ] presign
Inspect the effective capability set with [`opendal_core::Operator::info`] and
[`opendal_core::OperatorInfo::capability`] after building an operator.
## Configuration
Use [`crate::GithubConfig`] for serializable configuration and this builder's
methods for direct construction. The field and method documentation defines
accepted values, defaults, and environment interaction.
## Example
### Via Builder
```rust,no_run
use opendal_core::Operator;
use opendal_core::Result;
use opendal_service_github::Github;
#[tokio::main]
async fn main() -> Result<()> {
// create backend builder
let mut builder = Github::default()
// set the storage root for OpenDAL
.root("/")
// set the access token for Github API
.token("your_access_token")
// set the owner for Github
.owner("your_owner")
// set the repository for Github
.repo("your_repo");
let op: Operator = Operator::new(builder)?;
Ok(())
}
```