---
tags: v3, dev ops
---
# Broader DevOps Strategy
- Worked through the external starters
- Our initial approach with externals worked -- we'll do this combined with the changes to the plugin
- Discussed the SVG issue that Rowdy is tackling
## High-Level DevOps Discussion
- Important to be able to build things in ways that we're able to fix them ourselves
- Goal is to avoid having single points of failure -- we'd want to ideally have 2 folks who understand the build steps
- nx's `project.json` files are more complex versions of `package.json` files that allow for us to include additinal JavaScript pieces
- Start looking at how the plugins work to get a better understanding of the build steps and the underlying structures
- Don't necessarily need the knowledge up front, but this is helpful when debugging the issues
- Can look at the nx dev kit -- this provides tools that should be considered when building plugins
### Knowledge Areas
- Build system
- nx
- Plugin ecosystem
- Vite knowledge (or whatever bundler we're relying on)
### Structure
- Does it make more sense to have a few folks who have an `ops` tag instead of a single person?
- Aim for a few folks with an understanding who are able to troubleshoot -- consider pairing this with the Dev Rel role
- Ops work impacts people who consume our packages so will need to be working together
- We'll have a lot of gains from folks understanding how these processes work -- there will always be issues with any bundler we use, but having folks who are able to debug this is helpful
- How are we able to better pinpoint issues within our libraries?
- Errors aren't always surfaced well -- often a blackbox of errors
- Should we add the external packages into our build step?
- How would we trigger a build an app via GitHub Actions?
- Similar to testing the plugins:
- e2e testing on the build actions via Jest
- Potentially create an example app within the nx repo that doesn't use the nx package resolution
- Example app that references the dist
- Create examples folder within the monorepo
## Next Steps
- Concrete steps to resolve our current build issues
- Establish a "first aid team" that is able to respond to issues
- Would likely require a certain committment allocation to have 1) coverage, and 2) make sure that folks aren't overloaded
- Determine a priority tier system
- Focus on vite starter with use cases instead of supporting everything out of the box
- Be more opinionated and focus on how our toolbox can be used to support them and then expand as we have folks requesting new things (such as Next)
- Our infrastructure works (vite + Skynet for example) so we'd be able to focus on specific use cases and how our toolbox can solve them
- Research other options outside of Skynet