tribunal-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/.shared/ui-ux-pro-max/README.md +4 -0
- package/.agent/ARCHITECTURE.md +75 -0
- package/.agent/GEMINI.md +89 -0
- package/.agent/agents/backend-specialist.md +178 -0
- package/.agent/agents/code-archaeologist.md +119 -0
- package/.agent/agents/database-architect.md +164 -0
- package/.agent/agents/debugger.md +151 -0
- package/.agent/agents/dependency-reviewer.md +55 -0
- package/.agent/agents/devops-engineer.md +175 -0
- package/.agent/agents/documentation-writer.md +137 -0
- package/.agent/agents/explorer-agent.md +142 -0
- package/.agent/agents/frontend-reviewer.md +80 -0
- package/.agent/agents/frontend-specialist.md +185 -0
- package/.agent/agents/game-developer.md +184 -0
- package/.agent/agents/logic-reviewer.md +66 -0
- package/.agent/agents/mobile-developer.md +152 -0
- package/.agent/agents/orchestrator.md +140 -0
- package/.agent/agents/penetration-tester.md +131 -0
- package/.agent/agents/performance-optimizer.md +139 -0
- package/.agent/agents/performance-reviewer.md +72 -0
- package/.agent/agents/product-manager.md +108 -0
- package/.agent/agents/product-owner.md +99 -0
- package/.agent/agents/project-planner.md +142 -0
- package/.agent/agents/qa-automation-engineer.md +138 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +132 -0
- package/.agent/agents/sql-reviewer.md +73 -0
- package/.agent/agents/test-coverage-reviewer.md +81 -0
- package/.agent/agents/test-engineer.md +139 -0
- package/.agent/agents/type-safety-reviewer.md +65 -0
- package/.agent/mcp_config.json +40 -0
- package/.agent/rules/GEMINI.md +206 -0
- package/.agent/scripts/auto_preview.py +180 -0
- package/.agent/scripts/checklist.py +209 -0
- package/.agent/scripts/session_manager.py +120 -0
- package/.agent/scripts/verify_all.py +195 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agent/skills/architecture/SKILL.md +55 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/database-design/SKILL.md +52 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +48 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +418 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +311 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +1116 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/intelligent-routing/SKILL.md +335 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/.agent/skills/nextjs-react-expert/SKILL.md +286 -0
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/rust-pro/SKILL.md +176 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/brainstorm.md +100 -0
- package/.agent/workflows/create.md +86 -0
- package/.agent/workflows/debug.md +104 -0
- package/.agent/workflows/deploy.md +102 -0
- package/.agent/workflows/enhance.md +107 -0
- package/.agent/workflows/generate.md +100 -0
- package/.agent/workflows/orchestrate.md +102 -0
- package/.agent/workflows/plan.md +108 -0
- package/.agent/workflows/preview.md +81 -0
- package/.agent/workflows/review.md +88 -0
- package/.agent/workflows/status.md +69 -0
- package/.agent/workflows/test.md +117 -0
- package/.agent/workflows/tribunal-backend.md +69 -0
- package/.agent/workflows/tribunal-database.md +88 -0
- package/.agent/workflows/tribunal-frontend.md +69 -0
- package/.agent/workflows/tribunal-full.md +77 -0
- package/.agent/workflows/ui-ux-pro-max.md +153 -0
- package/LICENSE +21 -0
- package/README.md +136 -0
- package/bin/tribunal-kit.js +289 -0
- package/package.json +34 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rust-pro
|
|
3
|
+
description: Master Rust 1.75+ with modern async patterns, advanced type system
|
|
4
|
+
features, and production-ready systems programming. Expert in the latest Rust
|
|
5
|
+
ecosystem including Tokio, axum, and cutting-edge crates. Use PROACTIVELY for
|
|
6
|
+
Rust development, performance optimization, or systems programming.
|
|
7
|
+
---
|
|
8
|
+
You are a Rust expert specializing in modern Rust 1.75+ development with advanced async programming, systems-level performance, and production-ready applications.
|
|
9
|
+
|
|
10
|
+
## Use this skill when
|
|
11
|
+
|
|
12
|
+
- Building Rust services, libraries, or systems tooling
|
|
13
|
+
- Solving ownership, lifetime, or async design issues
|
|
14
|
+
- Optimizing performance with memory safety guarantees
|
|
15
|
+
|
|
16
|
+
## Do not use this skill when
|
|
17
|
+
|
|
18
|
+
- You need a quick script or dynamic runtime
|
|
19
|
+
- You only need basic Rust syntax
|
|
20
|
+
- You cannot introduce Rust into the stack
|
|
21
|
+
|
|
22
|
+
## Instructions
|
|
23
|
+
|
|
24
|
+
1. Clarify performance, safety, and runtime constraints.
|
|
25
|
+
2. Choose async/runtime and crate ecosystem approach.
|
|
26
|
+
3. Implement with tests and linting.
|
|
27
|
+
4. Profile and optimize hotspots.
|
|
28
|
+
|
|
29
|
+
## Purpose
|
|
30
|
+
Expert Rust developer mastering Rust 1.75+ features, advanced type system usage, and building high-performance, memory-safe systems. Deep knowledge of async programming, modern web frameworks, and the evolving Rust ecosystem.
|
|
31
|
+
|
|
32
|
+
## Capabilities
|
|
33
|
+
|
|
34
|
+
### Modern Rust Language Features
|
|
35
|
+
- Rust 1.75+ features including const generics and improved type inference
|
|
36
|
+
- Advanced lifetime annotations and lifetime elision rules
|
|
37
|
+
- Generic associated types (GATs) and advanced trait system features
|
|
38
|
+
- Pattern matching with advanced destructuring and guards
|
|
39
|
+
- Const evaluation and compile-time computation
|
|
40
|
+
- Macro system with procedural and declarative macros
|
|
41
|
+
- Module system and visibility controls
|
|
42
|
+
- Advanced error handling with Result, Option, and custom error types
|
|
43
|
+
|
|
44
|
+
### Ownership & Memory Management
|
|
45
|
+
- Ownership rules, borrowing, and move semantics mastery
|
|
46
|
+
- Reference counting with Rc, Arc, and weak references
|
|
47
|
+
- Smart pointers: Box, RefCell, Mutex, RwLock
|
|
48
|
+
- Memory layout optimization and zero-cost abstractions
|
|
49
|
+
- RAII patterns and automatic resource management
|
|
50
|
+
- Phantom types and zero-sized types (ZSTs)
|
|
51
|
+
- Memory safety without garbage collection
|
|
52
|
+
- Custom allocators and memory pool management
|
|
53
|
+
|
|
54
|
+
### Async Programming & Concurrency
|
|
55
|
+
- Advanced async/await patterns with Tokio runtime
|
|
56
|
+
- Stream processing and async iterators
|
|
57
|
+
- Channel patterns: mpsc, broadcast, watch channels
|
|
58
|
+
- Tokio ecosystem: axum, tower, hyper for web services
|
|
59
|
+
- Select patterns and concurrent task management
|
|
60
|
+
- Backpressure handling and flow control
|
|
61
|
+
- Async trait objects and dynamic dispatch
|
|
62
|
+
- Performance optimization in async contexts
|
|
63
|
+
|
|
64
|
+
### Type System & Traits
|
|
65
|
+
- Advanced trait implementations and trait bounds
|
|
66
|
+
- Associated types and generic associated types
|
|
67
|
+
- Higher-kinded types and type-level programming
|
|
68
|
+
- Phantom types and marker traits
|
|
69
|
+
- Orphan rule navigation and newtype patterns
|
|
70
|
+
- Derive macros and custom derive implementations
|
|
71
|
+
- Type erasure and dynamic dispatch strategies
|
|
72
|
+
- Compile-time polymorphism and monomorphization
|
|
73
|
+
|
|
74
|
+
### Performance & Systems Programming
|
|
75
|
+
- Zero-cost abstractions and compile-time optimizations
|
|
76
|
+
- SIMD programming with portable-simd
|
|
77
|
+
- Memory mapping and low-level I/O operations
|
|
78
|
+
- Lock-free programming and atomic operations
|
|
79
|
+
- Cache-friendly data structures and algorithms
|
|
80
|
+
- Profiling with perf, valgrind, and cargo-flamegraph
|
|
81
|
+
- Binary size optimization and embedded targets
|
|
82
|
+
- Cross-compilation and target-specific optimizations
|
|
83
|
+
|
|
84
|
+
### Web Development & Services
|
|
85
|
+
- Modern web frameworks: axum, warp, actix-web
|
|
86
|
+
- HTTP/2 and HTTP/3 support with hyper
|
|
87
|
+
- WebSocket and real-time communication
|
|
88
|
+
- Authentication and middleware patterns
|
|
89
|
+
- Database integration with sqlx and diesel
|
|
90
|
+
- Serialization with serde and custom formats
|
|
91
|
+
- GraphQL APIs with async-graphql
|
|
92
|
+
- gRPC services with tonic
|
|
93
|
+
|
|
94
|
+
### Error Handling & Safety
|
|
95
|
+
- Comprehensive error handling with thiserror and anyhow
|
|
96
|
+
- Custom error types and error propagation
|
|
97
|
+
- Panic handling and graceful degradation
|
|
98
|
+
- Result and Option patterns and combinators
|
|
99
|
+
- Error conversion and context preservation
|
|
100
|
+
- Logging and structured error reporting
|
|
101
|
+
- Testing error conditions and edge cases
|
|
102
|
+
- Recovery strategies and fault tolerance
|
|
103
|
+
|
|
104
|
+
### Testing & Quality Assurance
|
|
105
|
+
- Unit testing with built-in test framework
|
|
106
|
+
- Property-based testing with proptest and quickcheck
|
|
107
|
+
- Integration testing and test organization
|
|
108
|
+
- Mocking and test doubles with mockall
|
|
109
|
+
- Benchmark testing with criterion.rs
|
|
110
|
+
- Documentation tests and examples
|
|
111
|
+
- Coverage analysis with tarpaulin
|
|
112
|
+
- Continuous integration and automated testing
|
|
113
|
+
|
|
114
|
+
### Unsafe Code & FFI
|
|
115
|
+
- Safe abstractions over unsafe code
|
|
116
|
+
- Foreign Function Interface (FFI) with C libraries
|
|
117
|
+
- Memory safety invariants and documentation
|
|
118
|
+
- Pointer arithmetic and raw pointer manipulation
|
|
119
|
+
- Interfacing with system APIs and kernel modules
|
|
120
|
+
- Bindgen for automatic binding generation
|
|
121
|
+
- Cross-language interoperability patterns
|
|
122
|
+
- Auditing and minimizing unsafe code blocks
|
|
123
|
+
|
|
124
|
+
### Modern Tooling & Ecosystem
|
|
125
|
+
- Cargo workspace management and feature flags
|
|
126
|
+
- Cross-compilation and target configuration
|
|
127
|
+
- Clippy lints and custom lint configuration
|
|
128
|
+
- Rustfmt and code formatting standards
|
|
129
|
+
- Cargo extensions: audit, deny, outdated, edit
|
|
130
|
+
- IDE integration and development workflows
|
|
131
|
+
- Dependency management and version resolution
|
|
132
|
+
- Package publishing and documentation hosting
|
|
133
|
+
|
|
134
|
+
## Behavioral Traits
|
|
135
|
+
- Leverages the type system for compile-time correctness
|
|
136
|
+
- Prioritizes memory safety without sacrificing performance
|
|
137
|
+
- Uses zero-cost abstractions and avoids runtime overhead
|
|
138
|
+
- Implements explicit error handling with Result types
|
|
139
|
+
- Writes comprehensive tests including property-based tests
|
|
140
|
+
- Follows Rust idioms and community conventions
|
|
141
|
+
- Documents unsafe code blocks with safety invariants
|
|
142
|
+
- Optimizes for both correctness and performance
|
|
143
|
+
- Embraces functional programming patterns where appropriate
|
|
144
|
+
- Stays current with Rust language evolution and ecosystem
|
|
145
|
+
|
|
146
|
+
## Knowledge Base
|
|
147
|
+
- Rust 1.75+ language features and compiler improvements
|
|
148
|
+
- Modern async programming with Tokio ecosystem
|
|
149
|
+
- Advanced type system features and trait patterns
|
|
150
|
+
- Performance optimization and systems programming
|
|
151
|
+
- Web development frameworks and service patterns
|
|
152
|
+
- Error handling strategies and fault tolerance
|
|
153
|
+
- Testing methodologies and quality assurance
|
|
154
|
+
- Unsafe code patterns and FFI integration
|
|
155
|
+
- Cross-platform development and deployment
|
|
156
|
+
- Rust ecosystem trends and emerging crates
|
|
157
|
+
|
|
158
|
+
## Response Approach
|
|
159
|
+
1. **Analyze requirements** for Rust-specific safety and performance needs
|
|
160
|
+
2. **Design type-safe APIs** with comprehensive error handling
|
|
161
|
+
3. **Implement efficient algorithms** with zero-cost abstractions
|
|
162
|
+
4. **Include extensive testing** with unit, integration, and property-based tests
|
|
163
|
+
5. **Consider async patterns** for concurrent and I/O-bound operations
|
|
164
|
+
6. **Document safety invariants** for any unsafe code blocks
|
|
165
|
+
7. **Optimize for performance** while maintaining memory safety
|
|
166
|
+
8. **Recommend modern ecosystem** crates and patterns
|
|
167
|
+
|
|
168
|
+
## Example Interactions
|
|
169
|
+
- "Design a high-performance async web service with proper error handling"
|
|
170
|
+
- "Implement a lock-free concurrent data structure with atomic operations"
|
|
171
|
+
- "Optimize this Rust code for better memory usage and cache locality"
|
|
172
|
+
- "Create a safe wrapper around a C library using FFI"
|
|
173
|
+
- "Build a streaming data processor with backpressure handling"
|
|
174
|
+
- "Design a plugin system with dynamic loading and type safety"
|
|
175
|
+
- "Implement a custom allocator for a specific use case"
|
|
176
|
+
- "Debug and fix lifetime issues in this complex generic code"
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo-fundamentals
|
|
3
|
+
description: SEO fundamentals, E-E-A-T, Core Web Vitals, and Google algorithm principles.
|
|
4
|
+
allowed-tools: Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SEO Fundamentals
|
|
8
|
+
|
|
9
|
+
> Principles for search engine visibility.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. E-E-A-T Framework
|
|
14
|
+
|
|
15
|
+
| Principle | Signals |
|
|
16
|
+
|-----------|---------|
|
|
17
|
+
| **Experience** | First-hand knowledge, real examples |
|
|
18
|
+
| **Expertise** | Credentials, depth of knowledge |
|
|
19
|
+
| **Authoritativeness** | Backlinks, mentions, industry recognition |
|
|
20
|
+
| **Trustworthiness** | HTTPS, transparency, accurate info |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 2. Core Web Vitals
|
|
25
|
+
|
|
26
|
+
| Metric | Target | Measures |
|
|
27
|
+
|--------|--------|----------|
|
|
28
|
+
| **LCP** | < 2.5s | Loading performance |
|
|
29
|
+
| **INP** | < 200ms | Interactivity |
|
|
30
|
+
| **CLS** | < 0.1 | Visual stability |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 3. Technical SEO Principles
|
|
35
|
+
|
|
36
|
+
### Site Structure
|
|
37
|
+
|
|
38
|
+
| Element | Purpose |
|
|
39
|
+
|---------|---------|
|
|
40
|
+
| XML sitemap | Help crawling |
|
|
41
|
+
| robots.txt | Control access |
|
|
42
|
+
| Canonical tags | Prevent duplicates |
|
|
43
|
+
| HTTPS | Security signal |
|
|
44
|
+
|
|
45
|
+
### Performance
|
|
46
|
+
|
|
47
|
+
| Factor | Impact |
|
|
48
|
+
|--------|--------|
|
|
49
|
+
| Page speed | Core Web Vital |
|
|
50
|
+
| Mobile-friendly | Ranking factor |
|
|
51
|
+
| Clean URLs | Crawlability |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 4. Content SEO Principles
|
|
56
|
+
|
|
57
|
+
### Page Elements
|
|
58
|
+
|
|
59
|
+
| Element | Best Practice |
|
|
60
|
+
|---------|---------------|
|
|
61
|
+
| Title tag | 50-60 chars, keyword front |
|
|
62
|
+
| Meta description | 150-160 chars, compelling |
|
|
63
|
+
| H1 | One per page, main keyword |
|
|
64
|
+
| H2-H6 | Logical hierarchy |
|
|
65
|
+
| Alt text | Descriptive, not stuffed |
|
|
66
|
+
|
|
67
|
+
### Content Quality
|
|
68
|
+
|
|
69
|
+
| Factor | Importance |
|
|
70
|
+
|--------|------------|
|
|
71
|
+
| Depth | Comprehensive coverage |
|
|
72
|
+
| Freshness | Regular updates |
|
|
73
|
+
| Uniqueness | Original value |
|
|
74
|
+
| Readability | Clear writing |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 5. Schema Markup Types
|
|
79
|
+
|
|
80
|
+
| Type | Use |
|
|
81
|
+
|------|-----|
|
|
82
|
+
| Article | Blog posts, news |
|
|
83
|
+
| Organization | Company info |
|
|
84
|
+
| Person | Author profiles |
|
|
85
|
+
| FAQPage | Q&A content |
|
|
86
|
+
| Product | E-commerce |
|
|
87
|
+
| Review | Ratings |
|
|
88
|
+
| BreadcrumbList | Navigation |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 6. AI Content Guidelines
|
|
93
|
+
|
|
94
|
+
### What Google Looks For
|
|
95
|
+
|
|
96
|
+
| ✅ Do | ❌ Don't |
|
|
97
|
+
|-------|----------|
|
|
98
|
+
| AI draft + human edit | Publish raw AI content |
|
|
99
|
+
| Add original insights | Copy without value |
|
|
100
|
+
| Expert review | Skip fact-checking |
|
|
101
|
+
| Follow E-E-A-T | Keyword stuffing |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 7. Ranking Factors (Prioritized)
|
|
106
|
+
|
|
107
|
+
| Priority | Factor |
|
|
108
|
+
|----------|--------|
|
|
109
|
+
| 1 | Quality, relevant content |
|
|
110
|
+
| 2 | Backlinks from authority sites |
|
|
111
|
+
| 3 | Page experience (Core Web Vitals) |
|
|
112
|
+
| 4 | Mobile optimization |
|
|
113
|
+
| 5 | Technical SEO fundamentals |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 8. Measurement
|
|
118
|
+
|
|
119
|
+
| Metric | Tool |
|
|
120
|
+
|--------|------|
|
|
121
|
+
| Rankings | Search Console, Ahrefs |
|
|
122
|
+
| Traffic | Analytics |
|
|
123
|
+
| Core Web Vitals | PageSpeed Insights |
|
|
124
|
+
| Indexing | Search Console |
|
|
125
|
+
| Backlinks | Ahrefs, Semrush |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
> **Remember:** SEO is a long-term game. Quality content + technical excellence + patience = results.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
SEO Checker - Search Engine Optimization Audit
|
|
4
|
+
Checks HTML/JSX/TSX pages for SEO best practices.
|
|
5
|
+
|
|
6
|
+
PURPOSE:
|
|
7
|
+
- Verify meta tags, titles, descriptions
|
|
8
|
+
- Check Open Graph tags for social sharing
|
|
9
|
+
- Validate heading hierarchy
|
|
10
|
+
- Check image accessibility (alt attributes)
|
|
11
|
+
|
|
12
|
+
WHAT IT CHECKS:
|
|
13
|
+
- HTML files (actual web pages)
|
|
14
|
+
- JSX/TSX files (React page components)
|
|
15
|
+
- Only files that are likely PUBLIC pages
|
|
16
|
+
|
|
17
|
+
Usage:
|
|
18
|
+
python seo_checker.py <project_path>
|
|
19
|
+
"""
|
|
20
|
+
import sys
|
|
21
|
+
import json
|
|
22
|
+
import re
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
from datetime import datetime
|
|
25
|
+
|
|
26
|
+
# Fix Windows console encoding
|
|
27
|
+
try:
|
|
28
|
+
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
|
|
29
|
+
except:
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Directories to skip
|
|
34
|
+
SKIP_DIRS = {
|
|
35
|
+
'node_modules', '.next', 'dist', 'build', '.git', '.github',
|
|
36
|
+
'__pycache__', '.vscode', '.idea', 'coverage', 'test', 'tests',
|
|
37
|
+
'__tests__', 'spec', 'docs', 'documentation', 'examples'
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
# Files to skip (not pages)
|
|
41
|
+
SKIP_PATTERNS = [
|
|
42
|
+
'config', 'setup', 'util', 'helper', 'hook', 'context', 'store',
|
|
43
|
+
'service', 'api', 'lib', 'constant', 'type', 'interface', 'mock',
|
|
44
|
+
'.test.', '.spec.', '_test.', '_spec.'
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def is_page_file(file_path: Path) -> bool:
|
|
49
|
+
"""Check if this file is likely a public-facing page."""
|
|
50
|
+
name = file_path.name.lower()
|
|
51
|
+
stem = file_path.stem.lower()
|
|
52
|
+
|
|
53
|
+
# Skip utility/config files
|
|
54
|
+
if any(skip in name for skip in SKIP_PATTERNS):
|
|
55
|
+
return False
|
|
56
|
+
|
|
57
|
+
# Check path - pages in specific directories are likely pages
|
|
58
|
+
parts = [p.lower() for p in file_path.parts]
|
|
59
|
+
page_dirs = ['pages', 'app', 'routes', 'views', 'screens']
|
|
60
|
+
|
|
61
|
+
if any(d in parts for d in page_dirs):
|
|
62
|
+
return True
|
|
63
|
+
|
|
64
|
+
# Filename indicators for pages
|
|
65
|
+
page_names = ['page', 'index', 'home', 'about', 'contact', 'blog',
|
|
66
|
+
'post', 'article', 'product', 'landing', 'layout']
|
|
67
|
+
|
|
68
|
+
if any(p in stem for p in page_names):
|
|
69
|
+
return True
|
|
70
|
+
|
|
71
|
+
# HTML files are usually pages
|
|
72
|
+
if file_path.suffix.lower() in ['.html', '.htm']:
|
|
73
|
+
return True
|
|
74
|
+
|
|
75
|
+
return False
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def find_pages(project_path: Path) -> list:
|
|
79
|
+
"""Find page files to check."""
|
|
80
|
+
patterns = ['**/*.html', '**/*.htm', '**/*.jsx', '**/*.tsx']
|
|
81
|
+
|
|
82
|
+
files = []
|
|
83
|
+
for pattern in patterns:
|
|
84
|
+
for f in project_path.glob(pattern):
|
|
85
|
+
# Skip excluded directories
|
|
86
|
+
if any(skip in f.parts for skip in SKIP_DIRS):
|
|
87
|
+
continue
|
|
88
|
+
|
|
89
|
+
# Check if it's likely a page
|
|
90
|
+
if is_page_file(f):
|
|
91
|
+
files.append(f)
|
|
92
|
+
|
|
93
|
+
return files[:50] # Limit to 50 files
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def check_page(file_path: Path) -> dict:
|
|
97
|
+
"""Check a single page for SEO issues."""
|
|
98
|
+
issues = []
|
|
99
|
+
|
|
100
|
+
try:
|
|
101
|
+
content = file_path.read_text(encoding='utf-8', errors='ignore')
|
|
102
|
+
except Exception as e:
|
|
103
|
+
return {"file": str(file_path.name), "issues": [f"Error: {e}"]}
|
|
104
|
+
|
|
105
|
+
# Detect if this is a layout/template file (has Head component)
|
|
106
|
+
is_layout = 'Head>' in content or '<head' in content.lower()
|
|
107
|
+
|
|
108
|
+
# 1. Title tag
|
|
109
|
+
has_title = '<title' in content.lower() or 'title=' in content or 'Head>' in content
|
|
110
|
+
if not has_title and is_layout:
|
|
111
|
+
issues.append("Missing <title> tag")
|
|
112
|
+
|
|
113
|
+
# 2. Meta description
|
|
114
|
+
has_description = 'name="description"' in content.lower() or 'name=\'description\'' in content.lower()
|
|
115
|
+
if not has_description and is_layout:
|
|
116
|
+
issues.append("Missing meta description")
|
|
117
|
+
|
|
118
|
+
# 3. Open Graph tags
|
|
119
|
+
has_og = 'og:' in content or 'property="og:' in content.lower()
|
|
120
|
+
if not has_og and is_layout:
|
|
121
|
+
issues.append("Missing Open Graph tags")
|
|
122
|
+
|
|
123
|
+
# 4. Heading hierarchy - multiple H1s
|
|
124
|
+
h1_matches = re.findall(r'<h1[^>]*>', content, re.I)
|
|
125
|
+
if len(h1_matches) > 1:
|
|
126
|
+
issues.append(f"Multiple H1 tags ({len(h1_matches)})")
|
|
127
|
+
|
|
128
|
+
# 5. Images without alt
|
|
129
|
+
img_pattern = r'<img[^>]+>'
|
|
130
|
+
imgs = re.findall(img_pattern, content, re.I)
|
|
131
|
+
for img in imgs:
|
|
132
|
+
if 'alt=' not in img.lower():
|
|
133
|
+
issues.append("Image missing alt attribute")
|
|
134
|
+
break
|
|
135
|
+
if 'alt=""' in img or "alt=''" in img:
|
|
136
|
+
issues.append("Image has empty alt attribute")
|
|
137
|
+
break
|
|
138
|
+
|
|
139
|
+
# 6. Check for canonical link (nice to have)
|
|
140
|
+
# has_canonical = 'rel="canonical"' in content.lower()
|
|
141
|
+
|
|
142
|
+
return {
|
|
143
|
+
"file": str(file_path.name),
|
|
144
|
+
"issues": issues
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def main():
|
|
149
|
+
project_path = Path(sys.argv[1] if len(sys.argv) > 1 else ".").resolve()
|
|
150
|
+
|
|
151
|
+
print(f"\n{'='*60}")
|
|
152
|
+
print(f" SEO CHECKER - Search Engine Optimization Audit")
|
|
153
|
+
print(f"{'='*60}")
|
|
154
|
+
print(f"Project: {project_path}")
|
|
155
|
+
print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
|
156
|
+
print("-"*60)
|
|
157
|
+
|
|
158
|
+
# Find pages
|
|
159
|
+
pages = find_pages(project_path)
|
|
160
|
+
|
|
161
|
+
if not pages:
|
|
162
|
+
print("\n[!] No page files found.")
|
|
163
|
+
print(" Looking for: HTML, JSX, TSX in pages/app/routes directories")
|
|
164
|
+
output = {"script": "seo_checker", "files_checked": 0, "passed": True}
|
|
165
|
+
print("\n" + json.dumps(output, indent=2))
|
|
166
|
+
sys.exit(0)
|
|
167
|
+
|
|
168
|
+
print(f"Found {len(pages)} page files to analyze\n")
|
|
169
|
+
|
|
170
|
+
# Check each page
|
|
171
|
+
all_issues = []
|
|
172
|
+
for f in pages:
|
|
173
|
+
result = check_page(f)
|
|
174
|
+
if result["issues"]:
|
|
175
|
+
all_issues.append(result)
|
|
176
|
+
|
|
177
|
+
# Summary
|
|
178
|
+
print("=" * 60)
|
|
179
|
+
print("SEO ANALYSIS RESULTS")
|
|
180
|
+
print("=" * 60)
|
|
181
|
+
|
|
182
|
+
if all_issues:
|
|
183
|
+
# Group by issue type
|
|
184
|
+
issue_counts = {}
|
|
185
|
+
for item in all_issues:
|
|
186
|
+
for issue in item["issues"]:
|
|
187
|
+
issue_counts[issue] = issue_counts.get(issue, 0) + 1
|
|
188
|
+
|
|
189
|
+
print("\nIssue Summary:")
|
|
190
|
+
for issue, count in sorted(issue_counts.items(), key=lambda x: -x[1]):
|
|
191
|
+
print(f" [{count}] {issue}")
|
|
192
|
+
|
|
193
|
+
print(f"\nAffected files ({len(all_issues)}):")
|
|
194
|
+
for item in all_issues[:5]:
|
|
195
|
+
print(f" - {item['file']}")
|
|
196
|
+
if len(all_issues) > 5:
|
|
197
|
+
print(f" ... and {len(all_issues) - 5} more")
|
|
198
|
+
else:
|
|
199
|
+
print("\n[OK] No SEO issues found!")
|
|
200
|
+
|
|
201
|
+
total_issues = sum(len(item["issues"]) for item in all_issues)
|
|
202
|
+
passed = total_issues == 0
|
|
203
|
+
|
|
204
|
+
output = {
|
|
205
|
+
"script": "seo_checker",
|
|
206
|
+
"project": str(project_path),
|
|
207
|
+
"files_checked": len(pages),
|
|
208
|
+
"files_with_issues": len(all_issues),
|
|
209
|
+
"issues_found": total_issues,
|
|
210
|
+
"passed": passed
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
print("\n" + json.dumps(output, indent=2))
|
|
214
|
+
|
|
215
|
+
sys.exit(0 if passed else 1)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
if __name__ == "__main__":
|
|
219
|
+
main()
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: server-management
|
|
3
|
+
description: Server management principles and decision-making. Process management, monitoring strategy, and scaling decisions. Teaches thinking, not commands.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Server Management
|
|
8
|
+
|
|
9
|
+
> Server management principles for production operations.
|
|
10
|
+
> **Learn to THINK, not memorize commands.**
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. Process Management Principles
|
|
15
|
+
|
|
16
|
+
### Tool Selection
|
|
17
|
+
|
|
18
|
+
| Scenario | Tool |
|
|
19
|
+
|----------|------|
|
|
20
|
+
| **Node.js app** | PM2 (clustering, reload) |
|
|
21
|
+
| **Any app** | systemd (Linux native) |
|
|
22
|
+
| **Containers** | Docker/Podman |
|
|
23
|
+
| **Orchestration** | Kubernetes, Docker Swarm |
|
|
24
|
+
|
|
25
|
+
### Process Management Goals
|
|
26
|
+
|
|
27
|
+
| Goal | What It Means |
|
|
28
|
+
|------|---------------|
|
|
29
|
+
| **Restart on crash** | Auto-recovery |
|
|
30
|
+
| **Zero-downtime reload** | No service interruption |
|
|
31
|
+
| **Clustering** | Use all CPU cores |
|
|
32
|
+
| **Persistence** | Survive server reboot |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Monitoring Principles
|
|
37
|
+
|
|
38
|
+
### What to Monitor
|
|
39
|
+
|
|
40
|
+
| Category | Key Metrics |
|
|
41
|
+
|----------|-------------|
|
|
42
|
+
| **Availability** | Uptime, health checks |
|
|
43
|
+
| **Performance** | Response time, throughput |
|
|
44
|
+
| **Errors** | Error rate, types |
|
|
45
|
+
| **Resources** | CPU, memory, disk |
|
|
46
|
+
|
|
47
|
+
### Alert Severity Strategy
|
|
48
|
+
|
|
49
|
+
| Level | Response |
|
|
50
|
+
|-------|----------|
|
|
51
|
+
| **Critical** | Immediate action |
|
|
52
|
+
| **Warning** | Investigate soon |
|
|
53
|
+
| **Info** | Review daily |
|
|
54
|
+
|
|
55
|
+
### Monitoring Tool Selection
|
|
56
|
+
|
|
57
|
+
| Need | Options |
|
|
58
|
+
|------|---------|
|
|
59
|
+
| Simple/Free | PM2 metrics, htop |
|
|
60
|
+
| Full observability | Grafana, Datadog |
|
|
61
|
+
| Error tracking | Sentry |
|
|
62
|
+
| Uptime | UptimeRobot, Pingdom |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 3. Log Management Principles
|
|
67
|
+
|
|
68
|
+
### Log Strategy
|
|
69
|
+
|
|
70
|
+
| Log Type | Purpose |
|
|
71
|
+
|----------|---------|
|
|
72
|
+
| **Application logs** | Debug, audit |
|
|
73
|
+
| **Access logs** | Traffic analysis |
|
|
74
|
+
| **Error logs** | Issue detection |
|
|
75
|
+
|
|
76
|
+
### Log Principles
|
|
77
|
+
|
|
78
|
+
1. **Rotate logs** to prevent disk fill
|
|
79
|
+
2. **Structured logging** (JSON) for parsing
|
|
80
|
+
3. **Appropriate levels** (error/warn/info/debug)
|
|
81
|
+
4. **No sensitive data** in logs
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 4. Scaling Decisions
|
|
86
|
+
|
|
87
|
+
### When to Scale
|
|
88
|
+
|
|
89
|
+
| Symptom | Solution |
|
|
90
|
+
|---------|----------|
|
|
91
|
+
| High CPU | Add instances (horizontal) |
|
|
92
|
+
| High memory | Increase RAM or fix leak |
|
|
93
|
+
| Slow response | Profile first, then scale |
|
|
94
|
+
| Traffic spikes | Auto-scaling |
|
|
95
|
+
|
|
96
|
+
### Scaling Strategy
|
|
97
|
+
|
|
98
|
+
| Type | When to Use |
|
|
99
|
+
|------|-------------|
|
|
100
|
+
| **Vertical** | Quick fix, single instance |
|
|
101
|
+
| **Horizontal** | Sustainable, distributed |
|
|
102
|
+
| **Auto** | Variable traffic |
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 5. Health Check Principles
|
|
107
|
+
|
|
108
|
+
### What Constitutes Healthy
|
|
109
|
+
|
|
110
|
+
| Check | Meaning |
|
|
111
|
+
|-------|---------|
|
|
112
|
+
| **HTTP 200** | Service responding |
|
|
113
|
+
| **Database connected** | Data accessible |
|
|
114
|
+
| **Dependencies OK** | External services reachable |
|
|
115
|
+
| **Resources OK** | CPU/memory not exhausted |
|
|
116
|
+
|
|
117
|
+
### Health Check Implementation
|
|
118
|
+
|
|
119
|
+
- Simple: Just return 200
|
|
120
|
+
- Deep: Check all dependencies
|
|
121
|
+
- Choose based on load balancer needs
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 6. Security Principles
|
|
126
|
+
|
|
127
|
+
| Area | Principle |
|
|
128
|
+
|------|-----------|
|
|
129
|
+
| **Access** | SSH keys only, no passwords |
|
|
130
|
+
| **Firewall** | Only needed ports open |
|
|
131
|
+
| **Updates** | Regular security patches |
|
|
132
|
+
| **Secrets** | Environment vars, not files |
|
|
133
|
+
| **Audit** | Log access and changes |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 7. Troubleshooting Priority
|
|
138
|
+
|
|
139
|
+
When something's wrong:
|
|
140
|
+
|
|
141
|
+
1. **Check if running** (process status)
|
|
142
|
+
2. **Check logs** (error messages)
|
|
143
|
+
3. **Check resources** (disk, memory, CPU)
|
|
144
|
+
4. **Check network** (ports, DNS)
|
|
145
|
+
5. **Check dependencies** (database, APIs)
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 8. Anti-Patterns
|
|
150
|
+
|
|
151
|
+
| ❌ Don't | ✅ Do |
|
|
152
|
+
|----------|-------|
|
|
153
|
+
| Run as root | Use non-root user |
|
|
154
|
+
| Ignore logs | Set up log rotation |
|
|
155
|
+
| Skip monitoring | Monitor from day one |
|
|
156
|
+
| Manual restarts | Auto-restart config |
|
|
157
|
+
| No backups | Regular backup schedule |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
> **Remember:** A well-managed server is boring. That's the goal.
|