RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Diff/thanhtrunggdev-dontbelazy-cursor-rules-rust-coding-style ↔ thanhtrunggdev-dontbelazy-agent-agents

Comparison

A · Cursor rules · ThanhTrunggDEV/DontBeLazyB · AGENTS.md · ThanhTrunggDEV/DontBeLazy
What each file covers, counted
DimensionSharedOnly in AOnly in BOverlap
Sections010140%
Commands0200%
Section tags11711%

What each file covers

Sections

0 shared · 10 only in A · 14 only in B
  • − Rust Coding Style
  • − Formatting
  • − Immutability
  • − Naming
  • − Ownership and Borrowing
  • − Error Handling
  • − Iterators Over Loops
  • − Module Organization
  • − Visibility
  • − References
  • + Everything Claude Code (ECC) — Agent Instructions
  • + Core Principles
  • + Available Agents
  • + Agent Orchestration
  • + Security Guidelines
  • + Coding Style
  • + Testing Requirements
  • + Development Workflow
  • + Workflow Surface Policy
  • + Git Workflow
  • + Architecture Patterns
  • + Performance
  • + Project Structure
  • + Success Metrics

Commands

0 shared · 2 only in A · 0 only in B
  • − cargo fmt
  • − cargo clippy -- -D warnings

Section tags

1 shared · 1 only in A · 7 only in B
  • − lint-format
  • + build
  • + test
  • + architecture
  • + git-pr
  • + security
  • + performance
  • + agent-behaviour
  •   code-style

Line diff

+134 added−119 removed33 unchanged19.8% identical
ThanhTrunggDEV/DontBeLazy · .cursor/rules/rust-coding-style.mdc
@@ −1 @@
1---
2paths:
3 - "**/*.rs"
4---
5# Rust Coding Style
6 
7> This file extends [common/coding-style.md](../common/coding-style.md) with Rust-specific content.
8 
9## Formatting
10 
11- **rustfmt** for enforcement — always run `cargo fmt` before committing
12- **clippy** for lints — `cargo clippy -- -D warnings` (treat warnings as errors)
13- 4-space indent (rustfmt default)
14- Max line width: 100 characters (rustfmt default)
15 
16## Immutability
 
 
 
 
17 
18Rust variables are immutable by default — embrace this:
19 
20- Use `let` by default; only use `let mut` when mutation is required
21- Prefer returning new values over mutating in place
22- Use `Cow<'_, T>` when a function may or may not need to allocate
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23 
24```rust
25use std::borrow::Cow;
26 
27// GOOD — immutable by default, new value returned
28fn normalize(input: &str) -> Cow<'_, str> {
29 if input.contains(' ') {
30 Cow::Owned(input.replace(' ', "_"))
31 } else {
32 Cow::Borrowed(input)
33 }
34}
35 
36// BAD — unnecessary mutation
37fn normalize_bad(input: &mut String) {
38 *input = input.replace(' ', "_");
39}
40```
41 
42## Naming
43 
44Follow standard Rust conventions:
45- `snake_case` for functions, methods, variables, modules, crates
46- `PascalCase` (UpperCamelCase) for types, traits, enums, type parameters
47- `SCREAMING_SNAKE_CASE` for constants and statics
48- Lifetimes: short lowercase (`'a`, `'de`) — descriptive names for complex cases (`'input`)
 
 
 
 
49 
50## Ownership and Borrowing
51 
52- Borrow (`&T`) by default; take ownership only when you need to store or consume
53- Never clone to satisfy the borrow checker without understanding the root cause
54- Accept `&str` over `String`, `&[T]` over `Vec<T>` in function parameters
55- Use `impl Into<String>` for constructors that need to own a `String`
56 
57```rust
58// GOOD — borrows when ownership isn't needed
59fn word_count(text: &str) -> usize {
60 text.split_whitespace().count()
61}
62 
63// GOOD — takes ownership in constructor via Into
64fn new(name: impl Into<String>) -> Self {
65 Self { name: name.into() }
66}
67 
68// BAD — takes String when &str suffices
69fn word_count_bad(text: String) -> usize {
70 text.split_whitespace().count()
71}
72```
73 
74## Error Handling
75 
76- Use `Result<T, E>` and `?` for propagation — never `unwrap()` in production code
77- **Libraries**: define typed errors with `thiserror`
78- **Applications**: use `anyhow` for flexible error context
79- Add context with `.with_context(|| format!("failed to ..."))?`
80- Reserve `unwrap()` / `expect()` for tests and truly unreachable states
81 
82```rust
83// GOOD — library error with thiserror
84#[derive(Debug, thiserror::Error)]
85pub enum ConfigError {
86 #[error("failed to read config: {0}")]
87 Io(#[from] std::io::Error),
88 #[error("invalid config format: {0}")]
89 Parse(String),
90}
91 
92// GOOD — application error with anyhow
93use anyhow::Context;
94 
95fn load_config(path: &str) -> anyhow::Result<Config> {
96 let content = std::fs::read_to_string(path)
97 .with_context(|| format!("failed to read {path}"))?;
98 toml::from_str(&content)
99 .with_context(|| format!("failed to parse {path}"))
100}
101```
102 
103## Iterators Over Loops
 
 
 
