zig
Installation
SKILL.md
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
Related skills
More from poletron/custom-rules
cpp
>
104lancedb
>
17clean-code
Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments
10trpc
>
8web-performance-optimization
Optimize website and web application performance including loading speed, Core Web Vitals, bundle size, caching strategies, and runtime performance
7javascript-mastery
Comprehensive JavaScript reference covering 33+ essential concepts every developer should know. From fundamentals like primitives and closures to advanced patterns like async/await and functional programming. Use when explaining JS concepts, debugging JavaScript issues, or teaching JavaScript fundamentals.
7