DevStack
Transform your VSCode into a productivity powerhouse. DevStack consolidates 81+ essential development tools into one seamless extension, delivering everything you need without the bloat.
Core Features
Virtual File System & Navigation
- ✓Unlimited quick access - Pin any number of files, folders, URLs, and commands
- ✓Smart organization - Custom folders, subfolders, and batch operations
- ✓Instant access - One-click navigation to your most-used resources
Workflow Automation
- ✓Chain Execution - Sequence commands for complex workflows (git add → commit → push)
- ✓Smart Formatters - Live preview code formatting with detailed explanations
- ✓Batch Operations - Rename multiple files, remove unused imports, clean up code
- ✓Instant access - One-click navigation to your most-used resources
Development Tools
- ✓Snippet Manager - Create, edit, and organize code snippets with live preview
- ✓Theme Builder - Real-time theme customization with granular controls
- ✓Command Palette Pro - Quick access to VSCode commands with search
- ✓Markdown Editor - Built-in renderer with comprehensive cheat sheet
Project Management
- ✓Remix Integration - Route management, testing, and conventions
- ✓ShadCN Components - One-click component installation
- ✓GitHub Sync - Automated version control workflows
- ✓Extension Management - Development lifecycle automation
Productivity Enhancers
- ✓Clipboard History - Access your last 20 clipboard items
- ✓Bookmarks - Quick line-specific bookmarks
- ✓Unused Code Finder - Identify and clean up unused functions
- ✓Search Enhancement - Advanced project-wide search capabilities
Productivity Enhancers
- ✓Clipboard History - Access your last 20 clipboard items
- ✓Bookmarks - Quick line-specific bookmarks
- ✓Unused Code Finder - Identify and clean up unused functions
- ✓ Search Enhancement - Advanced project-wide search capabilities
🎯 Why DevStack?
- ✓Replaces 50+ extensions - Everything you need in one package
- ✓Zero performance impact - Lightweight with no background processes
- ✓Project-agnostic - Global and workspace-specific configurations
- ✓Constantly evolving - Regular updates with new features
🔧 Perfect For
- ✓Full-stack developers managing complex projects
- ✓Teams sharing consistent development environments
- ✓Productivity enthusiasts who want streamlined workflows
- ✓Extension minimalists seeking comprehensive functionality
File Configurations
- ✓Examples can be found in the configation section near the end of the readme
Overview
Virtual Filing System
A comprehensive organization system that removes the need for multiple extensions while providing efficiency in whatever context you're coding.
A virtual filling system that is displayed in a explorer pane where you can virtually add anything you want including but not limited to:
- ✓file
- ✓folder
- ✓URL
- ✓VSCode Command
- ✓PowerShell Command
- ✓Bash Command
- ✓Markdown (.md)
- ✓Snippet
- ✓Chain Commands
- ✓Concurrent commands

