pub trait Project {
// Required methods
fn name(&self) -> ProjectName;
fn namespace(&self) -> Option<ProjectNamespace>;
fn ssh_url(&self) -> RemoteUrl;
fn http_url(&self) -> RemoteUrl;
fn private(&self) -> bool;
// Provided method
fn into_repo_config(
self,
remote_name: &RemoteName,
worktree_setup: bool,
force_ssh: bool,
) -> Repo
where Self: Sized { ... }
}