RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/Cursor rules/quinnjr/skia-rs

Cursor rule

.cursor/rules/architecture.mdc

Project architecture and crate structure for skia-rs

Cursor rules

Quality

62/100

Scores the file, not the repository.

Length

324 words

5 headings · 4 code blocks

Repository

28

— · pushed 21 days ago

Last changed

3 days ago

First indexed 3 days ago.
quinnjr/skia-rs/.cursor/rules/architecture.mdcRawGitHub
1---
2description: Project architecture and crate structure for skia-rs
3globs: ["**/*.rs", "**/Cargo.toml"]
4alwaysApply: true
5---
6 
7# Skia-RS Architecture
8 
9Skia-RS is a 100% Rust implementation of Google's Skia 2D graphics library, designed for API compatibility with the original C++ Skia library. The project provides both a native Rust API and C FFI bindings for cross-language interoperability.
10 
11## Workspace Structure
12 
13```
14skia-rs/
15├── crates/
16│ ├── skia-rs-core/ # Foundation: Scalar, Point, Rect, Color, Matrix, ImageInfo
17│ ├── skia-rs-path/ # Path geometry: Path, PathBuilder, PathOps, PathEffects
18│ ├── skia-rs-paint/ # Styling: Paint, Shaders, BlendModes, Filters
19│ ├── skia-rs-canvas/ # Drawing: Canvas, Surface, Picture recording
20│ ├── skia-rs-text/ # Typography: Font loading, text shaping, layout
21│ ├── skia-rs-gpu/ # GPU backends: Vulkan, OpenGL, WebGPU
22│ ├── skia-rs-codec/ # Image I/O: PNG, JPEG, GIF, WebP
23│ ├── skia-rs-svg/ # SVG support: parsing and rendering
24│ ├── skia-rs-pdf/ # PDF generation
25│ ├── skia-rs-ffi/ # C API bindings for FFI
26│ ├── skia-rs-safe/ # High-level ergonomic Rust API
27│ └── skia-rs-bench/ # Performance benchmarks
28├── fuzz/ # Fuzz testing with cargo-fuzz/libFuzzer
29├── skia/ # Official Skia submodule (reference)
30└── TODO.md # Development roadmap
31```
32 
33## Crate Dependencies
34 
35```
36skia-rs-core (no internal deps)
37 ↓
38skia-rs-path (depends on: core)
39 ↓
40skia-rs-paint (depends on: core, path)
41 ↓
42skia-rs-canvas (depends on: core, path, paint)
43 ↓
44skia-rs-text (depends on: core, path, paint)
45 ↓
46skia-rs-gpu (depends on: core, path, paint, canvas)
47skia-rs-codec (depends on: core)
48skia-rs-svg (depends on: core, path, paint, canvas)
49skia-rs-pdf (depends on: core, path, paint, canvas, text)
50 ↓
51skia-rs-ffi (depends on: all above)
52skia-rs-safe (depends on: all above, re-exports)
53```
54 
55## File Organization
56 
57Each crate should follow this structure:
58 
59```
60crates/skia-rs-{name}/
61├── Cargo.toml
62├── src/
63│ ├── lib.rs # Module declarations and re-exports
64│ ├── {feature}.rs # Feature implementations
65│ └── ...
66```
67 
68## Re-exports
69 
70- `lib.rs` should re-export all public types
71- Use `pub use module::*;` for complete re-exports
72- Group related items in modules
73 
74```rust
75// lib.rs
76pub mod color;
77pub mod geometry;
78pub mod matrix;
79 
80pub use color::*;
81pub use geometry::*;
82pub use matrix::*;
83```
84 

Sections

  • Skia-RS Architecture
  • Workspace Structure
  • Crate Dependencies
  • File Organization
  • Re-exports

What it covers

architecturedependenciesmonorepo

Stack — with the evidence

rust

(1.00)

typescript

(0.60)

github-actions

(0.60)

Glob targeting

  • **/*.rs
  • **/Cargo.toml

Format

Cursor rules

The most expressive format here. Many small .mdc files, each with frontmatter declaring when it should load, so a rule about migrations only enters context when a migration is open. Costs the most to maintain and only one editor reads it.

What the corpus says about it

Repository

Owner
quinnjr
Language
—
License
—
Archived
no

All configs in this repo

Also in quinnjr/skia-rs

Diff this repo’s formats

One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?

The other instruction files in this repository
RepositoryFormatStackCoversScoreChanged
quinnjr/skia-rs.cursor/rules/api-design.mdc · 28Cursor rulesrusttypescript+1buildstyleapi58/1003 days ago
quinnjr/skia-rs.cursor/rules/ffi.mdc · 28Cursor rulesrusttypescript+1typesapi45/1003 days ago
quinnjr/skia-rs.cursor/rules/benchmarking.mdc · 28Cursor rulesrusttypescript+1styleperformance69/1003 days ago
quinnjr/skia-rs.cursor/rules/code-style.mdc · 28Cursor rulesrusttypescript+1styletypesperformancedeployment+162/1003 days ago
quinnjr/skia-rs.cursor/rules/commands.mdc · 28Cursor rulesrusttypescript+1buildtestlint-formatgit+482/1003 days ago
quinnjr/skia-rs.cursor/rules/fuzzing.mdc · 28Cursor rulesrusttypescript+1setupstyle69/1003 days ago
quinnjr/skia-rs.cursor/rules/gpu.mdc · 28Cursor rulesrusttypescript+1no sections36/1003 days ago
quinnjr/skia-rs.cursor/rules/testing.mdc · 28Cursor rulesrusttypescript+1test69/1003 days ago
Diff against .cursor/rules/api-design.mdc Diff against .cursor/rules/ffi.mdc Diff against .cursor/rules/benchmarking.mdc Diff against .cursor/rules/code-style.mdc Diff against .cursor/rules/commands.mdc Diff against .cursor/rules/fuzzing.mdc Diff against .cursor/rules/gpu.mdc Diff against .cursor/rules/testing.mdc

Similar configs

Same format, overlapping stack, ranked by quality.

Same format, overlapping stack, ranked by quality
RepositoryFormatStackCoversScoreChanged
hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126Cursor rulesgobun+5setupbuildtestlint-format+6100/1003 days ago
TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45Cursor rulestypescriptpytest+15testlint-formatstylearch+5100/1003 days ago
dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0Cursor rulestypescriptturborepo+15setuptestlint-formatstyle+799/1003 days ago
deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1Cursor rulestypescriptnextjs+5setuptestlint-formatstyle+799/1003 days ago
markstev/mark-starter.cursor/rules/frontend.mdc · 0Cursor rulestypescriptturborepo+14setuptestlint-formatstyle+699/1003 days ago
Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0Cursor rulestypescriptturborepo+13setuptestlint-formatstyle+799/1003 days ago
langflow-ai/langflow.cursor/rules/docs_development.mdc · 153kCursor rulespythonnode+16setupbuildtestlint-format+797/1003 days ago
TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45Cursor rulestypescriptpytest+15teststyletesting-strategysecurity+397/1003 days ago
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