Files
- ✓Quick access to your most-used files.
- ✓Add files to custom folders and subfolders.
- ✓Edit display labels for files.
- ✓Remove files from the navigation pane.
- ✓Copy file paths with a single click.
- ✓Reveal files in your system’s file explorer.
- ✓Add multiple files to the quick access pane at once.
Folders
- ✓Create new categories.
- ✓Rename existing categories.
- ✓Reorder categories (move up or down).
- ✓Delete categories when no longer needed.
- ✓Use subfolders for better organization.
- ✓Right-click and drag to move items.
- ✓Move items up or down one position.
- ✓Edit labels of both global and workspace folders.
- ✓NEW — Create or delete global or workspace folders.
- ✓Toggle global state; this is optional for each config object.
URLs & Commands
- ✓Access URLs directly from the navigation panel.
- ✓Integration with VSCode commands.
- ✓Support for PowerShell commands.
- ✓Execution of Bash commands.
- ✓Open applications via terminal commands.
- ✓Manage Markdown files.
- ✓Organize code snippets.
Features
- ✓Despite it looking complex a simple and effective UI that keeps you away from the config file
- ✓- Easily create, edit, and move folders and their items
- ✓- For creating chains, the command input and title are displayed at the top, along with a folder selector showing your config folders to choose the chain command’s location. Other parent chain command fields are locked.
- ✓Below that is a form to add new commands with label, path (command), and type. Adding commands updates the parent chain automatically.
- ✓Commands are listed below for review.
- ✓A 'Continue' button appears at the bottom right when ready.
- ✓The next screen locks all fields except the execution list, allowing you to reorder commands as needed. Upon completion, the chain and parent commands are saved, hiding child commands to avoid UI clutter.
- ✓- Eliminates the need to manually edit the config for these tasks.
- ✓- In short, anything that can be done (or previously limited due to complexity or VSCode interface constraints) will now be available for execution through this UI.
Itemized list of features that can be found on the UI
- Sidebar Navigation and Command/Task Execution:
- - The sidebar contains three menus to choose from:
- - Navigation — browse pages within the new UI.
- - DevStack Commands — mirrors the VSCode UI; clicking a command runs it in your active workspace.
- DevStack:
- - Create, edit, and delete commands and items easily.
- - Create chain commands without opening the config file.
- ---
- Markdown Editor:
- - The old Markdown editor is still available if you prefer it.
- - New rich-text editor saves files to your global user folder, accessible across projects.
- - Sidebar includes:
- - Cheat Sheet — click any item to copy its formatting to your clipboard.
- - Outline — creates bookmarks for each heading for quick navigation.
- - Files — a UI file explorer for your Markdown files.
- - Renderer — toggle the live preview on or off.
- - Choose between inline or split preview modes.
- ---
- Color Wheel:
- - Full color palette.
- - Handy small features that enhance working with colors.
- ---
- Lucide Icons:
- - Clicking copies the React component to the clipboard.
- - Improved search with broader parameters across icon libraries.
- - Unified search results regardless of icon library naming differences.
- - Not fully complete across all libraries yet, but the goal is full coverage.
- ---
- VSCode Commands Reference:
- - Includes about 450 of the most commonly used VSCode commands (out of ~3500 total).
- - Searchable with dropdowns to browse by category.
- - Fuse.js enabled for fuzzy searching.
- ---
- Markdown Reference:
- - Includes all GitHub-flavored Markdown formatting supported by the GitHub renderer.
- ---
- Theme Builder:
- - Fully operational with default, manual, and custom options.
- - UI updates live as you adjust colors.
- - Extended features to:
- - Copy Tailwind config for use in any project.
- - Copy VSCode theme config to clipboard.
- - Save VSCode theme to your workspace’s `.vscode/settings.json`
- - Save VSCode theme globally, without overwriting local workspace themes.
- - Overall, the theme builder turned out better than expected, making theme configurations and saving very easy while taking up no where near as much time to build
- ---
- Formatter:
- - Live preview updates instantly as you change any formatting option.
- - Viewer is sticky, so you can scroll through options without losing sight of changes.
- - 33 of 72 planned formatters included so far.
- - Working towards full coverage to avoid needing external extensions or leaving files unformatted.
- ---
- Default Apps / Functions:
- - Allows detailed explanations of each item beyond what’s in extension settings.
- - Helps you understand what each toggle or setting does before changing it.
- ---
- Add Missing Imports Configurator:
- - Comes preconfigured with many popular libraries but you can add your own.
- - Included libraries:
- - lucide
- - shadCN components
- - remix-run/node
- - remix-run/react
- - remix-utils
- - react
- - MSAL React
- - Microsoft Graph Client
- - TanStack React Table
- - TanStack Match Sorter Utils
- - date-fns
- - fuse.js
- - papaparse
- - resend
- - stripe
- - crypto
- - @twilio/conversations
- - sonner
- - react-signature-canvas
- - @react-pdf/renderer
- - pdf-lib
- - lodash, acious, clsx, dayjs, prisma, vscode, fs, path
- ---
- Create Monorepo:
- - Sets up a monorepo project with shadcn components and STR installed.
- Create Single App:
- - Creates a project using `npx create-react-router@latest`, then sets up and configures STR for single-app use.
- Convert To Monorepo:
- - Converts a single app into a monorepo, installing shadcn components and STR.
- Build and Deploy Project:
- - TurboRepo-like experience with a UI instead of CLI/config files.
- - Preconfigured build options: quick deploy, standard build, production ready, full pipeline, and custom builds.
- - On load, updates project data before sending to configurator for up-to-date info.
- - Scans for current projects in the app folder.
- - Checks compatibility to prevent combining incompatible apps.
- STR - Init:
- - Creates STR config file in the current project.
- STR - Setup & Configure:
- - Sets up STR, choosing between monorepo or single app configuration.
- STR - Update Prisma Scripts:
- - Adds necessary Prisma scripts to `package.json` for build and deploy functionality.
- - See task runner section for more details.
- And for anyone worried about performance: I currently have 15 tabs open, music playing, 3 workspaces open, 2 dev servers running, SQL databases active, Riot client open, sometimes gaming—all without issues or needing to close anything.
NOTE
A VSCode workspace is required in order to interact with most of the web ui, any function that needs data from vscode / config file data, will not work if it doesn't have access to a workspace.
Pages like lucide icons, color wheel, md reference sheet, vscode cmds reference, exmaple configs and the theme builder will still work if no workspace is open
Filing system is virtual; when a file is created, moved, or edited within the extension, the original file (if any) remains unchanged. The configuration is stored in a JSON file that tracks the 'filing system'.
Folders support only two levels of depth. Going deeper was deemed unnecessary and defeats the purpose. However, hidden items can be toggled visible or hidden, allowing a practical depth of three levels.
Markdown files are created inside the `.vscode` folder for storage and can be organized freely within the navigator for access.
Usage - VSCode UI
Video of UI dashboard will be placed at the end of this section.
Add to CRM Navigator
- -Add the current file to the navigator via right-click in the item explorer.
- -Use the dropdown menu under the 'Add Items' submenu.
Edit Label
- -Right-click item in navigator
Remove File
- -right click item and select delete
Copy Path
- -in the vscode panel, right click the item
Reveal in Explorer
- -in the vscode panel, right click the item
Quickpic menu located on the bottom status bar on the left named DevStack
- -Auto-add, commit, and push changes.
- -Auto-upgrade patch and push the repo.
- -Push repo, upgrade patch, create/install/reveal VSIX in Windows file system, open default browser, and navigate to Microsoft’s dashboard for manual VSIX upload (for VSCode extension development). Useful for a hard VSCode reset.
- -‘Yeet!’ — loops looking for new VSIX, pushes repo, upgrades patch, creates/installs/pushes new VSIX to marketplace, then soft-resets VSCode.
- -Add chain item.
- -Add VSCode command.
- -Add Bash command.
- -Add PowerShell command.
- -Create Markdown file.
- -Create Markdown file with cheat sheet open side-by-side.
- -Add snippet.
- -Add folder.
- -Add URL.
- -Open snippet viewer.
- -Open formatters.
- -Open Markdown cheat sheet.
- -Open VSCode cheat sheet.
- -Open theme configurator.
- -Edit JSON config.
- -Share config with friends.
- -Edit default settings.
- -Refresh.
Import / Export
- -On the extensions title bar
- -Under configuration
- -There are several options to choose from when it comes to handling the config file
- -Giving you complete granular control, if you wanted it
- -Exporting the config, creates a file in the root of your workspace
Configuration Files
- -File exmaple in configuration section
- -ID file: .vscodeocrmnavigatorid.txt
- -Global config file: AppData/Roaming/Code - Insiders/User/globalStorage/skyler.ocrmnav/global-navigator-config.json
- -Workspace config file: AppData/Roaming/Code - Insiders/User/globalStorage/skyler.ocrmnav/project-configs/project-{uniqueID}.json
- -Global snippet file: AppData/Roaming/Code - Insiders/User/globalStorage/skyler.ocrmnav/ocrmnavigator.code-snippets
- -Global folders - APPS_AND_PROJS, CMDS, WEB, SNIPPETS, MD, OTHER
- -Workspace folders - PRIMARY, SECONDARY, UTILS, COMPONENTS
Commands
Empowering you with quick access commands where you can preset any flags you want, saving you from constantly referring to the documentation.
Features
- ✓for adding, editing, and managing items or commands
- ✓use the viewer’s dropdown menu or the navigation if the viewer is already open and running
- ✓in the create submenu
- ✓select any the cmd option

