RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Diff/imazen-imageflow-cursor-rules-ffi ↔ imazen-imageflow-cursor-rules-bash

Comparison

A · Cursor rules · imazen/imageflowB · Cursor rules · imazen/imageflow
What each file covers, counted
DimensionSharedOnly in AOnly in BOverlap
Sections00100%
Commands000—
Section tags0040%

What each file covers

Sections

0 shared · 0 only in A · 10 only in B
  • + Goal: Enforce cross-platform bash script guidelines
  • + Reasoning:
  • + 1. We want all .sh scripts to work with Bash 3.2 on macOS, Git Bash on Windows, WSL2, Ubuntu 22–24. cygpath is never available.
  • + 2. We need to ensure each .sh script has a corresponding test_ script. test_scripts should create a unique directory to contain all their filesystem work, remove it on pass/fail, and restore the current directory and env vars to what they were before it ran.
  • + 3. For Windows, we assume a fresh install with only Git available; use powershell.exe if needed (no pwsh).
  • + 4. Powershell automatically handles slash conversions, but /c/ must become C:/. Create tests for powershell files
  • + 5. Use set -e and set -o pipefail for bash. Avoid silent failure.
  • + 6. For both powerhshell files and bash files, use functions and DRY things as much as possible.
  • + 7. Add verification checks for all inputs, whether files, dirs, or variables, and make contractual boundaries and division of responsibility clear.
  • + 8. Remember to run git update-index --chmod=+x filename.sh

Commands

neither file has any

Section tags

0 shared · 0 only in A · 4 only in B
  • + setup
  • + architecture
  • + git-pr
  • + do-not

Line diff

+54 added−7 removed6 unchanged10.0% identical
imazen/imageflow · .cursor/rules/ffi.mdc
@@ −1 @@
1---
2description:
3globs:
4alwaysApply: true
5---
6Imageflow offers a very stable ABI, focused on sending/recieving JSON and byte buffers in conjuction with an endpoint string. There are wrappers in C# (the main one), go, node, elixr, and more. Keeping these wrappers up-to-date with the latest JSON features is difficult, and the nature of the JSON graph structure makes it require simpler API wrappers.
 
 
 
 
 
 
 
 
 
7 
8For the HTTP-like endpoint names, see @/imageflow_core/src/context_method.rs
 
 
 
 
 
 
 
 
9 
10For the FFI ABI, read @/imageflow_abi/src/lib.rs and [imageflow_default.h](mdc:bindings/headers/imageflow_default.h)
 
 
 
 
 
 
 
