

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
123456It's important to reference the files below when touching anything to do with the Imageflow API, Instructions, querystring commands, RIAPI, or Ir4Commands.78To work effectively with Imageflow, you should understand that Imageflow's main (98%) usage path is via querystring commands, like ?w=20&h=20.910This syntax is backwards compatible with ImageResizer 1,2,3,4. There are around 100 commands, defined in @/imageflow_riapi/src/ir4/parsing.rs and @/imageflow_riapi/src/srcset.rs, and are transformed to JSON with the logic in @/imageflow_riapi/src/encoder.rs, @/imageflow_riapi/src/layout.rs, @/imageflow_riapi/src/mod.rs, and @/imageflow_riapi/sizing.rs. The query is not expanded to JSON all at once, part happens before the image is decoded, and part happens afterwards.1112These commands are partially documented in @/docs/src/querystring/encoding.md, @/docs/src/querystring/examples.md, @/docs/src/querystring/filters.md, @/docs/src/querystring/introduction.md, @/docs/src/querystring/transforms.md, and @/docs/src/querystring/rfc-qp.md, and we need to keep them up-to-date.1314We want to expand unit tests to cover common cases, so that we can prove our documented explanations are correct, and expand that documentation with concrete examples.1516Users typically interact via Imageflow.Net, a C# wrapper over the JSON FFI interface (see [ffi.mdc](mdc:.cursor/rules/ffi.mdc)), or via Imageflow Server (https://github.com/imazen/imageflow-server), which offers an HTTP API, and lets you map image sources to virtual paths and add querystrings to modify them on-the-fly (thus our focus on performance.) There are other bindings for go/node/elixr/etc.1718The current project also contains the imageflow_tool command-line tool, which can be used with JSON or like `imageflow_tool v1/querystring --command width=60&height=40&mode=max&format=jpg --in 100x100.jpg --out out4.jpg`, which is implemented in @/imageflow_tool/src/lib.rs, @/imageflow_tool/src/self_test.rs, and @/imageflow_tool/src/cmd_build.rs,1920NB: When working on @/imageflow_riapi/src/parsing.rs, make sure both serialization and deserialization are fully tested, and that new querystring keys are added to that allowlist array.2122When making examples for docs or schema, we try to use good, stunning photographs when we can, via our RIAPI compliant Imageflow Server deployment at https://i.zr.io/ri/i/glacier.jpg?w=3002324Here are some base URLs, with their intrinsic sizes and aspect ratios:2526https://i.zr.io/ri/i/above-trees.jpg 2400x3200 3:427https://i.zr.io/ri/i/above-trees_orig.jpg 6048x8064 3:428https://i.zr.io/ri/i/glacier.jpg 2400x3600 2:329https://i.zr.io/ri/i/horse.jpg 2400x3600 2:330https://i.zr.io/ri/i/komodo-island.jpg 2400x3226 1200:161331https://i.zr.io/ri/i/lake-town.jpg 2400x3598 1200:179932https://i.zr.io/ri/i/pearl-tower.jpg 2400x3600 2:333https://i.zr.io/ri/i/sahara.jpg 2400x1600 3:234https://i.zr.io/ri/i/santorini.jpg 2400x3600 2:335https://i.zr.io/ri/i/snowy-trees.jpg 2400x1797 800:59936https://i.zr.io/ri/i/woman.jpg 2400x3600 2:3
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?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| imazen/imageflow.cursor/rules/ci.mdc · 4.4k | Cursor rules | setupbuildtestarch+3 | 79/100 | 14 days ago | |
| imazen/imageflow.cursor/rules/creating-rules.mdc · 4.4k | Cursor rules | do-notagent-behaviour | 11/100 | 14 days ago | |
| imazen/imageflow.cursor/rules/git-commits.mdc · 4.4k | Cursor rules | git | 30/100 | 14 days ago | |
| imazen/imageflow.cursor/rules/json-api.mdc · 4.4k | Cursor rules | no sections | 16/100 | 14 days ago | |
| imazen/imageflow.cursor/rules/rust.mdc · 4.4k | Cursor rules | no sections | 30/100 | 14 days ago | |
| imazen/imageflow.cursor/rules/bash.mdc · 4.4k | Cursor rules | setuparchgitdo-not | 55/100 | 14 days ago | |
| imazen/imageflow.cursor/rules/ffi.mdc · 4.4k | Cursor rules | no sections | 16/100 | 14 days ago | |
| imazen/imageflowCLAUDE.md · 4.4k | CLAUDE.md | buildteststylegit+2 | 85/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| ThanhTrunggDEV/DontBeLazy.cursor/rules/rust-testing.mdc · 6 | Cursor rules | teststyletesting-strategy | 90/100 | 14 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/dart-testing.mdc · 6 | Cursor rules | teststyletypestesting-strategy | 85/100 | 14 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/dart-coding-style.mdc · 6 | Cursor rules | lint-formatstyletypesdo-not | 84/100 | 14 days ago | |
| quinnjr/skia-rs.cursor/rules/commands.mdc · 29 | Cursor rules | buildtestlint-formatgit+4 | 82/100 | 14 days ago | |
| hashintel/hash.cursor/rules/rust-testing-strategy.mdc · 1.6k | Cursor rules | testlint-formatstyletesting-strategy | 81/100 | 14 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/rust-security.mdc · 6 | Cursor rules | stylesecuritydatabasedo-not | 80/100 | 14 days ago | |
| imazen/imageflow.cursor/rules/ci.mdc · 4.4k | Cursor rules | setupbuildtestarch+3 | 79/100 | 14 days ago | |
| ThanhTrunggDEV/DontBeLazy.cursor/rules/dart-hooks.mdc · 6 | Cursor rules | lint-formatarchtesting-strategygit+1 | 78/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/imazen-imageflow-cursor-rules-riapi)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.