# Publishing xdge to crates.io
Follow these steps to publish from your local machine (requires Rust stable, latest).
## 1. Update Cargo.toml
Replace the placeholder fields before publishing:
```toml
authors = ["Your Name <you@example.com>"]
homepage = "https://github.com/YOURUSERNAME/xdge"
repository = "https://github.com/YOURUSERNAME/xdge"
```
## 2. Create a GitHub repository
```bash
git init
git add .
git commit -m "chore: initial release v0.1.0"
gh repo create xdge --public --push --source=.
# or use the GitHub website and push manually
```
## 3. Log in to crates.io
Go to https://crates.io → Settings → API Tokens → New Token (scope: publish-new).
```bash
cargo login <YOUR_TOKEN>
```
## 4. Dry-run check
```bash
cargo publish --dry-run
```
This will catch any packaging issues before you publish for real.
## 5. Publish
```bash
cargo publish
```
Your crate will be live at https://crates.io/crates/xdge within seconds.
## 6. Tag the release
```bash
git tag -a v0.1.0 -m "Release v0.1.0"
git push origin v0.1.0
```
## 7. Verify docs.rs
Within a few minutes, auto-generated docs will be at https://docs.rs/xdge
---
## Future releases
1. Bump `version` in `Cargo.toml`
2. Add an entry to `CHANGELOG.md`
3. `cargo publish`
4. `git tag -a vX.Y.Z && git push origin vX.Y.Z`