naming

naming is a cursor rule for Cursor from Takt365/Takt.Wpf. It costs 559 tokens per session, scanned A, original, MIT.

Naming rules for a Takt.Wpf application, including required prefixes for classes and interfaces and required names for methods, files, fields, and properties. WPF is Microsoft's framework for building Windows desktop interfaces.

In plain words
What is it for?
They define names for classes, interfaces, asynchronous methods, views, view models, services, private fields, public properties, and local variables.
Why use it?
They keep code names consistent so developers can identify the kind of component and its role from the name alone.

Cursor rule for Cursor

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.

agentmods
npx agentmods add rules/takt365/takt.wpf/naming
Clone the repo
git clone --depth 1 https://github.com/Takt365/Takt.Wpf

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 naming

README.md
[![agentmods](https://agentmods.dev/badge/rules/takt365/takt.wpf/naming.svg)](https://agentmods.dev/rules/takt365/takt.wpf/naming)
Your own site
<a href="https://agentmods.dev/rules/takt365/takt.wpf/naming"><img src="https://agentmods.dev/badge/rules/takt365/takt.wpf/naming.svg" alt="Measured on agentmods" height="20"></a>
Per session 559 This file is loaded in full into every session.
When invoked 559 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
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 $0.00559 $0.00559
Opus 5 $0.00280 $0.00280
Sonnet 5 $0.00112 $0.00112
Haiku 4.5 $0.00056 $0.00056

Measured 4d ago against content hash e8190c592c58, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

naming 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 4d 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/naming.mdc · 84 lines

What it actually says

命名规范

类命名

强制要求:类名必须以 Takt 开头

// ✅ 正确
public class TaktUserService { }
public class TaktAuthenticationService { }

// ❌ 错误
public class UserService { }  // 缺少 Hbt 前缀

示例文件

  • @src/Takt.Application/Services/(查看实际类名)

接口命名

强制要求:接口必须以 ITakt 开头

// ✅ 正确
public interface ITaktUserService { }
public interface ITaktAuthenticationService { }

// ❌ 错误
public interface IUserService { }  // 缺少 IHbt 前缀

示例文件

  • @src/Takt.Application/Services/(查看实际接口名)

方法命名

异步方法:必须以 Async 结尾

// ✅ 正确
public async Task<List<UserDto>> GetUsersAsync() { }
public async Task<UserDto> GetUserByIdAsync(int id) { }

// ❌ 错误
public async Task<List<UserDto>> GetUsers() { }  // 缺少 Async 后缀

示例文件

  • @src/Takt.Application/Services/(查看实际方法名)

文件命名

  • View 文件:[功能名]View.xaml(如 UserView.xaml
  • ViewModel 文件:[功能名]ViewModel.cs(如 UserViewModel.cs
  • Service 接口:I[功能名]Service.cs(如 IUserService.cs
  • Service 实现:[功能名]Service.cs(如 UserService.cs

示例文件

  • @src/Takt.Fluent/Views/Identity/UserView.xaml
  • @src/Takt.Fluent/ViewModels/Identity/UserViewModel.cs

变量命名

  • 私有字段:_camelCase(如下划线 + 驼峰)
  • 公共属性:PascalCase
  • 局部变量:camelCase
// ✅ 正确
public class TaktUserService
{
    private readonly IUserRepository _userRepository;  // 私有字段
    public int UserId { get; set; }  // 公共属性
    private void ProcessUser()
    {
        var userName = "test";  // 局部变量
    }
}
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. 4d ago First seen · 84 lines · 559 tokens per session scan A e8190c592c58

Subscribe to this mod's changes

naming is a cursor rule published in the GitHub repository Takt365/Takt.Wpf (17 stars, last pushed 8mo ago), licensed MIT. It adds 559 tokens to every session, about $0.0028 per session on Opus 5. 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.