11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12 
13 
 
 
 
 
 
 
imazen/imageflow · .cursor/rules/bash.mdc
@@ +1 @@
1---
2description: Rules for working on bash scripts and their tests
3globs: *.sh, *.yml
4alwaysApply: false
5---
6# Goal: Enforce cross-platform bash script guidelines
7# Reasoning:
8# 1. We want all .sh scripts to work with Bash 3.2 on macOS, Git Bash on Windows, WSL2, Ubuntu 22–24. cygpath is never available.
9# 2. We need to ensure each .sh script has a corresponding test_ script. test_scripts should create a unique directory to contain all their filesystem work, remove it on pass/fail, and restore the current directory and env vars to what they were before it ran.
10# 3. For Windows, we assume a fresh install with only Git available; use powershell.exe if needed (no pwsh).
11# 4. Powershell automatically handles slash conversions, but /c/ must become C:/. Create tests for powershell files
12# 5. Use set -e and set -o pipefail for bash. Avoid silent failure.
13# 6. For both powerhshell files and bash files, use functions and DRY things as much as possible.
14# 7. Add verification checks for all inputs, whether files, dirs, or variables, and make contractual boundaries and division of responsibility clear.
15# 8. Remember to run git update-index --chmod=+x filename.sh
16 
17<rule>
18name: cross_platform_bash_scripts
19description: Ensures that all bash scripts are cross-platform compatible and have matching test scripts
20filters:
21 # Match any .sh file outside of test_ prefixed scripts
22 - type: file_extension
23 pattern: "\\.sh$"
24 - type: filename
25 pattern: "^(?!test_).+\\.sh$"
26 
27actions:
28 - type: reject
29 conditions:
30 # Reject any .sh file without a matching test_ script of the same name
31 - pattern: "^(?!test_)(.+)\\.sh$"
32 message: |
33 Found a bash script without a corresponding test script.
34 Please add a test_ script to ensure thorough testing across platforms.
35 
36 - type: suggest
37 message: |
38 Ensure compatibility with:
39 • Bash 3.2 on macOS
40 • Git Bash on Windows (use powershell.exe where appropriate)
41 • WSL2
42 • Ubuntu 22–24
43 • x64 and arm64 architectures
44 Please provide a test_ script that verifies the script on each platform.
45 Use set -e and set -o pipefail for bash
46 For both powerhshell files and bash files, use functions and DRY things as much as possible.
47 Add verification checks for all inputs, whether files, dirs, or variables, and make contractual boundaries and division of responsibility clear.
48examples:
49 - input: |
50 # Good scenario:
51 build.sh and test_build.sh
52 deploy.sh and test_deploy.sh
53 
54 # Bad scenario:
55 build.sh (no test script)
56 output: "All .sh files have matching test_ scripts for cross-platform testing"
57metadata:
58 priority: high
59 version: 1.0
60</rule>
@@ −1 +1 @@
11 ---
2−description:
3−globs:
4−alwaysApply: true
2+description: Rules for working on bash scripts and their tests
3+globs: *.sh, *.yml
4+alwaysApply: false
55 ---
6−Imageflow offers a very stable ABI, focused on sending/recieving JSON and byte buffers in conjuction with an endpoint string. There are wrappers in C# (the main one), go, node, elixr, and more. Keeping these wrappers up-to-date with the latest JSON features is difficult, and the nature of the JSON graph structure makes it require simpler API wrappers.
6+# Goal: Enforce cross-platform bash script guidelines
7+# Reasoning:
8+# 1. We want all .sh scripts to work with Bash 3.2 on macOS, Git Bash on Windows, WSL2, Ubuntu 22–24. cygpath is never available.
9+# 2. We need to ensure each .sh script has a corresponding test_ script. test_scripts should create a unique directory to contain all their filesystem work, remove it on pass/fail, and restore the current directory and env vars to what they were before it ran.
10+# 3. For Windows, we assume a fresh install with only Git available; use powershell.exe if needed (no pwsh).
11+# 4. Powershell automatically handles slash conversions, but /c/ must become C:/. Create tests for powershell files
12+# 5. Use set -e and set -o pipefail for bash. Avoid silent failure.
13+# 6. For both powerhshell files and bash files, use functions and DRY things as much as possible.
14+# 7. Add verification checks for all inputs, whether files, dirs, or variables, and make contractual boundaries and division of responsibility clear.
15+# 8. Remember to run git update-index --chmod=+x filename.sh
716  
8−For the HTTP-like endpoint names, see @/imageflow_core/src/context_method.rs
17+<rule>
18+name: cross_platform_bash_scripts
19+description: Ensures that all bash scripts are cross-platform compatible and have matching test scripts
20+filters:
21+ # Match any .sh file outside of test_ prefixed scripts
22+ - type: file_extension
23+ pattern: "\\.sh$"
24+ - type: filename
25+ pattern: "^(?!test_).+\\.sh$"
926  
10−For the FFI ABI, read @/imageflow_abi/src/lib.rs and [imageflow_default.h](mdc:bindings/headers/imageflow_default.h)
27+actions:
28+ - type: reject
29+ conditions:
30+ # Reject any .sh file without a matching test_ script of the same name
31+ - pattern: "^(?!test_)(.+)\\.sh$"
32+ message: |
33+ Found a bash script without a corresponding test script.
34+ Please add a test_ script to ensure thorough testing across platforms.
1135  
36+ - type: suggest
37+ message: |
38+ Ensure compatibility with:
39+ • Bash 3.2 on macOS
40+ • Git Bash on Windows (use powershell.exe where appropriate)
41+ • WSL2
42+ • Ubuntu 22–24
43+ • x64 and arm64 architectures
44+ Please provide a test_ script that verifies the script on each platform.
45+ Use set -e and set -o pipefail for bash
46+ For both powerhshell files and bash files, use functions and DRY things as much as possible.
47+ Add verification checks for all inputs, whether files, dirs, or variables, and make contractual boundaries and division of responsibility clear.
48+examples:
49+ - input: |
50+ # Good scenario:
51+ build.sh and test_build.sh
52+ deploy.sh and test_deploy.sh
1253  
13− 
54+ # Bad scenario:
55+ build.sh (no test script)
56+ output: "All .sh files have matching test_ scripts for cross-platform testing"
57+metadata:
58+ priority: high
59+ version: 1.0
60+</rule>
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