| type | skill |
|---|---|
| description | Bootstrap a Rust repository with Socketry layout, Bake tasks, agent context, tests, and workflows. Use for a new repository or initial setup. |
Use this skill to bootstrap a new Rust repository or add its initial shared
Socketry tooling. For an audit of an established repository, use the
socketry-project-update skill.
Use a separate repository for a crate that needs its own version, release notes,
or release tag. Use a Cargo workspace when its packages are meant to ship
together at one version and share one releases.md and one vVERSION tag.
Choose the crate name for its public purpose. Crates.io has a flat package
namespace, so use a socketry- prefix when needed to identify a Socketry crate.
The repository can use the -rust suffix to distinguish it from a related
project in another language.
Start with the standard Cargo layout and root files described in the
Rust Repository Layout context guide provided by socketry-project. Keep the
library's dependencies in the root package and development automation in a
private bake/ workspace member.
Install the Cargo launcher and bootstrap the private task package:
cargo install socketry-cargo-bake --locked
cargo bake --regenerateThe command creates bake/, adds it to the Cargo workspace, and writes a
minimal binary. Add this dependency under the existing [dependencies] table in
bake/Cargo.toml:
socketry-project = "0.3"Run regeneration again to link its task registrations:
cargo bake --regenerateSet release reviewers in the root Cargo.toml:
[workspace.metadata.bake.release]
reviewers = ["socketry/managers"]The socketry-project dependency makes the shared tasks available to the
private Bake binary. It also registers cargo:after_version_bump, which updates
license.md, releases.md, and generated sections in readme.md after a
version change.
Keep task tooling out of unrelated published libraries. Consumer projects
should depend on socketry-project from their private bake/ package.
Follow the Agent Context section in readme.md
to install and discover shared context and skills. Follow
Conventions for where to keep
package guidance and project-only instructions. The bake-agent-context
guide documents installer behavior and options.
Configure repository metadata, collaboration features, pull request defaults,
and branch protection using the socketry-project-github-repository skill.
Generate the Cargo workflow with cargo:setup:workflow; follow the
Cargo Publishing guide
before applying rulesets, environment reviewers, or crates.io trusted
publishing.
Use the socketry-project-testing skill for organization-wide testing
expectations. Consult the installed bake-test-rust context for canonical
test.yml and optional external.yml workflows, task setup, coverage options,
and downstream test configuration.
Use cargo:setup:workflow from bake-cargo to generate
.github/workflows/publish.yml. That workflow checks a release candidate on
pull requests, publishes after merge through the configured crates-io
environment, and then creates or updates the matching GitHub Release from
releases.md. See the Cargo Publishing guide
for trusted publishing and repository setup. Use the
socketry-project-testing skill for testing expectations and the
bake-test-rust context for workflow and task details.
Keep the root readme.md concise and human-focused. Use the project context and
Rust API documentation for detailed implementation guidance. Run the project's
checks before opening a pull request, and update releases.md for user-visible
changes.