Runnable Directories: The Solution to the Monorepo vs. Multi-repo Debate
Shayan Ghasemnezhad, Samarth KaPatel, Sofia Nikiforova, Giacinto Paolo Saggese, Paul Smith, Heanh Sok

TL;DR
This paper introduces runnable directories within the Causify Dev system as a hybrid solution to balance the scalability of monorepos and modularity of multi-repos, enhancing software development workflows.
Contribution
It proposes a novel hybrid approach using runnable directories with containerized workflows to improve scalability, consistency, and maintainability in complex codebases.
Findings
Enables independent development and deployment of code units.
Improves CI/CD efficiency with containerized workflows.
Balances benefits of monorepo and multi-repo strategies.
Abstract
Modern software systems increasingly strain traditional codebase organization strategies. Monorepos offer consistency but often suffer from scalability issues and tooling complexity, while multi-repos provide modularity at the cost of coordination and dependency management challenges. As an answer to this trade-off, we present the Causify Dev system, a hybrid approach that integrates key benefits of both. Its central concept is the runnable directory -- a self-contained, independently executable unit with its own development, testing, and deployment lifecycles. Backed by a unified thin environment, shared helper utilities, and containerized Docker-based workflows, runnable directories enable consistent setups, isolated dependencies, and efficient CI/CD processes. The Causify Dev approach provides a practical middle ground between monorepo and multi-repo strategies, improving reliability…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Advanced Software Engineering Methodologies · Software Engineering Research
