zig
4
总安装量
2
周安装量
#50011
全站排名
安装命令
npx skills add https://github.com/poletron/custom-rules --skill zig
Agent 安装分布
github-copilot
2
mcpjam
1
claude-code
1
zencoder
1
cline
1
Skill 文档
Critical Patterns
Error Handling (REQUIRED)
// â
ALWAYS: Use error unions
fn readFile(path: []const u8) ![]u8 {
const file = try std.fs.cwd().openFile(path, .{});
defer file.close();
return try file.readToEndAlloc(allocator, max_size);
}
// Usage with catch
const content = readFile("config.txt") catch |err| {
std.log.err("Failed: {}", .{err});
return err;
};
Memory Management (REQUIRED)
// â
ALWAYS: Use allocators explicitly
const allocator = std.heap.page_allocator;
var list = std.ArrayList(u8).init(allocator);
defer list.deinit();
try list.append(42);
Comptime (REQUIRED)
// â
Use comptime for compile-time computation
fn Vec(comptime T: type, comptime N: usize) type {
return struct {
data: [N]T,
pub fn init() @This() {
return .{ .data = undefined };
}
};
}
const Vec3f = Vec(f32, 3);
Decision Tree
Need error handling? â Use error unions with try/catch
Need cleanup? â Use defer
Need compile-time? â Use comptime
Need optional value? â Use ?T (optional type)
Need C interop? â Use @cImport
Commands
zig build # Build project
zig run src/main.zig # Build and run
zig test src/main.zig # Run tests
zig fmt src/ # Format code
Resources
- Best Practices: best-practices.md
- Comptime: comptime.md
- Memory: memory.md