104 
105Prefer iterator chains for transformations; use loops for complex control flow:
 
 
 
106 
107```rust
108// GOOD — declarative and composable
109let active_emails: Vec<&str> = users.iter()
110 .filter(|u| u.is_active)
111 .map(|u| u.email.as_str())
112 .collect();
113 
114// GOOD — loop for complex logic with early returns
115for user in &users {
116 if let Some(verified) = verify_email(&user.email)? {
117 send_welcome(&verified)?;
118 }
119}
120```
121 
122## Module Organization
 
 
 
 
 
 
 
 
123 
124Organize by domain, not by type:
125 
126```text
127src/
128├── main.rs
129├── lib.rs
130├── auth/ # Domain module
131│ ├── mod.rs
132│ ├── token.rs
133│ └── middleware.rs
134├── orders/ # Domain module
135│ ├── mod.rs
136│ ├── model.rs
137│ └── service.rs
138└── db/ # Infrastructure
139 ├── mod.rs
140 └── pool.rs
141```
142 
143## Visibility
144 
145- Default to private; use `pub(crate)` for internal sharing
146- Only mark `pub` what is part of the crate's public API
147- Re-export public API from `lib.rs`
148 
149## References
150 
151See skill: `rust-patterns` for comprehensive Rust idioms and patterns.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152 
ThanhTrunggDEV/DontBeLazy · .agent/AGENTS.md
@@ +1 @@
1# Everything Claude Code (ECC) — Agent Instructions
 
 
 
 
2 
3This is a **production-ready AI coding plugin** providing 48 specialized agents, 183 skills, 79 commands, and automated hook workflows for software development.
4 
5**Version:** 1.10.0
6 
7## Core Principles
 
 
 
