| Crates.io | dx-forge |
| lib.rs | dx-forge |
| version | 0.1.3 |
| created_at | 2025-10-26 19:05:39.085077+00 |
| updated_at | 2025-11-21 19:48:34.898558+00 |
| description | Production-ready VCS and orchestration engine for DX tools with Git-like versioning, dual-watcher architecture, traffic branch system, and component injection |
| homepage | |
| repository | https://github.com/najmus-sakib-hossain/forge |
| max_upload_size | |
| id | 1901758 |
| size | 964,538 |
DX Forge is a production-ready orchestration engine and VCS for developer experience (DX) tools. It provides 132 eternal API functions for building the next generation of development tools with zero-bloat component injection, traffic-branch safety, and offline-first architecture.
Add to your Cargo.toml:
[dependencies]
dx-forge = "0.1.0"
use dx_forge::*;
fn main() -> anyhow::Result<()> {
// Initialize forge
initialize_forge()?;
// Register your tool
struct MyTool;
impl DxTool for MyTool {
fn name(&self) -> &str { "my-tool" }
fn version(&self) -> &str { "1.0.0" }
fn priority(&self) -> u32 { 50 }
fn execute(&mut self, ctx: &ExecutionContext) -> anyhow::Result<ToolOutput> {
// Your tool logic here
Ok(ToolOutput::success())
}
}
register_tool(Box::new(MyTool))?;
// Execute pipeline
execute_pipeline("default")?;
// Shutdown gracefully
shutdown_forge()?;
Ok(())
}
DX Forge provides a comprehensive, immutable API organized into 14 categories:
initialize_forge(), register_tool(), get_tool_context(), shutdown_forge()declare_tool_version(), enforce_exact_version(), current_forge_version(), activate_package_variant(), etc.execute_pipeline(), execute_tool_immediately(), suspend_pipeline_execution(), etc.trigger_realtime_event(), trigger_debounced_event(), trigger_idle_event(), etc.apply_changes(), preview_proposed_changes(), submit_branching_vote(), etc.publish_event(), subscribe_to_event_stream(), emit_tool_started_event(), etc.inject_full_config_section_at_cursor() ⭐, inject_style_tooling_config(), etc.trigger_ci_cd_pipeline(), detect_workspace_root(), etc.commit_current_dx_state(), cache_tool_offline_binary(), etc.detect_offline_mode(), download_missing_tool_binaries(), etc.stage_item_in_cart(), commit_entire_cart(), etc.install_package_with_variant(), search_dx_package_registry(), etc.mark_code_region_as_dx_generated(), claim_full_ownership_of_file(), etc.open_file_and_reveal_location(), trigger_ai_powered_suggestion(), etc.📖 Full API Documentation: docs/API_QUICK_REFERENCE.md
Traditional developer tools suffer from:
node_modules directoriesDX Forge provides:
┌─────────────────────────────────────────────┐
│ DX Forge Core Engine │
├─────────────────────────────────────────────┤
│ • Global Lifecycle Management │
│ • Version Governance & Enforcement │
│ • Pipeline Orchestration │
│ • Triple-Path Reactivity Engine │
└─────────────────────────────────────────────┘
│
┌───────────┼───────────┐
│ │ │
┌───────▼─────┐ ┌──▼──────┐ ┌─▼────────────┐
│ Branching │ │ Event │ │ Config │
│ Safety │ │ Bus │ │ Magic │
│ System │ │ │ │ Injection │
└─────────────┘ └─────────┘ └──────────────┘
│ │ │
┌───────▼───────────▼───────────▼────────────┐
│ Tool Ecosystem Layer │
│ • dx-style • dx-ui • dx-auth │
│ • dx-icons • dx-fonts • dx-media │
└────────────────────────────────────────────┘
The killer feature - instant config injection:
// User types "style:" in dx.toml
let config = inject_full_config_section_at_cursor("style")?;
// Instantly expands to:
/*
[style]
# Style tooling configuration
processor = "tailwind" # tailwind | css | scss
autoprefixer = true
minify = true
[style.tailwind]
config = "tailwind.config.js"
content = ["./src/**/*.{js,ts,jsx,tsx}"]
*/
Automatic conflict prevention with color-coded safety:
let changes = vec![/* file changes */];
// Apply with automatic branching safety
let applied = apply_changes(changes)?;
// Or preview first
let preview = preview_proposed_changes(changes)?;
// Shows: 🟢 Safe files, 🟡 Review needed, 🔴 Manual resolution
Contributions are welcome! See CONTRIBUTING.md for guidelines.
Licensed under either of:
at your option.
DX Forge is not just a library. It's the foundation for the next generation of developer tools. A world where:
This is forge. The future has a name: dx.
Made with ❤️ by the DX Forge team