#586 by GitHub stars

Hybrid-Mount/meta-hybrid_mount

Hybrid Mount Metamodule

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

.dsh/skills/hm-build-release/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-ci/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-module-scripts/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-mount-safety-review/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-planner-debug/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-runtime/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Local scripts → After Local scripts

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-rust-android/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-rust-lsp/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-verify/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-vfs/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hm-webui/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/hybrid-mount-overview/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/kernel-development-skills/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/rust-best-practices/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/rust-guidelines/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/rust-skills/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/rust-unsafe-review/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/vue-best-practices/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

.dsh/skills/vue-testing-best-practices/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

89f328fd945c → 89f328fd945c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 89f328fd945c72794a6505d779f6d85834d131a3

git clone --filter=blob:none --no-checkout https://github.com/Hybrid-Mount/meta-hybrid_mount.git .hotskills/hybrid-mount-meta-hybrid_mount && git -C .hotskills/hybrid-mount-meta-hybrid_mount checkout --detach 89f328fd945c72794a6505d779f6d85834d131a3 # Copy each selected skill directory from .hotskills/hybrid-mount-meta-hybrid_mount into .claude/skills/<skill-name>/
1.8kGitHub stars
15stars in 7 days
19skills in this repository
66commits in 30 days

Heat

6.1
  • Star growth, last 7 daysAhead of 81% of tracked repositories
  • Star growth, last 24 hoursAhead of 85% of tracked repositories
  • Rank movement, last 7 daysAhead of 19% of tracked repositories
  • Commits, last 30 daysAhead of 92% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 7, 20261,804

Individual skills in this repository

How it works

hm-build-release

When your agent uses it

用 cargo xtask 构建 Hybrid Mount 模块包(WebUI + 三架构二进制 + module.prop + zip),并处理 update.json、changelog、Telegram 通知与发布流程。

What it loads into context

Frontmatter

84 tokens

Always available to the agent

SKILL.md

1,166 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 构建
  2. Tag 约定与 versionCode
  3. update.json
  4. Telegram 通知
  5. 发布流程(`.github/workflows/release.yml`)
  6. 本地发布前清单

Files

  • SKILL.mdcore3,818 bytes
  • SKILL.mdcore3,818 bytes
  • SKILL.mdcore3,818 bytes
  • SKILL.mdcore3,818 bytes
  • SKILL.mdcore3,818 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • hm-build-release
  • hm-ci
  • hm-module-scripts
  • hm-mount-safety-review
  • hm-planner-debug
  • hm-runtime
  • hm-rust-android
  • hm-rust-lsp
  • hm-verify
  • hm-vfs
  • hm-webui
  • hybrid-mount-overview
  • kernel-development-skills
  • rust-best-practices
  • rust-guidelines
  • rust-skills
  • rust-unsafe-review
  • vue-best-practices
  • vue-testing-best-practices

Repository facts

License
GPL-3.0
Created
Nov 24, 2025
Last pushed
Nov 6, 2026
Forks
90
Open issues
3
Project activity
Active

Rank over the last 12 weeks

Now #586 · best #458 · down 69 in 30 days

  1. #574 on Nov 2
  2. #577 on Nov 3
  3. #578 on Nov 4
  4. #582 on Nov 5
  5. #583 on Nov 6
  6. #586 since Nov 7
79 earlier periods
  1. #454 on Aug 2
  2. #456 on Aug 8
  3. #455 on Aug 9
  4. #470 on Aug 10
  5. #468 on Aug 11
  6. #475 on Aug 13
  7. #470 on Aug 14
  8. #458 on Aug 15
  9. #463 on Aug 16
  10. #467 on Aug 17
  11. #474 on Aug 18
  12. #473 on Aug 19
  13. #474 on Aug 20
  14. #472 on Aug 21
  15. #459 on Aug 22
  16. #476 on Aug 23
  17. #475 on Aug 24
  18. #478 on Aug 25
  19. #471 on Aug 26
  20. #481 on Aug 27
  21. #478 on Aug 28
  22. #469 on Aug 29
  23. #458 on Aug 30
  24. #480 on Aug 31
  25. #483 on Sep 1
  26. #487 on Sep 2
  27. #490 on Sep 3
  28. #477 on Sep 4
  29. #476 on Sep 5
  30. #485 on Sep 6
  31. #487 on Sep 7
  32. #501 on Sep 8
  33. #492 from Sep 9 to Sep 10
  34. #490 on Sep 11
  35. #487 on Sep 12
  36. #485 on Sep 13
  37. #499 on Sep 14
  38. #495 on Sep 15
  39. #506 on Sep 16
  40. #502 on Sep 17
  41. #508 on Sep 18
  42. #488 on Sep 19
  43. #497 from Sep 20 to Sep 21
  44. #511 on Sep 22
  45. #503 on Sep 23
  46. #490 on Sep 24
  47. #488 on Sep 25
  48. #484 on Sep 26
  49. #502 on Sep 27
  50. #504 on Sep 28
  51. #515 on Sep 29
  52. #505 on Sep 30
  53. #499 from Oct 1 to Oct 2
  54. #486 on Oct 3
  55. #480 on Oct 4
  56. #487 on Oct 5
  57. #501 on Oct 6
  58. #499 on Oct 7
  59. #517 on Oct 8
  60. #518 on Oct 9
  61. #511 from Oct 10 to Oct 11
  62. #521 on Oct 12
  63. #519 on Oct 13
  64. #521 on Oct 14
  65. #518 on Oct 15
  66. #522 on Oct 16
  67. #512 on Oct 17
  68. #517 on Oct 18
  69. #529 on Oct 19
  70. #531 on Oct 20
  71. #535 on Oct 21
  72. #526 on Oct 22
  73. #520 on Oct 23
  74. #510 on Oct 24
  75. #558 on Oct 25
  76. #565 on Oct 28
  77. #567 on Oct 29
  78. #570 from Oct 30 to Oct 31
  79. #572 on Nov 1

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 3, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 88 notes
  • .dsh/skills/hm-build-release/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-build-release/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-build-release/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-build-release/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-ci/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-ci/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-ci/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • tests/shell/customize_lkm.sh:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • tests/shell/vfs_sources_digest.sh:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • tests/shell/vfs_sources_digest.sh:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .dsh/skills/hm-module-scripts/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 461 signals by file

.dsh/skills/hm-ci/SKILL.md

  • Network accessline 51
    3. `sed` 把 version 写进 `Cargo.toml` 并 `grep -q` 反查;`cargo xtask build --release`;上传 artifact(固定名 `package`)。 4. release job 下载 artifact,`cargo xtask notify --label "丰收 (Harvest) - <tag>" --topic-id 6`。 5. 仅 tag:`cargo xtask update-json <tag>
  • Network accessline 52
    4. release job 下载 artifact,`cargo xtask notify --label "丰收 (Harvest) - <tag>" --topic-id 6`。 5. 仅 tag:`cargo xtask update-json <tag> <version_code> https://github.com/<repo>/releases/download/<tag>/<zip>`(changelog 默认指向 dev 的 `changelog.md`
  • Network accessline 53
    5. 仅 tag:`cargo xtask update-json <tag> <version_code> https://github.com/<repo>/releases/download/<tag>/<zip>`(changelog 默认指向 dev 的 `changelog.md`),再 `cp update.json /tmp/update.json`。

.dsh/skills/hm-module-scripts/SKILL.md

  • Network accessline 19
    | `module/emulated-soft-reboot.sh` | ksud 软重启(late-load)按 stage 名调用 | ksud | `exec hybrid-mount runtime prepare-reboot`,交给运行期账本清理 | | `module/uninstall.sh` | 卸载本模块时 | root 管理器 | `rm -rf /data/adb/hybrid-mount`;不碰 `/data/adb/modules` | | `mo
  • Dangerous shell operationline 20
    | `module/uninstall.sh` | 卸载本模块时 | root 管理器 | `rm -rf /data/adb/hybrid-mount`;不碰 `/data/adb/modules` |
  • Dangerous shell operationline 21
    | `module/vfs/setup.sh` | 手动:在内核树根执行(本地路径或 `curl \| bash`) | 开发者 | 把 `src/` 集成到 `fs/hybridmount/` 并改 `fs/Makefile`、`fs/Kconfig`;`--cleanup` 回滚;拒绝已集成 NoMount 的树 |
  • Network accessline 21
    | `module/vfs/setup.sh` | 手动:在内核树根执行(本地路径或 `curl \| bash`) | 开发者 | 把 `src/` 集成到 `fs/hybridmount/` 并改 `fs/Makefile`、`fs/Kconfig`;`--cleanup` 回滚;拒绝已集成 NoMount 的树 |
  • Dangerous shell operationline 40
    5. **metainstall 只做符号链接**:唯一允许的操作是 `ln -sf "./system/$partition" "$MODPATH/$partition"`,不得 `cp -a` + `rm -rf`、不得 `mv system/<partition>`;`ln` 之前必须先判 `-e`/`-L`,否则会往已存在的目录里再建一层链接。`handle_partition` 被刻意留成空实现、`mark_replace` 改写 opaque xattr,这两处是

.dsh/skills/hm-vfs/SKILL.md

  • Network accessline 74
    - `sources.txt` 是 `sha256sum hybridmount.c hybridmount.h Kconfig Makefile` 再取一次 sha256 的单一摘要;`tests/shell/vfs_sources_digest.sh` 重算比对,`lints.yml` 与 `release.yml` 都会执行。`list.txt` 只证明 `.ko` 自身未变,发现不了源码已漂移。 - 编译需要 DDK,所以**源码变更与产物刷新必然是两次提交**:改源
  • Dangerous shell operationline 76
    - 内置集成(在干净内核树根执行):`curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash`,之后自行开 `CONFIG_HYBRIDMOUNT=y`(或 `=m`);`--cleanup` 回退。脚本拒绝已集成 NoMount 的内核树。
  • Network accessline 76
    - 内置集成(在干净内核树根执行):`curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash`,之后自行开 `CONFIG_HYBRIDMOUNT=y`(或 `=m`);`--cleanup` 回退。脚本拒绝已集成 NoMount 的内核树。

.dsh/skills/hm-webui/SKILL.md

  • Network accessline 14
    cd webui pnpm install --frozen-lockfile pnpm dev        # vite --host,默认 http://localhost:5173
  • Network accessline 15
    pnpm install --frozen-lockfile pnpm dev        # vite --host,默认 http://localhost:5173 pnpm build      # 构建产物;打包时由 xtask 负责 MODULE_ID 注入
  • Network accessline 16
    pnpm dev        # vite --host,默认 http://localhost:5173

.dsh/skills/kernel-development-skills/SKILL.md

  • Network accessline 7
    version: "0.3.0"   vendored:     source: https://github.com/UtsavBalar1231/kernel-development-skills
  • Network accessline 8
    vendored:     source: https://github.com/UtsavBalar1231/kernel-development-skills     commit: cc513486979618140f2c9e6e31bd20530fb5e0e3
  • Network accessline 9
    source: https://github.com/UtsavBalar1231/kernel-development-skills

.dsh/skills/kernel-development-skills/references/debugging-testing.md

  • Network accessline 40
    - https://docs.kernel.org/dev-tools/testing-overview.html
  • Network accessline 41
    - https://docs.kernel.org/dev-tools/kunit/
  • Network accessline 42
    - https://docs.kernel.org/dev-tools/kselftest.html
  • Network accessline 43
    - https://docs.kernel.org/dev-tools/ktap.html
  • Network accessline 44
    - https://docs.kernel.org/admin-guide/dynamic-debug-howto.html
  • Network accessline 45
    - https://docs.kernel.org/trace/ftrace.html
  • Network accessline 46
    - https://docs.kernel.org/fault-injection/fault-injection.html
  • Network accessline 47
    - https://docs.kernel.org/dev-tools/kasan.html
  • Network accessline 48
    - https://docs.kernel.org/dev-tools/kcsan.html
  • Network accessline 49
    - https://docs.kernel.org/dev-tools/kfence.html
  • Network accessline 50
    - https://docs.kernel.org/dev-tools/kgdb.html
  • Network accessline 51
    - https://docs.kernel.org/admin-guide/ramoops.html
  • Network accessline 52
    - https://github.com/google/syzkaller/tree/master/docs

.dsh/skills/kernel-development-skills/references/device-tree-drivers.md

  • Network accessline 43
    - https://docs.kernel.org/devicetree/bindings/writing-schema.html
  • Network accessline 44
    - https://docs.kernel.org/devicetree/bindings/submitting-patches.html
  • Network accessline 45
    - https://docs.kernel.org/devicetree/bindings/dts-coding-style.html
  • Network accessline 46
    - https://docs.kernel.org/driver-api/
  • Network accessline 47
    - https://docs.kernel.org/driver-api/driver-model/
  • Network accessline 48
    - https://docs.kernel.org/process/stable-api-nonsense.html

.dsh/skills/kernel-development-skills/references/kernel-workflow.md

  • Network accessline 30
    - https://docs.kernel.org/process/submitting-patches.html
  • Network accessline 31
    - https://docs.kernel.org/process/submit-checklist.html
  • Network accessline 32
    - https://docs.kernel.org/process/handling-regressions.html
  • Network accessline 33
    - https://docs.kernel.org/process/stable-kernel-rules.html - https://docs.kernel.org/maintainer/rebasing-and-merging.html - https://docs.kernel.org/maintainer/pull-requests.html
  • Network accessline 34
    - https://docs.kernel.org/maintainer/rebasing-and-merging.html - https://docs.kernel.org/maintainer/pull-requests.html - https://docs.kernel.org/dev-tools/checkpatch.html
  • Network accessline 35
    - https://docs.kernel.org/maintainer/pull-requests.html
  • Network accessline 36
    - https://docs.kernel.org/dev-tools/checkpatch.html
  • Network accessline 58
    Fixes: <12+ sha> ("original subject") Reported-by: Name <mail> Closes: https://bugzilla.kernel.org/...
  • Network accessline 59
    Reported-by: Name <mail> Closes: https://bugzilla.kernel.org/... Link: https://lore.kernel.org/...
  • Network accessline 60
    Closes: https://bugzilla.kernel.org/...
  • Network accessline 61
    Link: https://lore.kernel.org/...

.dsh/skills/kernel-development-skills/scripts/check_kernel_api_patterns.py

  • Executable scriptline 1
    #!/usr/bin/env python3

.dsh/skills/kernel-development-skills/scripts/index_kernel_docs.py

  • Executable scriptline 1
    #!/usr/bin/env python3

.dsh/skills/kernel-development-skills/scripts/triage_kernel_change.py

  • Executable scriptline 1
    #!/usr/bin/env python3

.dsh/skills/rust-best-practices/SKILL.md

  • Network accessline 24
    Apply these guidelines when writing or reviewing Rust code. Based on Apollo GraphQL's [Rust Best Practices Handbook](https://github.com/apollographql/rust-best-practices).

.dsh/skills/rust-best-practices/references/chapter_01.md

  • Network accessline 499
    Different languages have different ways of sorting their imports, in the Rust ecosystem the [standard way](https://github.com/rust-lang/rustfmt/issues/4107) is:
  • Network accessline 562
    > "Duplication is far cheaper than the wrong abstraction." -- [Sandi Metz, The Wrong Abstraction](https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction)
  • Network accessline 566
    From [Martin Fowler's *Refactoring*](https://martinfowler.com/books/refactoring.html), attributed to Don Roberts:
  • Network accessline 574
    [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) (*The Pragmatic Programmer*) says every piece of **knowledge** should have a single representation. It does **not** say "no two code fragments may look alike". Two blocks that *ha
  • Network accessline 601
    Every new variant will grow another parameter or branch. And the `bool` is a smell in its own right: `write_entry(out, key, value, true)` tells the reader nothing at the call site -- Martin Fowler calls this a [Flag Argument](https://martin
  • Network accessline 614
    If you find yourself maintaining an abstraction like `write_entry`, [Sandi Metz's advice](https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction) is to **unwind it, not patch it**:
  • Network accessline 637
    In tests, be **even more tolerant of duplication**. The Google Testing Blog calls this [DAMP -- "Descriptive And Meaningful Phrases"](https://testing.googleblog.com/2019/12/testing-on-toilet-tests-too-dry-make.html) ([*Software Engineering 

.dsh/skills/rust-best-practices/references/chapter_02.md

  • Network accessline 5
    Clippy documentation can be found [here](https://doc.rust-lang.org/clippy/usage.html).
  • Network accessline 41
    | Lint Name | Why | Link | | --------- | ----| -----| | `redundant_clone` | Detects unnecessary `clones`, has performance impact | [link (nursery + perf)](https://rust-lang.github.io/rust-clippy/master/#redundant_clone) |
  • Network accessline 42
    | --------- | ----| -----| | `redundant_clone` | Detects unnecessary `clones`, has performance impact | [link (nursery + perf)](https://rust-lang.github.io/rust-clippy/master/#redundant_clone) | | `needless_borrow` group | Removes redundant
  • Network accessline 43
    | `redundant_clone` | Detects unnecessary `clones`, has performance impact | [link (nursery + perf)](https://rust-lang.github.io/rust-clippy/master/#redundant_clone) |
  • Network accessline 44
    | `needless_borrow` group | Removes redundant `&` borrowing | [link (style)](https://rust-lang.github.io/rust-clippy/master/#needless_borrow) |
  • Network accessline 45
    | `map_unwrap_or` / `map_or` | Simplifies nested `Option/Result` handling | [`map_unwrap_or`](https://rust-lang.github.io/rust-clippy/master/#map_unwrap_or) [`unnecessary_map_or`](https://rust-lang.github.io/rust-clippy/master/#unnecessary_
  • Network accessline 46
    | `manual_ok_or` | Suggest using `.ok_or_else` instead of `match` | [link (style)](https://rust-lang.github.io/rust-clippy/master/#manual_ok_or) |
  • Network accessline 47
    | `large_enum_variant` | Warns if an enum has very large variant which is bad for memory. Suggests `Boxing` it | [link (perf)](https://rust-lang.github.io/rust-clippy/master/#large_enum_variant) |
  • Network accessline 48
    | `unnecessary_wraps` | If your function always returns `Some` or `Ok`, you don't need `Option`/`Result` | [link (pedantic)](https://rust-lang.github.io/rust-clippy/master/#unnecessary_wraps) |
  • Network accessline 49
    | `clone_on_copy` | Catches accidental `.clone()` on `Copy` types like `u32` and `bool` | [link (complexity)](https://rust-lang.github.io/rust-clippy/master/#clone_on_copy) |
  • Network accessline 50
    | `needless_collect` | Prevents collecting and allocating an iterator, when allocation is not needed | [link (nursery)](https://rust-lang.github.io/rust-clippy/master/#needless_collect) |

.dsh/skills/rust-best-practices/references/chapter_03.md

  • Network accessline 10
    * Use `--release` flag on you builds (might sound dummy, but it is quite common to hear people complaining that their Rust code is slower than their X language code, and 99% of the time is because they didn't use the `--release` flag). * `$
  • Network accessline 11
    * `$ cargo clippy -- -D clippy::perf` gives you important tips on best practices for performance. * [`cargo bench`](https://doc.rust-lang.org/cargo/commands/cargo-bench.html) is a cargo tool to create micro-benchmarks and test different cod
  • Network accessline 12
    * [`cargo bench`](https://doc.rust-lang.org/cargo/commands/cargo-bench.html) is a cargo tool to create micro-benchmarks and test different code solutions. Write a test scenario and bench you solution against the original code, if your impro
  • Network accessline 13
    * [`cargo flamegraph`](https://github.com/flamegraph-rs/flamegraph) a powerful profiler for Rust code. For MacOS, [samply](https://github.com/mstange/samply) might be a better DX option.
  • Network accessline 15
    > #### Further reading on Benchmarking: > - [How to build a Custom Benchmarking Harness in Rust](https://bencher.dev/learn/benchmarking/rust/custom-harness/)
  • Network accessline 16
    > - [How to build a Custom Benchmarking Harness in Rust](https://bencher.dev/learn/benchmarking/rust/custom-harness/)
  • Network accessline 72
    In sections [Borrowing over Cloning](./chapter_01.md#11-borrowing-over-cloning) and [Important Clippy lints to respect](./chapter_02.md#23-important-clippy-lints-to-respect) we mentioned the impacts of cloning and the relevant clippy lint [
  • Network accessline 157
    Sometimes you don't actually need owned data, but that is not clear from the API perspective, so using [`std::borrow::Cow`](https://doc.rust-lang.org/std/borrow/enum.Cow.html) is a way to efficiently address this case:
  • Network accessline 187
    * Only use `#[inline]` when benchmark proves beneficial, Rust is already pretty good at inlining **without** hints. * Avoid massive stack allocations, box them. Example `let buffer: Box<[u8; 65536]> = Box::new(..)` would first allocate `[u8
  • Network accessline 189
    * For large `const` arrays, considering using [crate smallvec](https://docs.rs/smallvec/latest/smallvec/) as it behaves like an array, but is smart enough to allocate large arrays on the heap.

.dsh/skills/rust-best-practices/references/chapter_04.md

  • Network accessline 9
    Rust has a powerful type that wraps fallible data, [`Result<T, E>`](https://doc.rust-lang.org/std/result/), this allows us to handle Error cases according to our needs and manage the state of the application based on that.

.dsh/skills/rust-best-practices/references/chapter_05.md

  • Network accessline 159
    If you are testing separate behaviors, make multiple tests each with descriptive names. To avoid boilerplate, either use a shared setup function or [rstest](https://crates.io/crates/rstest) cases *with descriptive test names*:
  • Network accessline 160
    To avoid boilerplate, either use a shared setup function or [rstest](https://crates.io/crates/rstest) cases *with descriptive test names*:
  • Network accessline 252
    * Test for happy paths and common use cases. * Allow external states and side effects, [testcontainers](https://rust.testcontainers.org/) might help.
  • Network accessline 253
    * Allow external states and side effects, [testcontainers](https://rust.testcontainers.org/) might help.
  • Network accessline 291
    * Since Rust 1.96 prefer the stabilized [`assert_matches!`](https://doc.rust-lang.org/std/macro.assert_matches.html) (and [`debug_assert_matches!`](https://doc.rust-lang.org/std/macro.debug_assert_matches.html)) over `assert!(matches!(..))`
  • Network accessline 297
    * Use `#[should_panic]` wisely. It should only be used when panic is the desired behavior, prefer result instead of panic. * There are some other that can enhance your testing experience like:     * [`rstest`](https://crates.io/crates/rstes
  • Network accessline 298
    * There are some other that can enhance your testing experience like:     * [`rstest`](https://crates.io/crates/rstest): fixture based test framework with procedural macros.     * [`pretty_assertions`](https://crates.io/crates/pretty_assert
  • Network accessline 299
    * [`rstest`](https://crates.io/crates/rstest): fixture based test framework with procedural macros.
  • Network accessline 300
    * [`pretty_assertions`](https://crates.io/crates/pretty_assertions): overrides `assert_eq` and `assert_ne`, and creates colorful diffs between them.
  • Network accessline 329
    To learn more about `cargo insta` check out its [documentation](https://insta.rs/docs/quickstart/) as it is a very complete and well documented tool.
  • Network accessline 373
    * Use [redactions](https://insta.rs/docs/redactions/) for unstable fields (randomly generated, timestamps, uuid, etc):

.dsh/skills/rust-best-practices/references/chapter_06.md

  • Network accessline 11
    ## 6.1 [Generics](https://doc.rust-lang.org/book/ch10-00-generics.html)
  • Network accessline 17
    [Generics by Examples](https://doc.rust-lang.org/rust-by-example/generics.html).

.dsh/skills/rust-best-practices/references/chapter_07.md

  • Network accessline 5
    > Recently it became the standard design pattern of Rust programming. However, it is not exclusive to Rust, as it is achievable and has inspired other languages to do the same [swift](https://swiftology.io/articles/typestate/) and [typescri
  • Network accessline 23
    [Github Example](https://github.com/apollographql/rust-best-practices/tree/main/examples/simple-type-state)
  • Network accessline 85
    [Github Example](https://github.com/apollographql/rust-best-practices/tree/main/examples/type-state-builder)

.dsh/skills/rust-best-practices/references/chapter_08.md

  • Network accessline 157
    | Lint | Description | |-------------- |------------------------------------------- | | [missing_docs](https://doc.rust-lang.org/rustdoc/lints.html#missing_docs) | Warns that a public functions, struct, const, enum has missing documentation
  • Network accessline 158
    |-------------- |------------------------------------------- | | [missing_docs](https://doc.rust-lang.org/rustdoc/lints.html#missing_docs) | Warns that a public functions, struct, const, enum has missing documentation | | [broken_intra_doc_
  • Network accessline 159
    | [missing_docs](https://doc.rust-lang.org/rustdoc/lints.html#missing_docs) | Warns that a public functions, struct, const, enum has missing documentation |
  • Network accessline 160
    | [broken_intra_doc_links](https://doc.rust-lang.org/rustdoc/lints.html#broken_intra_doc_links) | Detects if an internal documentation link is broken. Specially useful when things are renamed. |
  • Network accessline 161
    | [empty_docs](https://rust-lang.github.io/rust-clippy/master/#empty_docs) | Disallow empty docs - preventing bypass of `missing_docs` |
  • Network accessline 162
    | [missing_panics_doc](https://rust-lang.github.io/rust-clippy/master/#missing_panics_doc) | Warns that documentation should have a `# Panics` section if function can panic |
  • Network accessline 163
    | [missing_errors_doc](https://rust-lang.github.io/rust-clippy/master/#missing_errors_doc) | Warns that documentation should have a `# Errors` section if function returns a `Result` explaining `Err` conditions |
  • Network accessline 164
    | [missing_safety_doc](https://rust-lang.github.io/rust-clippy/master/#missing_safety_doc) | Warns that documentation should have a `# Safety` section if public facing functions have visible unsafe blocks |
  • Network accessline 231
    - [ ] Invariants or expectations.     - [ ] Example construction or usage. - [ ] Consider using [`#[non_exhaustive]`](https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute) if external users may match 
  • Network accessline 233
    - [ ] Consider using [`#[non_exhaustive]`](https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute) if external users may match on it.

.dsh/skills/rust-best-practices/references/chapter_09.md

  • Network accessline 80
    ### [`Box<T>`](https://doc.rust-lang.org/std/boxed/struct.Box.html) - Heap Allocated
  • Network accessline 92
    ### [`Rc<T>`](https://doc.rust-lang.org/std/rc/struct.Rc.html) - Reference Counter (single-thread)
  • Network accessline 96
    ### [`Arc<T>`](https://doc.rust-lang.org/std/sync/struct.Arc.html) - Atomic Reference Counter (multi-thread)
  • Network accessline 100
    ### [`RefCell<T>`](https://doc.rust-lang.org/std/cell/struct.RefCell.html) - Runtime checked interior mutability
  • Network accessline 122
    ### [`Cell<T>`](https://doc.rust-lang.org/std/cell/struct.Cell.html) - Copy-only interior mutability
  • Network accessline 150
    ### [`Mutex<T>`](https://doc.rust-lang.org/std/sync/struct.Mutex.html) - Thread-safe mutability
  • Network accessline 154
    ### [`RwLock<T>`](https://doc.rust-lang.org/std/sync/struct.RwLock.html) - Thread-safe mutability
  • Network accessline 159
    ### [`*const T/*mut T`](https://doc.rust-lang.org/std/primitive.pointer.html) - Raw pointers
  • Network accessline 171
    ### [`OnceCell`](https://doc.rust-lang.org/std/cell/struct.OnceCell.html) - Single-thread single initialization container
  • Network accessline 206
    ### [`LazyCell`](https://doc.rust-lang.org/std/cell/struct.LazyCell.html) - Lazy initialization of `OnceCell`
  • Network accessline 210
    ### [`OnceLock`](https://doc.rust-lang.org/std/sync/struct.OnceLock.html) - thread-safe `OnceCell`
  • Network accessline 237
    ### [`LazyLock`](https://doc.rust-lang.org/std/sync/struct.LazyLock.html) - thread-safe `LazyCell`
  • Network accessline 254
    ## References - [Mara Bos - Rust Atomics and Locks](https://marabos.nl/atomics/)
  • Network accessline 255
    - [Mara Bos - Rust Atomics and Locks](https://marabos.nl/atomics/)
  • Network accessline 256
    - [Semicolon video on pointers](https://www.youtube.com/watch?v=Ag_6Q44PBNs)

.dsh/skills/rust-guidelines/SKILL.md

  • Network accessline 13
    metadata:   vendored:     source: https://github.com/microsoft/rust-guidelines
  • Network accessline 14
    vendored:     source: https://github.com/microsoft/rust-guidelines     commit: 19723b3
  • Network accessline 15
    source: https://github.com/microsoft/rust-guidelines

.dsh/skills/rust-guidelines/guidelines/README.md

  • Network accessline 11
    We build on existing high-quality guidelines, most notably the [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html),
  • Network accessline 43
    - Check if your guideline follows the [meta design principles](#meta-design-principles) above. - Check if your suggestion is not already covered by the [API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html) or [Clippy](
  • Network accessline 44
    - Check if your suggestion is not already covered by the [API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html) or [Clippy](https://rust-lang.github.io/rust-clippy/master/?groups).
  • Network accessline 45
    - File a [PR or issue](https://github.com/microsoft/rust-guidelines).

.dsh/skills/rust-guidelines/guidelines/correctness/M-PANIC-IS-STOP.md

  • Network accessline 9
    Although your code must be [_minimally_ panic-safe](https://doc.rust-lang.org/nomicon/exception-safety.html) (i.e., a survived panic may not lead to

.dsh/skills/rust-guidelines/guidelines/correctness/M-UNSAFE.md

  • Network accessline 29
    - [ ] Verify there is no established alternative. If there is, prefer that. - [ ] Your abstraction must be minimal and testable. - [ ] It must be hardened and tested against ["adversarial code"](https://cheats.rs/#adversarial-code), esp.
  • Network accessline 30
    - [ ] Your abstraction must be minimal and testable. - [ ] It must be hardened and tested against ["adversarial code"](https://cheats.rs/#adversarial-code), esp.   - If they accept closures they must become invalid (e.g., poisoned) if the c
  • Network accessline 31
    - [ ] It must be hardened and tested against ["adversarial code"](https://cheats.rs/#adversarial-code), esp.
  • Network accessline 33
    - They must assume any safe trait is misbehaving, esp. `Deref`, `Clone` and `Drop`. - [ ] Any use of `unsafe` must be accompanied by plain-text reasoning outlining its safety - [ ] It must pass [Miri](https://github.com/rust-lang/miri), inc
  • Network accessline 34
    - [ ] Any use of `unsafe` must be accompanied by plain-text reasoning outlining its safety - [ ] It must pass [Miri](https://github.com/rust-lang/miri), including adversarial test cases - [ ] It must follow all other [unsafe code guidelines
  • Network accessline 35
    - [ ] It must pass [Miri](https://github.com/rust-lang/miri), including adversarial test cases
  • Network accessline 36
    - [ ] It must follow all other [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/)
  • Network accessline 41
    - [ ] Any use of `unsafe` must be accompanied by plain-text reasoning outlining its safety. This applies to both   calling `unsafe` methods, as well as providing `_unchecked` ones. - [ ] The code in question must pass [Miri](https://github.
  • Network accessline 42
    calling `unsafe` methods, as well as providing `_unchecked` ones. - [ ] The code in question must pass [Miri](https://github.com/rust-lang/miri) - [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guid
  • Network accessline 43
    - [ ] The code in question must pass [Miri](https://github.com/rust-lang/miri)
  • Network accessline 44
    - [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/)
  • Network accessline 48
    - [ ] We recommend you use an established interop library to avoid `unsafe` constructs - [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/)
  • Network accessline 49
    - [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/)
  • Network accessline 54
    - [Nomicon](https://doc.rust-lang.org/nightly/nomicon/)
  • Network accessline 55
    - [Unsafe Code Guidelines](https://rust-lang.github.io/unsafe-code-guidelines/)
  • Network accessline 56
    - [Miri](https://github.com/rust-lang/miri)
  • Network accessline 57
    - ["Adversarial code"](https://cheats.rs/#adversarial-code)

.dsh/skills/rust-guidelines/guidelines/correctness/M-UNSOUND.md

  • Network accessline 18
    > behavior is only a 'remote, theoretical possibility' requiring 'weird code', the function is unsound. > > Also see [Unsafe, Unsound, Undefined](https://cheats.rs/#unsafe-unsound-undefined).
  • Network accessline 20
    > Also see [Unsafe, Unsound, Undefined](https://cheats.rs/#unsafe-unsound-undefined).

.dsh/skills/rust-guidelines/guidelines/universal/M-LOG-STRUCTURED.md

  • Network accessline 7
    Logging should use structured events with named properties and message templates following the [message templates](https://messagetemplates.org/) specification.
  • Network accessline 8
    the [message templates](https://messagetemplates.org/) specification.
  • Network accessline 10
    > **Note:** Examples use the [`tracing`](https://docs.rs/tracing/) crate's `event!` macro,
  • Network accessline 61
    Use [OTel semantic conventions](https://opentelemetry.io/docs/specs/semconv/) for common attributes if needed.
  • Network accessline 108
    Sensitive data includes email addresses, file paths revealing user identity, filenames containing secrets or tokens, file contents with PII, temporary file paths with session IDs and more. Consider using the [`data_privacy`](https://crates.
  • Network accessline 109
    file contents with PII, temporary file paths with session IDs and more. Consider using the [`data_privacy`](https://crates.io/crates/data_privacy) crate for consistent redaction.
  • Network accessline 113
    - [Message Templates Specification](https://messagetemplates.org/)
  • Network accessline 114
    - [OpenTelemetry Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/)
  • Network accessline 115
    - [OWASP Logging Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html)

.dsh/skills/rust-guidelines/guidelines/universal/M-STATIC-VERIFICATION.md

  • Network accessline 10
    * [compiler lints](https://doc.rust-lang.org/rustc/lints/index.html) offer many lints to avoid bugs and improve code quality.
  • Network accessline 11
    * [clippy lints](https://doc.rust-lang.org/clippy/) contain hundreds of lints to avoid bugs and improve code quality.
  • Network accessline 12
    * [rustfmt](https://github.com/rust-lang/rustfmt) ensures consistent source formatting.
  • Network accessline 13
    * [cargo-audit](https://crates.io/crates/cargo-audit) verifies crate dependencies for security vulnerabilities.
  • Network accessline 14
    * [cargo-hack](https://crates.io/crates/cargo-hack) validates that all combinations of crate features work correctly.
  • Network accessline 15
    * [cargo-udeps](https://crates.io/crates/cargo-udeps) detects unused dependencies in Cargo.toml files.
  • Network accessline 16
    * [miri](https://github.com/rust-lang/miri) validates the correctness of unsafe code.

.dsh/skills/rust-guidelines/guidelines/universal/M-UPSTREAM-GUIDELINES.md

  • Network accessline 9
    - [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html)
  • Network accessline 10
    - [Rust Style Guide](https://doc.rust-lang.org/nightly/style-guide/)
  • Network accessline 11
    - [Rust Design Patterns](https://rust-unofficial.github.io/patterns//intro.html)
  • Network accessline 12
    - [Rust Reference - Undefined Behavior](https://doc.rust-lang.org/reference/behavior-considered-undefined.html)
  • Network accessline 16
    - [ ] [C-CONV](https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv) - Ad-hoc conversions
  • Network accessline 17
    follow  `as_`, `to_`, `into_` conventions - [ ] [C-GETTER](https://rust-lang.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter) - Getter names follow Rust convention - [ ] [C-COMMON-TRAITS](https://rust-lang.
  • Network accessline 18
    - [ ] [C-GETTER](https://rust-lang.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter) - Getter names follow Rust convention
  • Network accessline 19
    - [ ] [C-COMMON-TRAITS](https://rust-lang.github.io/api-guidelines/interoperability.html#c-common-traits) - Types eagerly implement common traits
  • Network accessline 20
    - `Copy`, `Clone`, `Eq`, `PartialEq`, `Ord`, `PartialOrd`, `Hash`, `Default`, `Debug`   - `Display` where type wants to be displayed - [ ] [C-CTOR](https://rust-lang.github.io/api-guidelines/predictability.html?highlight=new#constructors-ar
  • Network accessline 21
    - `Display` where type wants to be displayed - [ ] [C-CTOR](https://rust-lang.github.io/api-guidelines/predictability.html?highlight=new#constructors-are-static-inherent-methods-c-ctor) -   Constructors are static, inherent methods
  • Network accessline 22
    - [ ] [C-CTOR](https://rust-lang.github.io/api-guidelines/predictability.html?highlight=new#constructors-are-static-inherent-methods-c-ctor) -
  • Network accessline 23
    Constructors are static, inherent methods   - In particular, have `Foo::new()`, even if you have `Foo::default()` - [ ] [C-FEATURE](https://rust-lang.github.io/api-guidelines/naming.html#feature-names-are-free-of-placeholder-words-c-feature
  • Network accessline 24
    - In particular, have `Foo::new()`, even if you have `Foo::default()` - [ ] [C-FEATURE](https://rust-lang.github.io/api-guidelines/naming.html#feature-names-are-free-of-placeholder-words-c-feature) - Feature names   are free of placeholder 
  • Network accessline 25
    - [ ] [C-FEATURE](https://rust-lang.github.io/api-guidelines/naming.html#feature-names-are-free-of-placeholder-words-c-feature) - Feature names

.dsh/skills/rust-skills/SKILL.md

  • Network accessline 17
    version: "1.5.1"   vendored:     source: https://github.com/leonardomso/rust-skills
  • Network accessline 18
    vendored:     source: https://github.com/leonardomso/rust-skills     commit: fd2a861ab0406a4ac536a55274d14ea6fd1ca9c9
  • Network accessline 19
    source: https://github.com/leonardomso/rust-skills
  • Network accessline 502
    **Official Rust documentation** - [The Rust Reference](https://doc.rust-lang.org/reference/)
  • Network accessline 503
    - [The Rust Reference](https://doc.rust-lang.org/reference/)
  • Network accessline 504
    - [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/)
  • Network accessline 505
    - [The Rustonomicon](https://doc.rust-lang.org/nomicon/) (unsafe code)
  • Network accessline 506
    - [Rust 2024 Edition Guide](https://doc.rust-lang.org/edition-guide/rust-2024/)
  • Network accessline 507
    - [The Cargo Book](https://doc.rust-lang.org/cargo/)
  • Network accessline 508
    - [Standard library docs](https://doc.rust-lang.org/std/) and [release notes](https://doc.rust-lang.org/releases.html)
  • Network accessline 510
    **Books & guides** - [The Rust Performance Book](https://nnethercote.github.io/perf-book/) — Nicholas Nethercote
  • Network accessline 511
    - [The Rust Performance Book](https://nnethercote.github.io/perf-book/) — Nicholas Nethercote
  • Network accessline 512
    - [Rust Design Patterns](https://rust-unofficial.github.io/patterns/) — rust-unofficial
  • Network accessline 513
    - [Rust Atomics and Locks](https://marabos.nl/atomics/) — Mara Bos
  • Network accessline 514
    - [Effective Rust](https://effective-rust.com/) — David Drysdale
  • Network accessline 516
    **Tooling** - [Clippy lint documentation](https://rust-lang.github.io/rust-clippy/)
  • Network accessline 517
    - [Clippy lint documentation](https://rust-lang.github.io/rust-clippy/)
  • Network accessline 518
    - [Miri](https://github.com/rust-lang/miri)

.dsh/skills/rust-skills/checks/validate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

.dsh/skills/rust-skills/rules/api-builder-must-use.md

  • Network accessline 30
    // Bug: builder methods are ignored - no warning! let request = RequestBuilder::new("https://api.example.com");
  • Network accessline 31
    let request = RequestBuilder::new("https://api.example.com");
  • Network accessline 60
    // Now warns: unused return value that must be used let request = RequestBuilder::new("https://api.example.com");
  • Network accessline 61
    let request = RequestBuilder::new("https://api.example.com");
  • Network accessline 64
    // Correct: chain methods let response = RequestBuilder::new("https://api.example.com")
  • Network accessline 65
    let response = RequestBuilder::new("https://api.example.com")

.dsh/skills/rust-skills/rules/api-builder-pattern.md

  • Network accessline 12
    // Constructor with many parameters - hard to read, easy to get wrong let client = Client::new(     "https://api.example.com",  // Which is which?
  • Network accessline 13
    let client = Client::new(     "https://api.example.com",  // Which is which?     30,                          // Timeout? Retries?
  • Network accessline 14
    "https://api.example.com",  // Which is which?
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Network accessline 86
    // Usage - clear and self-documenting let client = ClientBuilder::new()     .base_url("https://api.example.com")
  • Network accessline 87
    let client = ClientBuilder::new()     .base_url("https://api.example.com")     .timeout(Duration::from_secs(10))
  • Network accessline 88
    .base_url("https://api.example.com")
  • Access to secretsline 91
    [Credential-related source omitted]
  • Network accessline 145
    // https://github.com/seanmonstar/reqwest/blob/master/src/async_impl/client.rs

.dsh/skills/rust-skills/rules/api-common-traits.md

  • Access to secretsline 142
    [Credential-related source omitted]

.dsh/skills/rust-skills/rules/api-must-use.md

  • Network accessline 108
    #[must_use = "use `.await` to execute the future"] async fn fetch() -> Data { ... }
  • Network accessline 109
    async fn fetch() -> Data { ... }

.dsh/skills/rust-skills/rules/api-parse-dont-validate.md

  • Network accessline 143
    // sqlx parses SQL at compile time, ensuring query validity // https://github.com/launchbadge/sqlx/blob/master/src/macros/mod.rs
  • Network accessline 144
    // https://github.com/launchbadge/sqlx/blob/master/src/macros/mod.rs

.dsh/skills/rust-skills/rules/api-typestate.md

  • Network accessline 146
    // Correct: must set URL first let good = RequestBuilder::new()     .url("https://example.com")
  • Network accessline 147
    let good = RequestBuilder::new()     .url("https://example.com")     .timeout(Duration::from_secs(30))
  • Network accessline 148
    .url("https://example.com")

.dsh/skills/rust-skills/rules/async-joinset-structured.md

  • Network accessline 15
    for url in urls {     handles.push(tokio::spawn(fetch(url)));
  • Network accessline 16
    handles.push(tokio::spawn(fetch(url)));
  • Network accessline 32
    for url in urls {     set.spawn(fetch(url.clone()));
  • Network accessline 33
    set.spawn(fetch(url.clone()));
  • Network accessline 105
    for url in urls {         set.spawn(fetch(url.clone()));
  • Network accessline 106
    set.spawn(fetch(url.clone()));
  • Network accessline 167
    let url = url.clone();     set.spawn(async move {         (index, fetch(&url).await)
  • Network accessline 168
    set.spawn(async move {         (index, fetch(&url).await)     });
  • Network accessline 169
    (index, fetch(&url).await)

.dsh/skills/rust-skills/rules/async-tokio-runtime.md

  • Network accessline 37
    // Good for many concurrent network connections     let handles: Vec<_> = urls.iter()         .map(|url| tokio::spawn(fetch(url.clone())))
  • Network accessline 38
    let handles: Vec<_> = urls.iter()         .map(|url| tokio::spawn(fetch(url.clone())))         .collect();
  • Network accessline 39
    .map(|url| tokio::spawn(fetch(url.clone())))

.dsh/skills/rust-skills/rules/doc-all-public.md

  • Network accessline 43
    ///     timeout: Duration::from_secs(30), ///     retries: 3, ///     base_url: "https://api.example.com".to_string(),
  • Network accessline 44
    ///     retries: 3, ///     base_url: "https://api.example.com".to_string(), /// };
  • Network accessline 45
    ///     base_url: "https://api.example.com".to_string(),

.dsh/skills/rust-skills/rules/doc-cargo-metadata.md

  • Network accessline 31
    description = "A fast, ergonomic HTTP client for Rust" license = "MIT OR Apache-2.0" repository = "https://github.com/username/my-awesome-crate"
  • Network accessline 33
    repository = "https://github.com/username/my-awesome-crate"
  • Network accessline 35
    # Highly recommended documentation = "https://docs.rs/my-awesome-crate"
  • Network accessline 36
    documentation = "https://docs.rs/my-awesome-crate"
  • Network accessline 39
    categories = ["network-programming", "web-programming::http-client"] authors = ["Your Name <you@example.com>"] homepage = "https://my-awesome-crate.dev"
  • Network accessline 41
    homepage = "https://my-awesome-crate.dev"
  • Network accessline 65
    | Field | Purpose | Example | |-------|---------|---------| | `repository` | Link to source code | `https://github.com/user/repo` |
  • Network accessline 66
    |-------|---------|---------| | `repository` | Link to source code | `https://github.com/user/repo` | | `documentation` | Link to docs | `https://docs.rs/crate` |
  • Network accessline 67
    | `repository` | Link to source code | `https://github.com/user/repo` |
  • Network accessline 68
    | `documentation` | Link to docs | `https://docs.rs/crate` |
  • Network accessline 86
    Choose from [crates.io categories](https://crates.io/category_slugs):

.dsh/skills/rust-skills/rules/doc-crate-readme.md

  • Network accessline 45
    edition = "2024" readme = "README.md"          # crates.io landing page documentation = "https://docs.rs/my-crate"
  • Network accessline 47
    documentation = "https://docs.rs/my-crate"

.dsh/skills/rust-skills/rules/doc-hidden-setup.md

  • Network accessline 114
    /// // Configuration IS the example - show it /// let client = Client::builder() ///     .base_url("https://api.example.com")
  • Network accessline 115
    /// let client = Client::builder() ///     .base_url("https://api.example.com") ///     .timeout_secs(30)
  • Network accessline 116
    ///     .base_url("https://api.example.com")

.dsh/skills/rust-skills/rules/doc-intra-links.md

  • Network accessline 116
    /// Returns a [`Result`] that may contain [`Error`]. /// /// [`serde`]: https://serde.rs
  • Network accessline 117
    /// /// [`serde`]: https://serde.rs /// [`Deserialize`]: serde::Deserialize
  • Network accessline 118
    /// [`serde`]: https://serde.rs

.dsh/skills/rust-skills/rules/doc-question-mark.md

  • Network accessline 30
    /// ``` /// let client = Client::new(); /// let response = client.get("https://api.example.com").unwrap();
  • Network accessline 31
    /// let client = Client::new(); /// let response = client.get("https://api.example.com").unwrap(); /// let data: Data = response.json().unwrap();
  • Network accessline 32
    /// let response = client.get("https://api.example.com").unwrap();
  • Network accessline 65
    /// # async fn example() -> Result<(), Error> { /// let client = Client::new(); /// let response = client.get("https://api.example.com").await?;
  • Network accessline 66
    /// let client = Client::new(); /// let response = client.get("https://api.example.com").await?; /// let data: Data = response.json().await?;
  • Network accessline 67
    /// let response = client.get("https://api.example.com").await?;

.dsh/skills/rust-skills/rules/err-anyhow-app.md

  • Network accessline 21
    // No context - hard to debug fn process() -> Result<(), Box<dyn std::error::Error>> {     let data = fetch()?;  // Which fetch failed?
  • Network accessline 22
    fn process() -> Result<(), Box<dyn std::error::Error>> {     let data = fetch()?;  // Which fetch failed?     transform(data)?;     // What was being transformed?
  • Network accessline 23
    let data = fetch()?;  // Which fetch failed?
  • Network accessline 74
    // Dynamic context     fetch(url)
  • Network accessline 75
    fetch(url)

.dsh/skills/rust-skills/rules/err-lowercase-msg.md

  • Network accessline 82
    fn load_user(id: u64) -> Result<User> {     let data = fetch(id)
  • Network accessline 83
    let data = fetch(id)

.dsh/skills/rust-skills/rules/lint-cargo-metadata.md

  • Network accessline 79
    description = "A short description of what this crate does" license = "MIT OR Apache-2.0" repository = "https://github.com/user/my-crate"
  • Network accessline 81
    repository = "https://github.com/user/my-crate"
  • Network accessline 83
    # Recommended documentation = "https://docs.rs/my-crate"
  • Network accessline 84
    documentation = "https://docs.rs/my-crate"

.dsh/skills/rust-skills/rules/mem-arena-allocator.md

  • Network accessline 103
    // https://github.com/roc-lang/roc/blob/main/crates/compiler/solve/src/to_var.rs
  • Network accessline 155
    microbenchmarks — but the actual speedup depends on the allocator, workload, and allocation size. Arena reset is O(1) regardless of how many allocations were made. Measure with [criterion](https://crates.io/crates/criterion) to
  • Network accessline 156
    and allocation size. Arena reset is O(1) regardless of how many allocations were made. Measure with [criterion](https://crates.io/crates/criterion) to confirm the benefit in your specific use case.
  • Network accessline 157
    were made. Measure with [criterion](https://crates.io/crates/criterion) to

.dsh/skills/rust-skills/rules/mem-smallvec.md

  • Network accessline 71
    // https://github.com/rust-lang/rust/blob/main/compiler/rustc_expand/src/base.rs

.dsh/skills/rust-skills/rules/mem-with-capacity.md

  • Network accessline 123
    // https://github.com/sharkdp/fd/blob/master/src/walk.rs

.dsh/skills/rust-skills/rules/mem-write-over-format.md

  • Network accessline 153
    consistently faster than `format!()` in tight loops. The exact difference depends on string length, allocator, and hardware — measure with [criterion](https://crates.io/crates/criterion) in your own workload.
  • Network accessline 155
    [criterion](https://crates.io/crates/criterion) in your own workload.

.dsh/skills/rust-skills/rules/name-funcs-snake.md

  • Network accessline 55
    let http_response = fetch();

.dsh/skills/rust-skills/rules/obs-no-sensitive-data.md

  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]

.dsh/skills/rust-skills/rules/opt-inline-small.md

  • Network accessline 92
    // https://github.com/BurntSushi/ripgrep/blob/master/crates/printer/src/standard.rs

.dsh/skills/rust-skills/rules/opt-lto-release.md

  • Network accessline 59
    profiles for maximum performance. For example, ripgrep ships a `release-lto` profile (see the Cargo Book for profile documentation: <https://doc.rust-lang.org/cargo/reference/profiles.html>):
  • Network accessline 61
    <https://doc.rust-lang.org/cargo/reference/profiles.html>):

.dsh/skills/rust-skills/rules/opt-pgo-profile.md

  • Dangerous shell operationline 133
    run: sudo apt-get install llvm

.dsh/skills/rust-skills/rules/own-borrow-over-clone.md

  • Network accessline 82
    // https://github.com/BurntSushi/ripgrep/blob/master/crates/globset/src/pathutil.rs

.dsh/skills/rust-skills/rules/own-cow-conditional.md

  • Network accessline 58
    // https://github.com/BurntSushi/ripgrep/blob/master/crates/globset/src/pathutil.rs

.dsh/skills/rust-skills/rules/perf-collect-into.md

  • Network accessline 9
    > **Note:** `collect_into` is currently **nightly-only** (requires `#![feature(iter_collect_into)]`, tracking issue [#94780](https://github.com/rust-lang/rust/issues/94780)). On stable Rust, use `extend()` instead — see the Stable Alternati

.dsh/skills/rust-skills/rules/proj-build-rs-minimal.md

  • Network accessline 26
    // network access breaks offline/reproducible builds     let _resp = reqwest::blocking::get("https://example.com/schema.json").unwrap();
  • Network accessline 27
    let _resp = reqwest::blocking::get("https://example.com/schema.json").unwrap();

.dsh/skills/rust-skills/rules/proj-workspace-deps.md

  • Network accessline 139
    edition = "2021" license = "MIT" repository = "https://github.com/user/repo"
  • Network accessline 141
    repository = "https://github.com/user/repo"

.dsh/skills/rust-skills/rules/test-criterion-bench.md

  • Network accessline 150
    // https://github.com/tokio-rs/tokio/blob/master/benches/sync_mpsc.rs

.dsh/skills/rust-skills/rules/test-mockall-mocking.md

  • Network accessline 177
    #[async_trait] trait AsyncDatabase {     async fn fetch(&self, id: u64) -> Option<Data>;
  • Network accessline 178
    trait AsyncDatabase {     async fn fetch(&self, id: u64) -> Option<Data>; }
  • Network accessline 179
    async fn fetch(&self, id: u64) -> Option<Data>;
  • Network accessline 189
    let result = mock.fetch(1).await;

.dsh/skills/rust-unsafe-review/LICENSE.md

  • Network accessline 2
    Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
  • Network accessline 4
    http://www.apache.org/licenses/
  • Network accessline 196
    http://www.apache.org/licenses/LICENSE-2.0

.dsh/skills/rust-unsafe-review/SKILL.md

  • Network accessline 14
    metadata:   vendored:     source: https://github.com/google/rust-skills
  • Network accessline 15
    vendored:     source: https://github.com/google/rust-skills     upstream-path: unsafe_rust_review
  • Network accessline 16
    source: https://github.com/google/rust-skills

.dsh/skills/vue-best-practices/LICENSE

  • Network accessline 3
    Copyright (c) 2025 hyf0, SerKo <https://github.com/serkodev>

.dsh/skills/vue-best-practices/SKILL.md

  • Network accessline 8
    version: "18.0.0"   vendored:     source: https://github.com/vuejs-ai/skills
  • Network accessline 9
    vendored:     source: https://github.com/vuejs-ai/skills     commit: c9d355ff23f654309dd02006be671859df0a134c
  • Network accessline 10
    source: https://github.com/vuejs-ai/skills

.dsh/skills/vue-best-practices/references/reactivity.md

  • Network accessline 263
    A computed getter should only derive a value. No mutation, no API calls, no storage writes, no event emits. ([Reference](https://vuejs.org/guide/essentials/computed.html#best-practices))
  • Network accessline 264
    ([Reference](https://vuejs.org/guide/essentials/computed.html#best-practices))
  • Network accessline 338
    const res = await fetch(`/api/search?q=${encodeURIComponent(q)}`, {

.dsh/skills/vue-best-practices/references/sfc.md

  • Network accessline 216
    It leads to unclear intent and unnecessary work. ([Reference](https://vuejs.org/guide/essentials/list.html#v-for-with-v-if))
  • Network accessline 217
    ([Reference](https://vuejs.org/guide/essentials/list.html#v-for-with-v-if))

.dsh/skills/vue-best-practices/references/updated-hook-performance.md

  • Network accessline 31
    updated() {     // This runs after every single state change!     fetch('/api/sync', {
  • Network accessline 32
    // This runs after every single state change!     fetch('/api/sync', {       method: 'POST',
  • Network accessline 33
    fetch('/api/sync', {
  • Network accessline 83
    methods: {     syncToServer: debounce(function(items) {       fetch('/api/sync', {
  • Network accessline 84
    syncToServer: debounce(function(items) {       fetch('/api/sync', {         method: 'POST',
  • Network accessline 85
    fetch('/api/sync', {
  • Network accessline 108
    const syncToServer = useDebounceFn((items) => {   fetch('/api/sync', { method: 'POST', body: JSON.stringify(items) })
  • Network accessline 109
    fetch('/api/sync', { method: 'POST', body: JSON.stringify(items) })

.dsh/skills/vue-testing-best-practices/LICENSE

  • Network accessline 3
    Copyright (c) 2025 hyf0, SerKo <https://github.com/serkodev>

.dsh/skills/vue-testing-best-practices/SKILL.md

  • Network accessline 8
    metadata:   vendored:     source: https://github.com/vuejs-ai/skills
  • Network accessline 9
    vendored:     source: https://github.com/vuejs-ai/skills     commit: c9d355ff23f654309dd02006be671859df0a134c
  • Network accessline 10
    source: https://github.com/vuejs-ai/skills
  • Network accessline 43
    - [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing)
  • Network accessline 44
    - [Vue Test Utils](https://test-utils.vuejs.org/)
  • Network accessline 45
    - [Vitest Documentation](https://vitest.dev/)
  • Network accessline 46
    - [Playwright Documentation](https://playwright.dev/)

.dsh/skills/vue-testing-best-practices/reference/async-component-testing.md

  • Network accessline 162
    - [Vue Test Utils - Asynchronous Behavior](https://test-utils.vuejs.org/guide/advanced/async-suspense)
  • Network accessline 163
    - [Vue.js Async Components Documentation](https://vuejs.org/guide/components/async)

.dsh/skills/vue-testing-best-practices/reference/teleport-testing-complexity.md

  • Network accessline 156
    ## Reference - [Vue Test Utils - Teleport](https://test-utils.vuejs.org/guide/advanced/teleport)
  • Network accessline 157
    - [Vue Test Utils - Teleport](https://test-utils.vuejs.org/guide/advanced/teleport)
  • Network accessline 158
    - [Vue Test Utils - Stubs](https://test-utils.vuejs.org/guide/advanced/stubs-shallow-mount)

.dsh/skills/vue-testing-best-practices/reference/testing-async-await-flushpromises.md

  • Network accessline 173
    ## Reference - [Vue Test Utils - Asynchronous Behavior](https://test-utils.vuejs.org/guide/advanced/async-suspense)
  • Network accessline 174
    - [Vue Test Utils - Asynchronous Behavior](https://test-utils.vuejs.org/guide/advanced/async-suspense)
  • Network accessline 175
    - [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing)

.dsh/skills/vue-testing-best-practices/reference/testing-browser-vs-node-runners.md

  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 206
    ## Reference - [Vue.js Testing - Component Testing](https://vuejs.org/guide/scaling-up/testing#component-testing)
  • Network accessline 207
    - [Vue.js Testing - Component Testing](https://vuejs.org/guide/scaling-up/testing#component-testing)
  • Network accessline 208
    - [Vitest Browser Mode](https://vitest.dev/guide/browser.html)

.dsh/skills/vue-testing-best-practices/reference/testing-component-blackbox-approach.md

  • Network accessline 141
    ## Reference - [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing)
  • Network accessline 142
    - [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing)
  • Network accessline 143
    - [Vue Test Utils - Testing Philosophy](https://test-utils.vuejs.org/guide/)
  • Network accessline 144
    - [Testing Library Guiding Principles](https://testing-library.com/docs/guiding-principles)

.dsh/skills/vue-testing-best-practices/reference/testing-composables-helper-wrapper.md

  • Network accessline 236
    ## Reference - [Vue.js Testing Guide - Testing Composables](https://vuejs.org/guide/scaling-up/testing#testing-composables)
  • Network accessline 237
    - [Vue.js Testing Guide - Testing Composables](https://vuejs.org/guide/scaling-up/testing#testing-composables)
  • Network accessline 238
    - [Vue Test Utils - Mounting Components](https://test-utils.vuejs.org/guide/)

.dsh/skills/vue-testing-best-practices/reference/testing-e2e-playwright-recommended.md

  • Network accessline 48
    use: {     // Base URL for navigation     baseURL: 'http://localhost:5173',
  • Network accessline 49
    // Base URL for navigation     baseURL: 'http://localhost:5173',     // Capture trace on first retry
  • Network accessline 50
    baseURL: 'http://localhost:5173',
  • Network accessline 78
    webServer: {     command: 'npm run dev',     url: 'http://localhost:5173',
  • Network accessline 79
    command: 'npm run dev',     url: 'http://localhost:5173',     reuseExistingServer: !process.env.CI,
  • Network accessline 80
    url: 'http://localhost:5173',
  • Network accessline 239
    ## Reference - [Playwright Documentation](https://playwright.dev/)
  • Network accessline 240
    - [Playwright Documentation](https://playwright.dev/)
  • Network accessline 241
    - [Vue.js E2E Testing Recommendations](https://vuejs.org/guide/scaling-up/testing#e2e-testing)
  • Network accessline 242
    - [Playwright Best Practices](https://playwright.dev/docs/best-practices)

.dsh/skills/vue-testing-best-practices/reference/testing-no-snapshot-only.md

  • Network accessline 194
    ## Reference - [Vue.js Testing Guide - What Not to Test](https://vuejs.org/guide/scaling-up/testing)
  • Network accessline 195
    - [Vue.js Testing Guide - What Not to Test](https://vuejs.org/guide/scaling-up/testing)
  • Network accessline 196
    - [Effective Snapshot Testing](https://kentcdodds.com/blog/effective-snapshot-testing)
  • Network accessline 197
    - [Vitest Snapshot Testing](https://vitest.dev/guide/snapshot.html)

.dsh/skills/vue-testing-best-practices/reference/testing-pinia-store-setup.md

  • Network accessline 225
    ## Reference - [Pinia Testing Guide](https://pinia.vuejs.org/cookbook/testing.html)
  • Network accessline 226
    - [Pinia Testing Guide](https://pinia.vuejs.org/cookbook/testing.html)
  • Network accessline 227
    - [@pinia/testing Package](https://www.npmjs.com/package/@pinia/testing)
  • Network accessline 228
    - [Vue Test Utils - Plugins](https://test-utils.vuejs.org/guide/advanced/plugins.html)

.dsh/skills/vue-testing-best-practices/reference/testing-suspense-async-components.md

  • Network accessline 226
    ## Reference - [Vue Test Utils - Async Suspense](https://test-utils.vuejs.org/guide/advanced/async-suspense)
  • Network accessline 227
    - [Vue Test Utils - Async Suspense](https://test-utils.vuejs.org/guide/advanced/async-suspense)
  • Network accessline 228
    - [Vue.js Suspense Documentation](https://vuejs.org/guide/built-ins/suspense.html)
  • Network accessline 229
    - [Testing Library Vue Suspense Issue](https://github.com/testing-library/vue-testing-library/issues/230)

.dsh/skills/vue-testing-best-practices/reference/testing-vitest-recommended-for-vue.md

  • Network accessline 201
    ## Reference - [Vitest Documentation](https://vitest.dev/)
  • Network accessline 202
    - [Vitest Documentation](https://vitest.dev/)
  • Network accessline 203
    - [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing)
  • Network accessline 204
    - [Vue Test Utils](https://test-utils.vuejs.org/)

module/vfs/setup.sh

  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Network accessline 6
    # Run this from the root of a kernel tree: # #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Network accessline 6
    # Run this from the root of a kernel tree: # #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Network accessline 6
    # Run this from the root of a kernel tree: # #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Network accessline 7
    # #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanu
  • Network accessline 7
    # #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanu
  • Network accessline 7
    # #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanu
  • Dangerous shell operationline 8
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Dangerous shell operationline 8
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Dangerous shell operationline 8
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Network accessline 8
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Network accessline 8
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Network accessline 8
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash
  • Dangerous shell operationline 9
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup
  • Dangerous shell operationline 9
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup
  • Dangerous shell operationline 9
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup
  • Network accessline 9
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup
  • Network accessline 9
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup
  • Network accessline 9
    #   curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup
  • Dangerous shell operationline 33
    rm -rf "$DOWNLOAD_DIR"
  • Dangerous shell operationline 33
    rm -rf "$DOWNLOAD_DIR"
  • Dangerous shell operationline 33
    rm -rf "$DOWNLOAD_DIR"
  • Network accessline 41
    DOWNLOAD_DIR=$(mktemp -d)     SRC_DIR="$DOWNLOAD_DIR"     source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"
  • Network accessline 41
    DOWNLOAD_DIR=$(mktemp -d)     SRC_DIR="$DOWNLOAD_DIR"     source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"
  • Network accessline 41
    DOWNLOAD_DIR=$(mktemp -d)     SRC_DIR="$DOWNLOAD_DIR"     source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"
  • Network accessline 42
    SRC_DIR="$DOWNLOAD_DIR"     source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"     for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do
  • Network accessline 42
    SRC_DIR="$DOWNLOAD_DIR"     source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"     for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do
  • Network accessline 42
    SRC_DIR="$DOWNLOAD_DIR"     source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"     for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do
  • Network accessline 43
    source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"     for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do         curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"
  • Network accessline 43
    source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"     for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do         curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"
  • Network accessline 43
    source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src"     for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do         curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"
  • Network accessline 44
    for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do         curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"         if [ ! -s "$SRC_DIR/$source_file" ]; then
  • Network accessline 44
    for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do         curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"         if [ ! -s "$SRC_DIR/$source_file" ]; then
  • Network accessline 44
    for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do         curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"         if [ ! -s "$SRC_DIR/$source_file" ]; then
  • Network accessline 45
    curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"
  • Network accessline 45
    curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"
  • Network accessline 45
    curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file"
  • Dangerous shell operationline 108
    rm -rf "${FS_DIR:?}/$DIR_NAME"
  • Dangerous shell operationline 108
    rm -rf "${FS_DIR:?}/$DIR_NAME"
  • Dangerous shell operationline 108
    rm -rf "${FS_DIR:?}/$DIR_NAME"

tests/shell/boot_lock.sh

  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Dangerous shell operationline 6
    trap 'rm -r "$WORK"' EXIT HUP INT TERM

tests/shell/customize_lkm.sh

  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Dangerous shell operationline 48
    rm -rf "$case_dir/vfs/src"

tests/shell/runtime_hooks.sh

  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Dangerous shell operationline 6
    trap 'rm -r "$WORK"' EXIT HUP INT TERM

tests/shell/vfs_sources_digest.sh

  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/bin/sh
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 459 facts

and 409 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath CLAUDE.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md .dsh/skills/hm-build-release/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md .dsh/skills/hm-build-release/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md .dsh/skills/hm-build-release/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md .dsh/skills/hm-build-release/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md .dsh/skills/hm-build-release/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

Hybrid-Mount/meta-hybrid_mount: #586 on hotskills, 1.8k stars

[![Hybrid-Mount/meta-hybrid_mount on hotskills](https://hotskills.dev/badge/hybrid-mount-meta-hybrid_mount.svg)](https://hotskills.dev/skill/hybrid-mount-meta-hybrid_mount/)