Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/wangqiqi/cursor-ai-rules/c-basics-syntaxgit clone --depth 1 https://github.com/wangqiqi/cursor-ai-rulesWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00474 |
| Opus 5 | $0.00000 | $0.00237 |
| Sonnet 5 | $0.00000 | $0.00095 |
| Haiku 4.5 | $0.00000 | $0.00047 |
Grade A, and why
c-basics-syntax scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
C 语言语法规范 (Syntax)
本规则由
@c-basics引用
项目结构
c_project/
├── Makefile / CMakeLists.txt
├── src/ # 源代码 (main.c, core/, utils/)
├── include/ # 公共头文件
├── tests/ # 测试
├── examples/
└── .clang-format
C99/C11 标准特性
#include <stdbool.h>
#include <stdint.h>
// 固定宽度整数
typedef struct {
uint32_t id;
uint8_t flags;
int64_t timestamp;
size_t data_size;
} Record;
// bool 与复合字面量
bool validate_record(const Record* record) {
return record && record->id != 0 && record->data_size > 0;
}
Record create_record(uint32_t id, const char* data) {
return (Record){
.id = id,
.flags = 0x01,
.timestamp = time(NULL),
.data_size = strlen(data)
};
}
// 变长数组 (C99)
void process_data(size_t count, const int data[count]) {
for (size_t i = 0; i < count; ++i) printf("data[%zu] = %d\n", i, data[i]);
}
命名约定
| 类型 | 约定 | 示例 |
|---|---|---|
| 结构体/枚举 | PascalCase | UserRecord, ProcessStatus |
| 函数/变量 | snake_case | process_user_data, buffer_size |
| 常量/宏 | SCREAMING_SNAKE_CASE | MAX_BUFFER_SIZE |
| 文件静态 | 前缀 s_ | s_connection_count |
头文件保护
#ifndef PROJECT_NAME_CONFIG_H
#define PROJECT_NAME_CONFIG_H
// ...
#endif
引用: @c-basics
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 79 lines · 0 tokens per session scan A 6386620a0e7c
c-basics-syntax is a cursor rule published in the GitHub repository wangqiqi/cursor-ai-rules (15 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 474 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
cpp-programming-guidelines-cursorrules-prompt-file
Cursor rules for C++ development with programming guidelines integration.
vios-cpp-standards
C++17 coding standards, quality rules, and naming conventions for VIOS.
boffin-cpp-routing
Activate ParselFire Core C++ pack index.
05-generator
You are an expert competitive programming problem setter specialising in writing Polygon test generators using testlib.h.
cpp-api-patterns
Result , BSON, and MongoDB C++ API patterns (zero-error).
qb-linq-tests
qb-linq GoogleTest suite — extend tests for behaviour changes.