cpp-basics

cpp-basics is a cursor rule for Cursor from wangqiqi/cursor-ai-rules. It costs 0 tokens per session (1,862 once invoked), scanned A, original, MIT.

A set of Chinese-language rules for modern C++ development, covering project structure, CMake layouts, headers, testing, and high-performance software practices.

In plain words
What is it for?
Use it when creating or reviewing C++ projects that use CMake, tests, benchmarks, dependency tools, formatting, or static analysis.
Why use it?
It gives C++ projects consistent guidance for organizing and building code across systems such as games, embedded devices, and scientific software.

Cursor rule for Cursor

Written for Cursor: installed under .cursor/.

Good fit Use it when creating or reviewing C++ projects that use CMake, tests, benchmarks, dependency tools, formatting, or static analysis.

Compare 6 cursor rules from other repositories ↓
Install with agentmods
npx agentmods add rules/wangqiqi/cursor-ai-rules/cpp-basics
Install

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.

Clone the repo
git clone --depth 1 https://github.com/wangqiqi/cursor-ai-rules

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cpp-basics

README.md
[![agentmods](https://agentmods.dev/badge/rules/wangqiqi/cursor-ai-rules/cpp-basics/github.svg)](https://agentmods.dev/rules/wangqiqi/cursor-ai-rules/cpp-basics)
Your own site
<a href="https://agentmods.dev/rules/wangqiqi/cursor-ai-rules/cpp-basics"><img src="https://agentmods.dev/badge/rules/wangqiqi/cursor-ai-rules/cpp-basics/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cpp-basics

Your own site · 80×15
<a href="https://agentmods.dev/rules/wangqiqi/cursor-ai-rules/cpp-basics"><img src="https://agentmods.dev/badge/rules/wangqiqi/cursor-ai-rules/cpp-basics.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 1,862 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.01862
Opus 5.5 $0.00000 $0.00745
Sonnet 5.5 $0.00000 $0.00372
Haiku 4.5 $0.00000 $0.00186

Measured 1mo ago against content hash b855a25050ec, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cpp-basics 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 1mo 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.

.cursor/rules/tech/cpp-basics.mdc · 283 lines

How it starts

The opening of the file, as written. The whole thing — 283 lines — stays where its author put it; the contents beside it link to each section on GitHub.

🚀 C++ 开发规则

版本: v4.3.0 | 最后更新: 2026-01-22 | 作者: Cursor AI Rules

🎯 适用场景

  • 高性能系统编程和底层开发
  • 游戏引擎和实时图形应用
  • 嵌入式系统和物联网设备
  • 高频交易和金融系统
  • 科学计算和数值模拟
  • 跨平台桌面应用开发

🏗️ 项目结构

现代CMake项目布局

modern_cpp_project/
├── CMakeLists.txt              # 主CMake配置
├── cmake/                      # CMake模块
│   ├── CompilerWarnings.cmake
│   └── Conan.cmake
├── src/                        # 源代码
│   ├── main.cpp
│   ├── core/                   # 核心模块
│   │   ├── CMakeLists.txt
│   │   ├── include/
│   │   │   ├── core.h
│   │   │   └── types.h
│   │   └── src/
│   │       ├── core.cpp
│   │       └── types.cpp
│   └── utils/                  # 工具模块
├── tests/                      # 测试
│   ├── CMakeLists.txt
│   ├── main.cpp
│   └── core/
│       └── test_core.cpp
├── benchmarks/                 # 性能测试
├── examples/                   # 示例代码
├── docs/                       # 文档
├── conanfile.txt              # Conan依赖
├── .clang-format              # 代码格式化配置
├── .clang-tidy               # 静态分析配置
└── README.md

头文件组织

include/project_name/
├── core/                       # 核心功能头文件
│   ├── config.h               # 配置宏
│   ├── types.h                # 类型定义
│   └── interfaces/            # 接口定义
├── algorithms/                # 算法相关
├── containers/                # 容器实现
└── utilities/                 # 工具函数

📝 编码规范

现代C++特性使用 (C++11/14)

#include <iostream>
#include <memory>
#include <vector>
#include <string>
#include <functional>

// ✅ 推荐:使用智能指针和RAII
class FileHandler {
private:
    std::unique_ptr<std::FILE, std::function<void(std::FILE*)>> file_;

public:
    explicit FileHandler(const std::string& path)
        : file_(std::fopen(path.c_str(), "r"),
                [](std::FILE* f) { if (f) std::fclose(f); }) {
        if (!file_) {
            throw std::runtime_error("Failed to open file");
        }
    }

    // 使用const std::string&避免字符串拷贝
    void processLine(const std::string& line) {
        std::cout << "Processing: " << line << std::endl;
    }
};

// ✅ 推荐:使用auto和范围for
boost::optional<std::string> findUser(const std::vector<User>& users,
                                    const std::string& name) {
    for (const auto& user : users) {
        if (user.name == name) {
            return user.email;
        }
    }
    return boost::none;
}

// ✅ 推荐:使用constexpr进行编译时计算
constexpr int fibonacci(int n) {
    return (n <= 1) ? n : fibonacci(n - 1) + fibonacci(n - 2);
}

Read the full file on GitHub · 283 lines

Changes

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.

  1. 1mo ago First seen · 283 lines · 0 tokens per session scan A b855a25050ec

Subscribe to this mod's changes

cpp-basics is a cursor rule published in the GitHub repository wangqiqi/cursor-ai-rules (17 stars, last pushed 4mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,862 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.