Every DevOps practitioner curates a personalized toolchain that maximizes their productivity. At the heart of this toolchain is their local editor—a workspace tailored to their unique preferences and workflow. It’s where they feel most comfortable and capable. With this in mind, System Initiative is introducing seamless integration between asset authoring and your preferred integrated development environment (IDE), empowering you to work more efficiently within your trusted setup. This post will fill you in on the details, and you can always watch the readout of the opportunity on YouTube.
If this is your first exposure to how we communicate about the ongoing development of System Initiative, welcome! On our docs site, you can learn more about what opportunities are and how we work on System Initiative. You will also find our vocabulary page useful.
Working efficiently with Infrastructure as Code (IaC) demands seamless integration with local development environments. Writing and maintaining IaC involves complex configurations, syntax-specific nuances, and frequent iteration. Editor integration is critical to this workflow, offering features like syntax highlighting, autocompletion, linting, and real-time validation directly within the tools developers already use. This not only enhances productivity but also reduces the risk of errors, ensuring infrastructure definitions are both accurate and consistent.
These practices are deeply ingrained in how practitioners work today. One of the most frequent questions we hear from our users is: “Can I author assets in System Initiative using my local development tooling?” This question reflects the reality of modern workflows, where your editor or IDE isn’t just another tool—it’s the command center of your day-to-day operations. By integrating asset authoring directly into your editor of choice, we’re bridging the gap between DevOps workflows and the tools you already know and trust.
Our integration takes a bold and innovative approach by leveraging a FUSE-based file system to connect your local development environment with System Initiative seamlessly. By mounting a System Initiative workspace directly, users can interact with it using familiar Unix-style calls. This approach ensures that asset authoring and management feel like a natural extension of your existing tools, eliminating friction and empowering you to focus on building and deploying with confidence. It’s not just integration—it’s a reimagining of how DevOps tools fit into your daily workflow.
This integration offers more than just convenience—it transforms your workflow in several key ways:
In this first iteration, we’re focusing exclusively on the authoring experience for System Initiative. By prioritizing this critical aspect, we aim to deliver a seamless and intuitive workflow, empowering users to create and manage assets easily and precisely. This targeted approach lays the foundation for deeper integrations while ensuring immediate value for developers and practitioners alike.
Our implementation plan is as follows:
mkdir
, but no deletion or merge will be supported at this timemkdir
as part of the empty tree structuremkdir
commandThe final file system layout isn’t complete at this time, but we believe that it will follow this structure:
.
├── HEAD
│ └── assets
│ └── AWS EC2 Instance
│ └── locked
│ ├── actions
│ │ ├── si:awsEc2CreateAction
│ │ │ └── locked
│ │ │ ├── main-attrs.json
│ │ │ └── main.ts
│ │ ├── si:awsEc2DeleteAction
│ │ │ └── locked
│ │ │ ├── main-attrs.json
│ │ │ └── main.ts
│ │ └── si:awsEc2RefreshAction
│ │ └── locked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── attribute
│ │ └── si:resourcePayloadToValue
│ │ └── locked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── codegen
│ │ └── si:generateAwsEc2JSON
│ │ └── locked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── management
│ ├── qualifications
│ │ └── si:qualificationEc2CanRun
│ │ ├── locked
│ │ │ ├── main-attrs.json
│ │ │ └── main.ts
│ │ └── unlocked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── schema-attrs.json
│ ├── schema-metadata.json
│ └── schema.ts
└── changeset 1
└── assets
├── AWS
├── AWS EC2 Instance
│ └── locked
│ ├── actions
│ │ ├── si:awsEc2CreateAction
│ │ │ └── locked
│ │ │ ├── main-attrs.json
│ │ │ └── main.ts
│ │ ├── si:awsEc2DeleteAction
│ │ │ └── locked
│ │ │ ├── main-attrs.json
│ │ │ └── main.ts
│ │ └── si:awsEc2RefreshAction
│ │ └── locked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── attribute
│ │ └── si:resourcePayloadToValue
│ │ └── locked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── codegen
│ │ └── si:generateAwsEc2JSON
│ │ └── locked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── management
│ ├── qualifications
│ │ └── si:qualificationEc2CanRun
│ │ ├── locked
│ │ │ ├── main-attrs.json
│ │ │ └── main.ts
│ │ └── unlocked
│ │ ├── main-attrs.json
│ │ └── main.ts
│ ├── schema-attrs.json
│ ├── schema-metadata.json
│ └── schema.ts
├── ECS
├── Service
├── VPC
└── my-asset
This opportunity has a budget of four weeks, ending January 31th, 2025. You can follow along with our progress by watching our weekly demos, posted every Monday on Discord, YouTube, and our Changelog. You can always find this, and every other active opportunity, in our Road map.
Paul is an engineer turned product manager who is passionate about the Continuous Delivery and DevOps movements and how they are critical in helping businesses deliver value to their customers.