ffi-design

Solid

Expert skill for designing and implementing foreign function interfaces to native code

AI & Automation 814 stars 53 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
97
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
78
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# FFI Design Skill ## Overview Expert skill for designing and implementing foreign function interfaces to native code. ## Capabilities - Design FFI declaration syntax - Implement type marshaling between languages - Handle C calling conventions (cdecl, stdcall, fastcall) - Implement callback support (native calling managed) - Handle string encoding conversions - Implement struct layout matching (padding, alignment) - Design memory ownership transfer rules - Support dynamic library loading ## Target Processes - ffi-implementation.js - interpreter-implementation.js - bytecode-vm-implementation.js - code-generation-llvm.js ## Dependencies - libffi - Platform ABI documentation ## Usage Guidelines 1. **Safety**: Design safe wrappers around unsafe FFI calls 2. **Marshaling**: Document type marshaling rules explicitly 3. **Ownership**: Make memory ownership clear at FFI boundaries 4. **Callbacks**: Handle callback lifetimes carefully 5. **Strings**: Handle string encoding conversions correctly (UTF-8, UTF-16) ## Output Schema ```json { "type": "object", "properties": { "callingConventions": { "type": "array", "items": { "type": "string" } }, "marshalingRules": { "type": "array", "items": { "type": "object", "properties": { "sourceType": { "type": "string" }, "targetType": { "type": "string" } } } }, "callbackSupport": { "type": "boolean" }, "generatedFiles": { "type...

Details

Author
a5c-ai
Repository
a5c-ai/babysitter
Created
4 months ago
Last Updated
today
Language
JavaScript
License
MIT

Related Skills