8 
91. **Agent-First** — Delegate to specialized agents for domain tasks
102. **Test-Driven** — Write tests before implementation, 80%+ coverage required
113. **Security-First** — Never compromise on security; validate all inputs
124. **Immutability** — Always create new objects, never mutate existing ones
135. **Plan Before Execute** — Plan complex features before writing code
14 
15## Available Agents
16 
17| Agent | Purpose | When to Use |
18|-------|---------|-------------|
19| planner | Implementation planning | Complex features, refactoring |
20| architect | System design and scalability | Architectural decisions |
21| tdd-guide | Test-driven development | New features, bug fixes |
22| code-reviewer | Code quality and maintainability | After writing/modifying code |
23| security-reviewer | Vulnerability detection | Before commits, sensitive code |
24| build-error-resolver | Fix build/type errors | When build fails |
25| e2e-runner | End-to-end Playwright testing | Critical user flows |
26| refactor-cleaner | Dead code cleanup | Code maintenance |
27| doc-updater | Documentation and codemaps | Updating docs |
28| cpp-reviewer | C/C++ code review | C and C++ projects |
29| cpp-build-resolver | C/C++ build errors | C and C++ build failures |
30| docs-lookup | Documentation lookup via Context7 | API/docs questions |
31| go-reviewer | Go code review | Go projects |
32| go-build-resolver | Go build errors | Go build failures |
33| kotlin-reviewer | Kotlin code review | Kotlin/Android/KMP projects |
34| kotlin-build-resolver | Kotlin/Gradle build errors | Kotlin build failures |
35| database-reviewer | PostgreSQL/Supabase specialist | Schema design, query optimization |
36| python-reviewer | Python code review | Python projects |
37| java-reviewer | Java and Spring Boot code review | Java/Spring Boot projects |
38| java-build-resolver | Java/Maven/Gradle build errors | Java build failures |
39| loop-operator | Autonomous loop execution | Run loops safely, monitor stalls, intervene |
40| harness-optimizer | Harness config tuning | Reliability, cost, throughput |
41| rust-reviewer | Rust code review | Rust projects |
42| rust-build-resolver | Rust build errors | Rust build failures |
43| pytorch-build-resolver | PyTorch runtime/CUDA/training errors | PyTorch build/training failures |
44| typescript-reviewer | TypeScript/JavaScript code review | TypeScript/JavaScript projects |
45 
46## Agent Orchestration
 
47 
48Use agents proactively without user prompt:
49- Complex feature requests → **planner**
50- Code just written/modified → **code-reviewer**
51- Bug fix or new feature → **tdd-guide**
52- Architectural decision → **architect**
53- Security-sensitive code → **security-reviewer**
54- Autonomous loops / loop monitoring → **loop-operator**
55- Harness config reliability and cost → **harness-optimizer**
56 
57Use parallel execution for independent operations — launch multiple agents simultaneously.
 
 
 
 
58 
59## Security Guidelines
60 
61**Before ANY commit:**
62- No hardcoded secrets (API keys, passwords, tokens)
63- All user inputs validated
64- SQL injection prevention (parameterized queries)
65- XSS prevention (sanitized HTML)
66- CSRF protection enabled
67- Authentication/authorization verified
68- Rate limiting on all endpoints
69- Error messages don't leak sensitive data
70 
71**Secret management:** NEVER hardcode secrets. Use environment variables or a secret manager. Validate required secrets at startup. Rotate any exposed secrets immediately.
72 
73**If security issue found:** STOP → use security-reviewer agent → fix CRITICAL issues → rotate exposed secrets → review codebase for similar issues.
 
 
 
74 
75## Coding Style
 
 
 
 
76 
77**Immutability (CRITICAL):** Always create new objects, never mutate. Return new copies with changes applied.
 
 
 
78 
79**File organization:** Many small files over few large ones. 200-400 lines typical, 800 max. Organize by feature/domain, not by type. High cohesion, low coupling.
 
 
 
 
80 
81**Error handling:** Handle errors at every level. Provide user-friendly messages in UI code. Log detailed context server-side. Never silently swallow errors.
82 
83**Input validation:** Validate all user input at system boundaries. Use schema-based validation. Fail fast with clear messages. Never trust external data.
 
 
 
 
84 
85**Code quality checklist:**
86- Functions small (<50 lines), files focused (<800 lines)
87- No deep nesting (>4 levels)
88- Proper error handling, no hardcoded values
89- Readable, well-named identifiers
 
 
 
 
90 
91## Testing Requirements
 
92 
93**Minimum coverage: 80%**
 
 
 
 
 
 
94 
95Test types (all required):
961. **Unit tests** — Individual functions, utilities, components
972. **Integration tests** — API endpoints, database operations
983. **E2E tests** — Critical user flows
99 
100**TDD workflow (mandatory):**
1011. Write test first (RED) — test should FAIL
1022. Write minimal implementation (GREEN) — test should PASS
1033. Refactor (IMPROVE) — verify coverage 80%+
104 
105Troubleshoot failures: check test isolation → verify mocks → fix implementation (not tests, unless tests are wrong).
 
 
 
 
 
