一键导入
firkin-external-consumer
Use when verifying Firkin can be installed and used from a fresh external Rust project without local path dependencies.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when verifying Firkin can be installed and used from a fresh external Rust project without local path dependencies.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when preparing, publishing, verifying, or diagnosing Firkin crates.io/GitHub releases from the standalone Firkin repository.
Use when iterating quickly on Firkin performance, local profiling, stage timing, bottleneck attribution, smoke evidence, or benchmark-derived instrumentation in the Firkin checkout.
Use rs-hack for large Rust refactors in Firkin/Cube, especially moving the CubeAPI Firkin backend into firkin-runtime::single_node with AST-aware discovery, batch transforms, dry-run/apply/revert discipline, and compile gates.
| name | firkin-external-consumer |
| description | Use when verifying Firkin can be installed and used from a fresh external Rust project without local path dependencies. |
Use this skill after publishing Firkin crates or when checking whether a normal user can install and compile Firkin from crates.io.
Prove a fresh project outside the Firkin workspace can resolve, build, and use
Firkin from crates.io. Do not use path =, patch.crates-io, or local git
dependencies for the proof.
rm -rf /tmp/firkin-consumer-smoke
cargo new /tmp/firkin-consumer-smoke --bin
cd /tmp/firkin-consumer-smoke
cargo add firkin@0.0.3
cargo add tokio@1 --features macros,rt-multi-thread
Use a compile-only smoke that does not boot a VM:
use firkin::{Rootfs, RuntimeCapabilities, RuntimeCapability};
use firkin::types::{ContainerId, Size};
static SMOKE_CAPABILITIES: &[RuntimeCapability] = &[
RuntimeCapability::supported("compile", Some("consumer smoke")),
];
fn main() {
let id = ContainerId::new("agent-1").unwrap();
let rootfs = Rootfs::raw_block("/tmp/rootfs.img");
let caps = RuntimeCapabilities::new("external-smoke", SMOKE_CAPABILITIES, &[]);
assert_eq!(id.as_str(), "agent-1");
assert!(matches!(rootfs, Rootfs::RawBlock { .. }));
assert!(caps.supports("compile"));
assert_eq!(Size::mib(1).as_bytes(), 1024 * 1024);
}
Then run:
cargo check
cargo run
The fk CLI crate is not published in 0.0.3; it is built from the repo
release workflow. Do not use cargo install firkin-cli as a success criterion
for this alpha unless publish = false is intentionally removed later.