PowerShell and Debian Bash Commands
This feature does not use the usual bash command execution.
Features
- ✓Instead of just running a single command in the vscode folder, this opens a new terminal and executing it in the wsl debian instance
- ✓for adding, editing, and managing items or commands
- ✓use the viewer’s dropdown menu or the navigation if the viewer is already open and running
- ✓in the create submenu
- ✓select any the cmd option
- ✓Create any command with the runtime flags you need.
Commands Cheat Sheet
Features
- ✓Command reference sheet featuring 360 of the most commonly used commands.
- ✓Searchable by command or browsable by category.

Chain Execution
Chain execution lets you run VSCode commands, shell commands, PowerShell commands, and more. Makes even the most menial or complex repetitive tasks simple with one-click solutions.
Features
- ✓What if you want to chain 10–20 commands together and execute them with a single button press? Even if you want to push that to 50 commands, no problem—handle any project functionality you need. For the first time in VSCode, there’s no limit on quantity or length, so the only thing stopping you from creating powerful functionality is you.
- ✓Chain any commands listed in the config file.
- ✓Each command must have a unique name; for chained commands, use the hidden flag to keep them out of the nav.
- ✓Hidden commands let you build long sequences without cluttering your navigation.
- ✓Set command flags once and forget about them.
- ✓Control execution order to handle commands with prerequisites.
Usage
- -In the viewer’s submenu under 'Create', select 'Chain'.
- -If the viewer is already open, the navigation inside also lets you create chain commands.
- -Follow the on-screen instructions to complete the setup.