106 
107## Development Workflow
 
 
 
 
 
 
108 
1091. **Plan** — Use planner agent, identify dependencies and risks, break into phases
1102. **TDD** — Use tdd-guide agent, write tests first, implement, refactor
1113. **Review** — Use code-reviewer agent immediately, address CRITICAL/HIGH issues
1124. **Capture knowledge in the right place**
113 - Personal debugging notes, preferences, and temporary context → auto memory
114 - Team/project knowledge (architecture decisions, API changes, runbooks) → the project's existing docs structure
115 - If the current task already produces the relevant docs or code comments, do not duplicate the same information elsewhere
116 - If there is no obvious project doc location, ask before creating a new top-level file
1175. **Commit** — Conventional commits format, comprehensive PR summaries
118 
119## Workflow Surface Policy
120 
121- `skills/` is the canonical workflow surface.
122- New workflow contributions should land in `skills/` first.
123- `commands/` is a legacy slash-entry compatibility surface and should only be added or updated when a shim is still required for migration or cross-harness parity.
 
 
 
 
 
 
 
 
 
 
 
 
 
124 
125## Git Workflow
126 
127**Commit format:** `<type>: <description>` — Types: feat, fix, refactor, docs, test, chore, perf, ci
 
 
128 
129**PR workflow:** Analyze full commit history → draft comprehensive summary → include test plan → push with `-u` flag.
130 
131## Architecture Patterns
132 
133**API response format:** Consistent envelope with success indicator, data payload, error message, and pagination metadata.
134 
135**Repository pattern:** Encapsulate data access behind standard interface (findAll, findById, create, update, delete). Business logic depends on abstract interface, not storage mechanism.
136 
137**Skeleton projects:** Search for battle-tested templates, evaluate with parallel agents (security, extensibility, relevance), clone best match, iterate within proven structure.
138 
139## Performance
140 
141**Context management:** Avoid last 20% of context window for large refactoring and multi-file features. Lower-sensitivity tasks (single edits, docs, simple fixes) tolerate higher utilization.
142 
143**Build troubleshooting:** Use build-error-resolver agent → analyze errors → fix incrementally → verify after each fix.
144 
145## Project Structure
146 
147```
148agents/ — 48 specialized subagents
149skills/ — 183 workflow skills and domain knowledge
150commands/ — 79 slash commands
151hooks/ — Trigger-based automations
152rules/ — Always-follow guidelines (common + per-language)
153scripts/ — Cross-platform Node.js utilities
154mcp-configs/ — 14 MCP server configurations
155tests/ — Test suite
156```
157 
158`commands/` remains in the repo for compatibility, but the long-term direction is skills-first.
159 
160## Success Metrics
161 
162- All tests pass with 80%+ coverage
163- No security vulnerabilities
164- Code is readable and maintainable
165- Performance is acceptable
166- User requirements are met
167 
@@ −1 +1 @@
1−---
2−paths:
3− - "**/*.rs"
4−---
5−# Rust Coding Style
1+# Everything Claude Code (ECC) — Agent Instructions
62  
7−> This file extends [common/coding-style.md](../common/coding-style.md) with Rust-specific content.
3+This is a **production-ready AI coding plugin** providing 48 specialized agents, 183 skills, 79 commands, and automated hook workflows for software development.
84  
9−## Formatting
5+**Version:** 1.10.0
106  
11−- **rustfmt** for enforcement — always run `cargo fmt` before committing
12−- **clippy** for lints — `cargo clippy -- -D warnings` (treat warnings as errors)
13−- 4-space indent (rustfmt default)
14−- Max line width: 100 characters (rustfmt default)
7+## Core Principles
158  
16−## Immutability
9+1. **Agent-First** — Delegate to specialized agents for domain tasks
10+2. **Test-Driven** — Write tests before implementation, 80%+ coverage required
11+3. **Security-First** — Never compromise on security; validate all inputs
12+4. **Immutability** — Always create new objects, never mutate existing ones
13+5. **Plan Before Execute** — Plan complex features before writing code
1714  
18−Rust variables are immutable by default — embrace this:
15+## Available Agents
1916  
20−- Use `let` by default; only use `let mut` when mutation is required
21−- Prefer returning new values over mutating in place
22−- Use `Cow<'_, T>` when a function may or may not need to allocate
17+| Agent | Purpose | When to Use |
18+|-------|---------|-------------|
19+| planner | Implementation planning | Complex features, refactoring |
20+| architect | System design and scalability | Architectural decisions |
21+| tdd-guide | Test-driven development | New features, bug fixes |
22+| code-reviewer | Code quality and maintainability | After writing/modifying code |
23+| security-reviewer | Vulnerability detection | Before commits, sensitive code |
24+| build-error-resolver | Fix build/type errors | When build fails |
25+| e2e-runner | End-to-end Playwright testing | Critical user flows |
26+| refactor-cleaner | Dead code cleanup | Code maintenance |
27+| doc-updater | Documentation and codemaps | Updating docs |
28+| cpp-reviewer | C/C++ code review | C and C++ projects |
29+| cpp-build-resolver | C/C++ build errors | C and C++ build failures |
30+| docs-lookup | Documentation lookup via Context7 | API/docs questions |
31+| go-reviewer | Go code review | Go projects |
32+| go-build-resolver | Go build errors | Go build failures |
33+| kotlin-reviewer | Kotlin code review | Kotlin/Android/KMP projects |
34+| kotlin-build-resolver | Kotlin/Gradle build errors | Kotlin build failures |
35+| database-reviewer | PostgreSQL/Supabase specialist | Schema design, query optimization |
36+| python-reviewer | Python code review | Python projects |
37+| java-reviewer | Java and Spring Boot code review | Java/Spring Boot projects |
38+| java-build-resolver | Java/Maven/Gradle build errors | Java build failures |
39+| loop-operator | Autonomous loop execution | Run loops safely, monitor stalls, intervene |
40+| harness-optimizer | Harness config tuning | Reliability, cost, throughput |
41+| rust-reviewer | Rust code review | Rust projects |
42+| rust-build-resolver | Rust build errors | Rust build failures |
43+| pytorch-build-resolver | PyTorch runtime/CUDA/training errors | PyTorch build/training failures |
44+| typescript-reviewer | TypeScript/JavaScript code review | TypeScript/JavaScript projects |
2345  
24−```rust
25−use std::borrow::Cow;
46+## Agent Orchestration
2647  
27−// GOOD — immutable by default, new value returned
28−fn normalize(input: &str) -> Cow<'_, str> {
29− if input.contains(' ') {
30− Cow::Owned(input.replace(' ', "_"))
31− } else {
32− Cow::Borrowed(input)
33− }
34−}
48+Use agents proactively without user prompt:
49+- Complex feature requests → **planner**
50+- Code just written/modified → **code-reviewer**
51+- Bug fix or new feature → **tdd-guide**
52+- Architectural decision → **architect**
53+- Security-sensitive code → **security-reviewer**
54+- Autonomous loops / loop monitoring → **loop-operator**
55+- Harness config reliability and cost → **harness-optimizer**
3556  
36−// BAD — unnecessary mutation
37−fn normalize_bad(input: &mut String) {
38− *input = input.replace(' ', "_");
39−}
40−```
57+Use parallel execution for independent operations — launch multiple agents simultaneously.
4158  
42−## Naming
59+## Security Guidelines
4360  
44−Follow standard Rust conventions:
45−- `snake_case` for functions, methods, variables, modules, crates
46−- `PascalCase` (UpperCamelCase) for types, traits, enums, type parameters
47−- `SCREAMING_SNAKE_CASE` for constants and statics
48−- Lifetimes: short lowercase (`'a`, `'de`) — descriptive names for complex cases (`'input`)
61+**Before ANY commit:**
62+- No hardcoded secrets (API keys, passwords, tokens)
63+- All user inputs validated
64+- SQL injection prevention (parameterized queries)
65+- XSS prevention (sanitized HTML)
66+- CSRF protection enabled
67+- Authentication/authorization verified
68+- Rate limiting on all endpoints
69+- Error messages don't leak sensitive data
4970  
50−## Ownership and Borrowing
71+**Secret management:** NEVER hardcode secrets. Use environment variables or a secret manager. Validate required secrets at startup. Rotate any exposed secrets immediately.
5172  
52−- Borrow (`&T`) by default; take ownership only when you need to store or consume
53−- Never clone to satisfy the borrow checker without understanding the root cause
54−- Accept `&str` over `String`, `&[T]` over `Vec<T>` in function parameters
55−- Use `impl Into<String>` for constructors that need to own a `String`
73+**If security issue found:** STOP → use security-reviewer agent → fix CRITICAL issues → rotate exposed secrets → review codebase for similar issues.
5674  
57−```rust
58−// GOOD — borrows when ownership isn't needed
59−fn word_count(text: &str) -> usize {
60− text.split_whitespace().count()
61−}
75+## Coding Style
6276  
63−// GOOD — takes ownership in constructor via Into
64−fn new(name: impl Into<String>) -> Self {
65− Self { name: name.into() }
66−}
77+**Immutability (CRITICAL):** Always create new objects, never mutate. Return new copies with changes applied.
6778  
68−// BAD — takes String when &str suffices
69−fn word_count_bad(text: String) -> usize {
70− text.split_whitespace().count()
71−}
72−```
79+**File organization:** Many small files over few large ones. 200-400 lines typical, 800 max. Organize by feature/domain, not by type. High cohesion, low coupling.
7380  
74−## Error Handling
81+**Error handling:** Handle errors at every level. Provide user-friendly messages in UI code. Log detailed context server-side. Never silently swallow errors.
7582  
76−- Use `Result<T, E>` and `?` for propagation — never `unwrap()` in production code
77−- **Libraries**: define typed errors with `thiserror`
78−- **Applications**: use `anyhow` for flexible error context
79−- Add context with `.with_context(|| format!("failed to ..."))?`
80−- Reserve `unwrap()` / `expect()` for tests and truly unreachable states
83+**Input validation:** Validate all user input at system boundaries. Use schema-based validation. Fail fast with clear messages. Never trust external data.
8184  
82−```rust
83−// GOOD — library error with thiserror
84−#[derive(Debug, thiserror::Error)]
85−pub enum ConfigError {
86− #[error("failed to read config: {0}")]
87− Io(#[from] std::io::Error),
88− #[error("invalid config format: {0}")]
89− Parse(String),
90−}
85+**Code quality checklist:**
86+- Functions small (<50 lines), files focused (<800 lines)
87+- No deep nesting (>4 levels)
88+- Proper error handling, no hardcoded values
89+- Readable, well-named identifiers
9190  
92−// GOOD — application error with anyhow
93−use anyhow::Context;
91+## Testing Requirements
9492  
95−fn load_config(path: &str) -> anyhow::Result<Config> {
96− let content = std::fs::read_to_string(path)
97− .with_context(|| format!("failed to read {path}"))?;
98− toml::from_str(&content)
99− .with_context(|| format!("failed to parse {path}"))
100−}
101−```
93+**Minimum coverage: 80%**
10294  
103−## Iterators Over Loops
95+Test types (all required):
96+1. **Unit tests** — Individual functions, utilities, components
97+2. **Integration tests** — API endpoints, database operations
98+3. **E2E tests** — Critical user flows
10499  
105−Prefer iterator chains for transformations; use loops for complex control flow:
100+**TDD workflow (mandatory):**
101+1. Write test first (RED) — test should FAIL
102+2. Write minimal implementation (GREEN) — test should PASS
103+3. Refactor (IMPROVE) — verify coverage 80%+
106104  
107−```rust
108−// GOOD — declarative and composable
109−let active_emails: Vec<&str> = users.iter()
110− .filter(|u| u.is_active)
111− .map(|u| u.email.as_str())
112− .collect();
105+Troubleshoot failures: check test isolation → verify mocks → fix implementation (not tests, unless tests are wrong).
113106  
114−// GOOD — loop for complex logic with early returns
115−for user in &users {
116− if let Some(verified) = verify_email(&user.email)? {
117− send_welcome(&verified)?;
118− }
119−}
120−```
107+## Development Workflow
121108  
122−## Module Organization
109+1. **Plan** — Use planner agent, identify dependencies and risks, break into phases
110+2. **TDD** — Use tdd-guide agent, write tests first, implement, refactor
111+3. **Review** — Use code-reviewer agent immediately, address CRITICAL/HIGH issues
112+4. **Capture knowledge in the right place**
113+ - Personal debugging notes, preferences, and temporary context → auto memory
114+ - Team/project knowledge (architecture decisions, API changes, runbooks) → the project's existing docs structure
115+ - If the current task already produces the relevant docs or code comments, do not duplicate the same information elsewhere
116+ - If there is no obvious project doc location, ask before creating a new top-level file
117+5. **Commit** — Conventional commits format, comprehensive PR summaries
123118  
124−Organize by domain, not by type:
119+## Workflow Surface Policy
125120  
126−```text
127−src/
128−├── main.rs
129−├── lib.rs
130−├── auth/ # Domain module
131−│ ├── mod.rs
132−│ ├── token.rs
133−│ └── middleware.rs
134−├── orders/ # Domain module
135−│ ├── mod.rs
136−│ ├── model.rs
137−│ └── service.rs
138−└── db/ # Infrastructure
139− ├── mod.rs
140− └── pool.rs
141−```
121+- `skills/` is the canonical workflow surface.
122+- New workflow contributions should land in `skills/` first.
123+- `commands/` is a legacy slash-entry compatibility surface and should only be added or updated when a shim is still required for migration or cross-harness parity.
142124  
143−## Visibility
125+## Git Workflow
144126  
145−- Default to private; use `pub(crate)` for internal sharing
146−- Only mark `pub` what is part of the crate's public API
147−- Re-export public API from `lib.rs`
127+**Commit format:** `<type>: <description>` — Types: feat, fix, refactor, docs, test, chore, perf, ci
148128  
149−## References
129+**PR workflow:** Analyze full commit history → draft comprehensive summary → include test plan → push with `-u` flag.
150130  
151−See skill: `rust-patterns` for comprehensive Rust idioms and patterns.
131+## Architecture Patterns
132+ 
133+**API response format:** Consistent envelope with success indicator, data payload, error message, and pagination metadata.
134+ 
135+**Repository pattern:** Encapsulate data access behind standard interface (findAll, findById, create, update, delete). Business logic depends on abstract interface, not storage mechanism.
136+ 
137+**Skeleton projects:** Search for battle-tested templates, evaluate with parallel agents (security, extensibility, relevance), clone best match, iterate within proven structure.
138+ 
139+## Performance
140+ 
141+**Context management:** Avoid last 20% of context window for large refactoring and multi-file features. Lower-sensitivity tasks (single edits, docs, simple fixes) tolerate higher utilization.
142+ 
143+**Build troubleshooting:** Use build-error-resolver agent → analyze errors → fix incrementally → verify after each fix.
144+ 
145+## Project Structure
146+ 
147+```
148+agents/ — 48 specialized subagents
149+skills/ — 183 workflow skills and domain knowledge
150+commands/ — 79 slash commands
151+hooks/ — Trigger-based automations
152+rules/ — Always-follow guidelines (common + per-language)
153+scripts/ — Cross-platform Node.js utilities
154+mcp-configs/ — 14 MCP server configurations
155+tests/ — Test suite
156+```
157+ 
158+`commands/` remains in the repo for compatibility, but the long-term direction is skills-first.
159+ 
160+## Success Metrics
161+ 
162+- All tests pass with 80%+ coverage
163+- No security vulnerabilities
164+- Code is readable and maintainable
165+- Performance is acceptable
166+- User requirements are met
152167  
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack