mine-rs-architecture

Guide crate boundaries and dependency direction in mine-rs Rust workspaces.

Updated May 25, 2026
One-click install
npx skills add https://github.com/Yairama/mine-rs --skill mine-rs-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mine-rs-architecture
Source: https://github.com/Yairama/mine-rs/tree/main/.github/skills/mine-rs-architecture
Command: npx skills add https://github.com/Yairama/mine-rs --skill mine-rs-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps maintain a coherent mine-rs architecture by guiding repository structure changes, crate ownership decisions, dependency direction, and SDK layering.

Core Features & Use Cases

  • Architecture Guidance: Defines monorepo strategy, crate boundaries, package ownership, and dependency flow for mine-rs development.
  • Layering Rules: Ensures Rust core, SDK, tools, Python bindings, CLI, and agentic components remain separated with clear responsibilities.
  • Use Case: When adding a new mining capability, use this Skill to determine the correct crate or package location and avoid architectural coupling.

Quick Start

Ask the mine-rs architecture skill where a new feature should be implemented and how it should connect to existing layers.

Frequently Asked Questions about mine-rs-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure crate boundaries in a Rust monorepo to prevent dependency cycles?

To prevent dependency cycles in a Rust monorepo, establish strict dependency direction by separating the deterministic core logic from SDK, Python bindings, CLI, and agentic tooling layers. Each crate must own a clear responsibility and depend only on lower layers.

What is the best way to add a new mining capability to a layered SDK without causing architectural coupling?

The best way to add a new mining capability without architectural coupling is to place it in the correct crate based on existing layering rules. Maintain the separation between the Rust core, SDK, and tools to ensure deterministic logic remains isolated from external integrations.

How does Python integration with a Rust core workspace maintain deterministic logic?

Python integration maintains deterministic logic by using a dedicated binding layer that separates the Rust core from Python components. This preserves the monorepo structure by keeping external integrations isolated from the deterministic core logic and SDK boundaries.

Can I use agentic tooling alongside CLI and SDK layers in a Rust workspace?

Yes, agentic tooling can be used alongside CLI and SDK layers in a Rust workspace by maintaining clear crate boundaries. Agentic components must remain a separate implementation layer with distinct responsibilities to avoid coupling with the deterministic core logic.

When do I need to refactor module ownership in a Rust monorepo?

Module ownership in a Rust monorepo needs refactoring when adding features that cross existing crate boundaries or violate dependency direction. Refactoring ensures the layered API structure and separation between implementation layers remain intact.

Why does my Rust workspace architecture break down when adding new packages?

Rust workspace architecture breaks down when new packages bypass crate boundaries and create unwanted dependency directions. Enforce monorepo layering rules by assigning each new package to the correct implementation layer, preserving the deterministic core and SDK separation.