Running Commands Concurrently
Replacing STR, this gives you the ability to run commands concurrently like turbo repo or how str does, straight from devstack
Before moving str over and merging it, I did try to replicate its functionality in terms of multiple processes being piped through a single terminal, displaying all of its output when running concurrent tasks.
At the time I thought it couldn't be done from the vscode extension, after several attempts. There are ways to run tasks concurrently, very easily infact but almost all of them run them in the background with no way to add input of any kind thus not allowing you to cancel the running task/s among other things.
While I was taking a break from one of my clients projects, I started working on it again, didn't think it was gonna work but somehow I managed to get it working. I'm not going to get rid of str yet, I need to convert some more of its code before I do that... But theres no point in keeping it anymore as this was the last functionality that the extension was missing to fully replace it. So the command line aspect of str, will be fully removed. I'm probably not the only one in regards to this, when the ui was introduced I think I may have used the cli instead of the ui, once. Along with that the str ui pane, will also be removed. As there is no point to it anymore since the same functionality can be achived with the devstack pane. Since all the other functionality was already converted, it will be staying obviously, but will no longer have the STR abbreviation in its name.
Similar to chains, other than the fact instead of being called chain, its called concurrent. I also worked in the code that, concurrent can run ANY command / task available via devstack, just like chain does. So if you need to open a pdf while running a build script, so be it. Or if you want to add vs code commands to your concurrent tasks, this was something that str... could NOT do, due to only being able to run terminal commands. With running this from the extension, concurrent can now do anything that this extension has to offer.
This is a nice outcome as I find having that last bit of code from str being tacked on, adding uneeded complexity for new users.
There is one single drawback. The terminal will also display the command being executed, in terms of the text being displayed. This is something I could not find workaround on but the benefits out weigh the single drawback. Especially since that one terminal outputs so much text anyway.
With this update, I made another small change to the ui interface for creating commands. I found that, if I wanted to create another command similar to one that was already implemented, for example adding another project to a mono repo and wanted to create the same commands for the new project, I would have to open the config in order to reference them. Instead I placed a command with search capabilites on the creation screen where you can search through your commands already in the config file, thus saving you time of having to open it and dig through it.
Features
- ✓Concurrently run commands through a single terminal
- ✓Concurrent commands have one parent command, and as many child commands as you would like
- ✓Child commands can be hidden from view in ui with the the hidden: true flag
- ✓No limit on the amount of commands able to be executed
- ✓No limit on what type of commands you would like to run, for example:
- ✓- you can open files
- ✓- open urls
- ✓- run vs code commands
- ✓- can execute chain commands, weird I know but hear me out. If you wanted to run a set of commands that needed to be ran sequentially instead of concurrently, during your concurrent command execution... now you can
- ✓- bash commands
- ✓So just like the chain command you have access to run anything you want
- ✓Below you will find an example config, just in case the ui for creating them isnt working
- ✓Personally, I'm happy how this turned out because it not only opens up what you can do with a concurrent command, but also gives greater control than what was possible with str.
- ✓I will come back to work on this last item, but if you want to add a chain to a concurrent command, you will have to edit the config file, any other type can be done through the ui. It will take me more than a min to code, because I would like it so that when you click on the chain command in the list, its commands will display to the right of it, so you can adjust the order in which they are executed along with adding commands to that chain command. Given the posibility of multiple chains within the same concurrent command, I know it will take me a while to complete.
- ✓If you want to continue running the old set up, just download a previous version, 2.0.128 for example should be a stable version with no issues
[
{
"label": "dev:all",
"path": "devApp, devCalc",
"type": "concurrent"
},
{
"label": "devApp",
"path": "cd apps/app && pnpm run dev",
"type": "powershellCommand",
"hidden": true
},
{
"label": "devCalc",
"path": "cd apps/calc && pnpm run dev",
"type": "powershellCommand",
"hidden": true
},
{
"label": "clean:all",
"path": "cleanApp, cleanProd, cleanCalc, cleanRoot",
"type": "concurrent"
},
{
"label": "cleanApp",
"path": "cd apps/app && foreach ($path in @('.cache', 'build', 'node_modules', 'pnpm-lock.yaml', 'public\\build' )) { if (Test-Path $path) { Remove-Item -Path $path -Recurse -Force -ErrorAction SilentlyContinue } }",
"type": "powershellCommand",
"hidden": true
},
{
"label": "cleanProd",
"path": "cd apps/prod && foreach ($path in @('.cache', 'build', 'node_modules', 'pnpm-lock.yaml', 'public\\build' )) { if (Test-Path $path) { Remove-Item -Path $path -Recurse -Force -ErrorAction SilentlyContinue } }",
"type": "powershellCommand",
"hidden": true
},
{
"label": "i:all",
"path": "iapp, iProd, iRoot, iCalc",
"type": "concurrent"
},
{
"label": "iRoot",
"path": "pnpm i --prefer-offline --no-cache",
"type": "powershellCommand",
"hidden": true
},
{
"label": "iapp",
"path": "cd apps/app && pnpm install --ignore-workspace && cd ../..",
"type": "powershellCommand",
"hidden": true
},
{
"label": "iProd",
"path": "cd apps/prod && pnpm install --ignore-workspace && cd ../..",
"type": "powershellCommand",
"hidden": true
},
{
"label": "iCalc",
"path": "cd apps/calc && pnpm install --ignore-workspace && cd ../..",
"type": "powershellCommand",
"hidden": true
}
]NOTE
- tested thoroughly and works, I dont remember if I have a section yet for this, but leaving this here as a reminder to check when I have time to go over how the dash works on creating them
- the accidental addition of chained command execution works well, I have not had one single issue with a command since this was added
Project Agnostic Configuration
Features
- ✓On workspace switch, creates a new workspace-specific config file and merges it with your global config to form a virtual filing system displayed in the navigator.
- ✓Both global and workspace items can be configured individually within their respective files.
- ✓The snippets file is saved globally when using the extension’s snippet editor.
- ✓Notes, reminders, todos, and their settings are now global.
- ✓The export/import feature simplifies manual config file editing.
- ✓Incoming updates in progress:
- ✓- Ability to toggle global access for folders and their contents.
- ✓- Edit labels of default folders.
MD Section
MD Editor
Features
- ✓A rich text Markdown editor that saves to your global user folder, giving you access to your .md files across all projects.
- ✓Sidebar includes:
- ✓Cheat Sheet — click any item to copy its formatting snippet directly to your clipboard.
- ✓Outline — automatically creates bookmarks for each heading to help you navigate your document.
- ✓Files — a UI file explorer to view and open any of your saved Markdown files.
- ✓Renderer — toggle on or off to see your content rendered in real time.
- ✓Choose between inline rendering or split view.
- ✓Focus mode for distraction-free writing.
- ✓Switch between split and inline modes seamlessly without losing your Markdown formatting.
- ✓Export your .md file and save it wherever you like.
- ✓Also supports opening any external .md file outside of the global config directory.
- ✓Added localstorage w/ debounced saves, so incase of a accidental page reload or a lapse in connection, or even just forget to save, whatever you were working on will still be there


Features
- ✓A second, technically third, editor has been added for users to use
- ✓While there is nothing wrong with the other editor, I just wanted to try a new library out to see its features
- ✓Once it receives the added features the other has, it will be more feature rich than the one previously mentioned
- ✓Using monaco some of the features that are avialable that are not in the other editor are:
- ✓- tabs, with auto save per tab so if your page reloads, all of your data will still be there. Even after multiple days
- ✓- languages, this can also be set per tab
- ✓- renaming tabs
- ✓- full screen display
- ✓- scroll map
- ✓- honestly, there is literally a ton more and to much to list here
- ✓Soon this editor will also receive the sidebar cheatsheet, and readme creator
MD Cheat Sheet
Features
- ✓Comprehensive Markdown cheat sheet accessible anytime without leaving VS Code, separate from the editor
- ✓Includes 100% of GitHub-flavored Markdown formatting examples.
- ✓A sidebar cheat sheet has also been added to the new md editor
Readme Generator
Features
- ✓located in the md editor in the new ui
- ✓In the side bar click any of the section you want to add to the readme and just paste anywhere you want them to go, starting you off perfectly for that section
- ✓a ton of pre build readmes to follow their theme or to get ideas from


Render MD
MD Viewer Renderer
- ✓The original Markdown viewer functionality was inadvertently removed during the extension's upgrade to the UI dashboard. This feature has been restored and significantly enhanced with improved rendering capabilities and expanded functionality.
- ✓- Access Instructions
- ✓ - To view the current Markdown file in the enhanced renderer:
- ✓ - Access **Editor Context**
- ✓ - Navigate to **DevStack** submenu
- ✓ - Select **Render MD**
- ✓- Enhanced Rendering Engine
- ✓ - Rather than utilizing the standard rendering engine employed by most extensions, this implementation opens Markdown files directly in the browser with full rendering capabilities. This approach provides several advantages over traditional preview methods.
- ✓- Current Functionality
- ✓ - The browser-based renderer includes the following features:
- ✓ - **Export Options**: Multiple export formats available for processed content
- ✓ - **Copy Content**: One-click content copying with formatting preservation
- ✓ - **Full Screen Mode**: Distraction-free reading experience with maximized viewport
- ✓ - **Native Browser Performance**: Leverages browser's optimized rendering engine for smooth scrolling and interaction
- ✓- Future Development
- ✓ - Additional functionality expansion is planned based on practical usage patterns and user feedback. The browser-based approach provides a flexible foundation for implementing advanced features that would be difficult or impossible with traditional preview methods.