https://www.metahead.dev/ metahead iconmetahead-logoAboutGet metahead Menu Close HomeAboutGet metahead [655397c5f2][655396bebd][655396bebd][655397c5f2] Take back control of your source code metahead is the world's first enterprise-grade, Git-based metarepo. It helps dev teams engineer and scale software faster and more flexibly than ever before by creating a single-source-of-truth repository. No more disconnected code. No more manual code synchronization. No more downstream code breaks. [ ][Join the waitlist] Thank you! Your submission has been received! Oops! Something went wrong while submitting the form. We promise to never spam you! By submitting this form, you confirm that you acknowledge the collection and processing of personal data by metahead, as further described in the Privacy Policy. [655397c5f2][655397c5f2] See the impact of your code before you merge metahead combines all your code in one metarepo so that changes are instantly propagated across the entire codebase with feedback on the impact before you merge. without metahead with metahead without metahead infographic with metahead infographic [655396bebd][655397c5f2] A new way to store, manage, and evolve source code Designed to combine the best elements of monorepos and multirepos, metahead empowers organizations to build software sustainably, at scale, and with high velocity. High velocity at scale metarepos make large scale refactorings and changes possible. Code reuse is substantially improved, making it easier to maintain and change larger codebases. Dependencies under control Easier dependency management: one synchronized version. Atomic changes to complex dependency graphs are possible. Better collaboration Flexible structure of code organization helps to prevent "silos". There's no need to coordinate changes across multiple repositories, and no intermediate broken state. Change your codebase, create transparency, and optimise workflows metahead maximizes engineering flexibility, increases codebase transparency, and streamlines development processes. Ideal for engineering teams who want to take back control. see icon See the impact of your changes Make changes atomically across repos by connecting your favourite code forge and aggregates CI results, giving you a clear view of the impact of your changes. Once you're satisfied, you can let metahead update all relevant repos with your new code. github Publish part of your codebase Maintaining an open-source library as part of your proprietary codebase? You can use metahead to publish and synchronise part of your code in its own public repo. Accept external contributions and check them against your internal usage of the library. You have the choice to make as much or as little as you want public, with file-granularity filters. shift icon Reorganize your codebase with ease Moving code to a new repository is as easy as creating a new view containing what you need. Keep the old one in sync, or use metahead to refactor it out. The choices of repos you made a long time ago don't pin you down anymore. gear icon Optimise your continuous integration metahead offers a GraphQL API allowing you to query information about your codebase, such as the SHA of a subset of your files. This can be used to optimise your CI, triggering builds only when needed. You can also get rid of side effects by allowing it to check out exactly what is needed to build, and nothing more. process icon Simplify developer workflows By creating views tailored to developers use-cases, you can make working with your codebase easier and faster. Only check-out what you want to see, nothing more. atomic icon Execute atomic PRs across repos With metahead, you can merge multiple PRs atomically. metahead acts as the source of truth, and all of the related commits will translate to one commit in the metarepo. No need to worry about the complexity of merging wide-reaching changes anymore. [655397c5f2][655397c5f2] Maximum efficiency for mono- and multirepo teams metahead helps dev teams focus on building quality software instead of spending countless hours making the simplest changes. Monorepo Teams * Publish part of your monorepo as an open source library * Split your repo in projections for improved development workflows * Work more efficiently by cloning only what you need, leading to faster checkouts * Contain your builds as CI only checks out the relevant parts Multirepo Teams * Combine your repositories to benefit from the advantages of monorepos * Publish part of your multirepo as an open source library * Split your repo in projections for improved development workflows * See impact of your changes to the codebase before you merge * Propagate atomic PRs across the codebase with minimal effort * Refactor and reorganise with ease See what tech leaders and software engineers have to say Tobias Tobias Schmid Freelance Developer and interim CTO The way metahead approaches source code management is unlike anything I have seen before. To me, metarepos are extremely promising if you want to achieve maximum control and development velocity. Gerd Gerd Schafer CTO @ esr_labs (part of Accenture Industry X) The technology powering metahead has already helped esr_labs develop software faster and with more control. I am excited for metahead to bring this tech to the masses. Robert Robert Warmka Software Engineering Lead @ Accenture metahead looks to be the most promising approach to combining the productivity of monorepos with the flexibility of multirepos. Frequently Asked Questions What is metahead? metahead is a tool which provides a new way to store and work on code. It allows you to combine all of your code in a metarepo, which can be used to synchronize together related repositories. How does metahead work under the hood? metahead is powered by our open source git history transformation engine called josh. It takes full advantage of the git data model, and uses a range of techniques to achieve great performance. What is a metarepo? The metarepo is a repo of repos. It is where all of your repositories get synced. It can be sliced any way you want, to produce views adapted to what you need. Is metahead metarepo a monorepo? While it can be used like a monorepo, metahead's metarepo is more flexible as it enables a mixed approach where code that has been synced to the metarepo can still be used as its own repository. metahead also enables the creation of synced repos on the fly, containing exactly what is required. For example, you could have one big repository per application, with the code of all libraries contained and shared between those repositories. Can metahead be used with any codehub ? For now, metahead works with github. We are working on adding support for more platforms. Can I use metahead to create atomic commits across repos? Yes, with metahead you can atomically produce commits across a range of repositories. This can be used to upgrade correlated microservices, or atomically upgrade an API used in multiple places. Do I need to learn new tools? No, metahead works with git. It produces views which are fully-fledged git repositories. Use all of your usual tooling for building and deploying code. How does metahead differ from git submodules? If you're using git submodules, metahead can enable big improvements to your workflow. The usual loop with submodules is to make a commit in a submodule, then to update the repos containing the submodule. By replacing submodules with metahead, you can make the code truly part of all the repos using the module, and a commit to the module repository will be seamlessly synchronized to all the users of this module. With one PR, update all the repos which use this code. When using metahead, how can I make sure my change doesn't break the repositories it is synchronized to? metahead triggers the CI of all your synced repositories, and collects the results in the PR you're opening. This way, you have direct feedback on the impact of your change. When you merge, you know your change will not break any of its users. Does metahead support access control? Today, you can set up standard repository-level access control using github settings. We are working on ACL (Access Control Lists) support for metahead. Using the josh filtering technology, this will provide you with file-level granularity access control. Which build tools work with metahead? Metahead only impacts the way your code is stored and updated. It connects and triggers your Continuous Integration pipelines, but building the code can be done as before. How does metahead handle dependencies? metahead allows you to integrate the code of your dependencies directly in the repositories where they are used. It keeps the code in sync between all of the dependencies repositories and the users of them. Do I need to change the way I build code to use metahead? It depends on the way you are currently building code. In most cases, it's a matter of pointing to a local checkout of the dependencies rather than a remote repository. Does metahead help with caching of CI results? Yes! metahead provides a GraphQL API which can tell you the SHAs of any subpart of your repositories. This can be integrated in your CI to only rebuild what's strictly necessary. What's more, when you open a PR to a synced repository, metahead will only trigger the CI of relevant repositories which are impacted by this change. [655396bebd][655396bebd][655396bebd][655397c5f2] metahead badge A better way to store, manage, and evolve source code [ ][Join the waitlist] Thank you! Your submission has been received! Oops! Something went wrong while submitting the form. Imagined by square two logo Open SourceLinkedIn ContactPrivacyImprint Our website uses cookies. By clicking "Accept", you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. Further information about our cookies are available in our Privacy Policy PreferencesAccept Cookie Settings When you visit websites, they may store or retrieve data in your browser. This storage is often necessary for the basic functionality of the website. The storage may be used for marketing, analytics, and personalization of the site, such as storing your preferences. Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website. Reject AllAccept All Essential Always active These items are required to enable basic website functionality. Marketing [ ]Essential These items are used to deliver advertising that is more relevant to you and your interests. They may also be used to limit the number of times you see an advertisement and measure the effectiveness of advertising campaigns. Advertising networks usually place them with the website operator's permission. Analytics [ ]Essential These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues. This storage type usually doesn't collect information that identifies a visitor. Save Preferences [Submit]