[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83627":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},83627,"sdk-rust","unicity-astrid\u002Fsdk-rust","unicity-astrid","Rust SDK for building Astrid capsules",null,"Rust",4348,10,3,0,25.12,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:04:35","# astrid-sdk\n\n[![License: MIT OR Apache-2.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT%20OR%20Apache--2.0-blue.svg)](LICENSE-MIT)\n[![MSRV: 1.94](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMSRV-1.94-blue)](https:\u002F\u002Fwww.rust-lang.org)\n\n**The Rust SDK for building [Astrid](https:\u002F\u002Fgithub.com\u002Funicity-astrid\u002Fastrid) capsules.**\n\nIn the OS model, this is the standard library for user-space processes. It gives capsule authors safe, typed access to every kernel service: filesystem, IPC, networking, storage, approval, scheduling, and more. Capsule authors depend on `astrid-sdk` and `serde`. Everything else is handled.\n\n## Crates\n\n| Crate | Role |\n|---|---|\n| `astrid-sdk` | Safe Rust SDK for capsule authors. Mirrors `std` module layout: `fs`, `net`, `process`, `env`, `time`, `log`, plus Astrid-specific modules: `ipc`, `kv`, `http`, `hooks`, `cron`, `uplink`, `identity`, `approval`, `runtime`. |\n| `astrid-sdk-macros` | `#[capsule]` proc macro. Generates WASM ABI exports from annotated impl blocks: tool dispatch, command routing, hook handlers, cron handlers, install\u002Fupgrade entry points. |\n| `astrid-sys` | Raw WASM-to-host FFI bindings. The syscall table. Every parameter crosses as `Vec\u003Cu8>`. You should not use this directly. |\n\n## Quick start\n\n```toml\n[dependencies]\nastrid-sdk = \"0.2\"\nserde = { version = \"1.0\", features = [\"derive\"] }\n```\n\n```rust\nuse astrid_sdk::prelude::*;\n\n#[derive(Default)]\npub struct MyTools;\n\n#[capsule]\nimpl MyTools {\n    #[astrid::tool]\n    fn search_issues(&self, args: SearchArgs) -> Result\u003CSearchResult, SysError> {\n        let token = env::var(\"GITHUB_TOKEN\")?;\n        let resp = http::get(&format!(\n            \"https:\u002F\u002Fapi.github.com\u002Fsearch\u002Fissues?q={}\", args.query\n        ))?;\n        \u002F\u002F ...\n    }\n}\n```\n\nThe `#[capsule]` macro generates all WASM ABI boilerplate: `extern \"C\"` exports, JSON serialization across the boundary, tool schema generation, and dispatch routing.\n\n## Building capsules\n\nCapsules compile to `wasm32-wasip2`:\n\n```bash\nrustup target add wasm32-wasip2\ncargo build --target wasm32-wasip2 --release\n```\n\n## Development\n\n```bash\ncargo build --workspace\ncargo test --workspace -- --quiet\ncargo clippy --workspace --all-features -- -D warnings\n```\n\n## License\n\nDual-licensed under [MIT](LICENSE-MIT) and [Apache 2.0](LICENSE-APACHE).\n\nCopyright (c) 2025-2026 Joshua J. Bouw and Unicity Labs.\n",2,"2026-06-11 04:11:24","high_star"]