Read the SPEC.md document to understand the intended behavior and scope of the application. Based on this, identify only the libcurl functions, structs, constants, and enums required to implement minimal Nim bindings sufficient for the application to work.
You are provided with a curl_temp/ directory containing libcurl header files for reference only. Use these headers to:
- Verify enum values and constants
- Avoid deprecated APIs
- Ensure correctness and completeness
Do not invent enum values or constants — always confirm them directly from the headers.
Despite using curl_temp/ for reference, the bindings must link against the system-installed libcurl, not the temporary headers.
Follow the style and patterns used by existing bindings in src/pdfocr/wrappers/.
All passC and passL directives must be added to src/config.nims, using the same conventions already present.
Additionally:
- Create an appropriate test file under
tests/ - Ensure
.github/workflows/ci.ymlruns successfully on macOS, Windows, and Linux - Consult
SKILLS.mdfor required design decisions, constraints, and common pitfalls to avoid when writing bindings
You may freely experiment and make commits to the repository. For every commit, clearly explain:
- What problem was addressed
- Why the change was necessary
- How it resolves the issue (especially in response to CI failures)
The CI output will be shared with you after each run and should directly inform your next changes.
Good luck.
keep working on this: codex resume 019c1e62-2899-7032-a5e6-bcbc905ee2bf