Search

PythonReactSEOPDF
GitHub Skill

naming

Naming Conventions skill for the ikigai project

mgreenly☆ 1 Repository stars0 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

Naming Conventions

Description

Load naming conventions for ikigai C codebase.

Public Symbol Pattern

All public symbols follow: ik_MODULE_THING

  • ik_ - namespace prefix
  • MODULE - single word (config, protocol, openai, handler)
  • THING - descriptive name with approved abbreviations

Examples:

  • ik_cfg_load() - function
  • ik_protocol_msg_t - type
  • ik_httpd_shutdown - global variable

Module Organization: One subdirectory = One module. All symbols from a module use the same prefix regardless of file location.

Approved Abbreviations

MUST use these consistently (types, functions, fields, variables):

Full Word Abbrev Domain
configuration cfg Universal
message msg Universal
context ctx Universal
connection conn Networking
request req HTTP
response resp HTTP
buffer buf Universal
length len Universal
string str Universal
pointer ptr Universal
temporary tmp Universal
error err Universal
result res Universal
WebSocket ws Networking
session sess Web
correlation corr Distributed

Words That Must NOT Be Abbreviated

Always spell out completely:

  • handler, manager, server, client
  • function, parameter, shutdown, payload
  • protocol, openai, httpd

Special Conventions

Raw pointers into buffers use _ptr suffix:

bool *visible_ptr;         // Raw pointer to external storage
const char **text_ptr;     // Raw pointer to external string pointer

Global variables use g_ prefix:

extern volatile sig_atomic_t g_httpd_shutdown;

Internal static symbols don't need ik_ prefix.

External Library Wrappers

DO NOT use ik_ prefix - these are link seams for testing.

Library wrappers (talloc, yyjson) use trailing underscore:

talloc_zero_(ctx, size)           // wraps talloc_zero_size()
yyjson_read_file_(path, flg, ...)  // wraps yyjson_read_file()

POSIX wrappers use posix_ prefix + trailing underscore:

posix_open_(pathname, flags)      // wraps open()
posix_write_(fd, buf, count)      // wraps write()

Complete reference: See project/naming.md for full details, rationale, and examples.

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-01-26
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!