بنقرة واحدة
style
Code Style skill for the ikigai project
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Code Style skill for the ikigai project
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Automated quality check loops with escalation and fix sub-agents
JSON-based end-to-end test format, runner, and mock provider
Jujutsu (jj) skill for the ikigai project
How to write effective Ralph goals for Ikigai-driven workflows
Create and manage Ralph goals from Ikigai using the real ralph-pipeline scripts
Create repositories using the real ralph-pipeline repo-create script
| name | style |
| description | Code Style skill for the ikigai project |
Code style conventions for ikigai development.
// style only (never /* ... */)<inttypes.h> for numeric types and format specifiersint, long, etc.)int8_t, int16_t, int32_t, int64_t, uint8_t, etc.size_t for sizes and countsPRId32, PRIu64, etc. for printf format specifiersSCNd32, SCNu64, etc. for scanf format specifiersExample:
#include <inttypes.h>
int32_t count = 42;
uint64_t size = 1024;
printf("Count: %" PRId32 ", Size: %" PRIu64 "\n", count, size);
Follow Google C++ style guide for #include ordering:
config.h in config.c) - catches missing dependencies"header.h") - alphabetically sorted<header.h>) - alphabetically sortedExample:
#include "config.h" // Own header
#include "json_allocator.h" // Project headers (alphabetical)
#include "logger.h"
#include "panic.h"
#include "wrapper.h"
#include <errno.h> // System headers (alphabetical)
#include <stdlib.h>
#include <string.h>
Rationale: Project headers before system headers catches non-self-contained headers early.
Do not use static helper functions in implementation files. Instead, inline the code directly.
Why: LCOV exclusion markers (LCOV_EXCL_BR_LINE) on PANIC/assert calls inside static functions are not reliably honored, breaking 90% branch coverage requirements.
Exception: MOCKABLE wrapper functions (see wrapper.h) - these use static functions by design for the mocking interface.
Instead of:
static yyjson_mut_val *build_param(yyjson_mut_doc *doc, const char *desc)
{
yyjson_mut_val *p = yyjson_mut_obj(doc);
if (p == NULL) PANIC("Out of memory"); // LCOV_EXCL_BR_LINE - NOT HONORED!
return p;
}
Do:
// Inline the code at each call site
yyjson_mut_val *p = yyjson_mut_obj(doc);
if (p == NULL) PANIC("Out of memory"); // LCOV_EXCL_BR_LINE - works
Always add a blank line between END_TEST and START_TEST.