Skip to main content
November 3, 2025|Ryan De La Torre|
EngineeringNew Features
We’ve created several new extended libraries to open up our contributions!

New Common package for contributions

In Anvil1, we used the anvil-uikit-contrib repo as a place to host more specific contributions that were built on top of the more general-purpose anvil components and uikit packages. However, for Anvil2, we wanted a contribution area that was directly within our repo and we wanted to give much more guidance and help with maintaining those contributions. To this end, we’ve created a new npm package called @servicetitan/anvil2-ext-common! This Common package is meant to be a place for contributions that extend the Anvil2 library, but that don’t necessarily make sense to live inside of Anvil2. Do you have a wrapper to connect a component to MobX or formstate or to a specific backend API? Do you have a shorthand to reduce the boilerplate for one of your common use cases? This is the place for those kinds of contributions! This library can also be used as a place to test new ideas and features that are proposed to be added to Anvil2 in the future, but that need more validation or testing. Code in the common library can allow for more experimental contributions and can serve as a more open area for testing ideas. The ext-common package is brand new, and so we’d also like to shout out Roy Tinker for making the very first contribution!

Even more extended packages

However, we’re not only using this new extended package structure for the ext-common library! This idea of adding new extended packages is how we plan to support Atlas components (ext-atlas), Mobile Web View components (ext-mwv), amCharts themes for data visualization (ext-charts), and more to come. One of the benefits of having these additional packages inside the Anvil2 repo is that it will be much easier to keep these packages coordinated and up-to-date. If you make a change to one of these packages, there will be a PR check that tests your changes against the latest version of Anvil2. When a new version of Anvil2 is released, we’ll also release a new version of any extended packages if it’s necessary to keep it current. (Note: It will still be possible to pin the Anvil2 version used by an extended package if your use case requires that.)

Continued repo improvements

As for the core Anvil2 package, our team has merged the anvil2 and hammer-react packages into one, single package, so all of the code that used to exist within hammer-react now exists within anvil2. Our hope is that this will make navigating, understanding, and contributing to the core Anvil2 library easier than ever. If you want to change one of the core components, there is just one place to look for it. Local builds will also be faster and PR checks will run quicker. In addition, we’ve added new instructions in our CONTRIBUTING.md file specifically to help Windows users get set up with contributing to our repo. We’ve also updated our default branch name to main for better inclusivity.

Docs site updates on the horizon

Not only are we improving the ability to contribute to our repo, coming up in Q4, we’re excited for some big changes coming to our documentation as well. As more of our developers adopt LLM-based tooling, we’re working on optimizing our documentation to make it much easier to be read by machines as well as humans. Please look forward to a new, improved docs site in the coming months!
Last modified on March 6, 2026