As an engineer I would like to improve the quality of the tooling for working locally and when in a codespace.
This issue can serve as a mini epic to catalog ideas and split off into other issues around building tooling to help us prototype faster.
Im using the working title of VADX for developer experience oriented tools
Background
There are tons of ways that a series of tools could help developers at the VA
Areas to explore:
Platform utilities
mock auth / auth state hooks to set up an app to think it is impersonated
context provider for VA. Get form config, route info, and other application context in one place
Hooks. Lots of application logic is reinvented across apps. Common hooks should be provided to ensure that applications access things in a consistent manner.
redux toolkit integration
redux toolkit query tools to consistently access api data
profile and common data access. Reusable hooks / components for core pieces of profile data (phone, email, address, disability rating, etc)
expand data access to other common uses? benefits status, form status, other reused pieces of data that have been duplicated throughout applications
Mock server
Standardizing a happy path to various endpoint responses
Standardizing error responses and providing expanded error responses for common errors
Improving in memory database MVP. Allow updating other pieces of data? Save in progress?
Self documenting mock server. List active routes and their responses within an introspection endpoint
VADX panel
Feature toggle manager
Links to common developer docs
Form links in panel instead of above form
Axe scanning / reporting
Form prefill tools, allow prefill to be mocked or put into the form at any point
Form config inspector. See basic structure of current config and know when a page updates the schema or uiSchema dynamically.
DX route / app
full react app that lives at a specific global route in staging or just local like /vadx
ability to start the dev server, mock server, run different apps in watch mode, different mock server files, manipulate mock server responses, monitor servers
server sent events will provide realtime STDOUT of processes. No more random timeouts on dev server or having to repeatedly ctrl-c out of the dev server to get it to quit. One command starts both tools
Notifications on the FE if a process crashes
memory and cpu monitoring?
open mock server in VSCode / other editors?
Coding and IDE helpers
VSCode and other ide extensions to aid in CSS class completion, component library usage, and other common tasks for building UI
integration into FE VADX tools to monitor your dev and mock server from the editor as well
snippet collection
LLM trained on the va.gov-team repo
feed all issues, documents, and other content from this repo into a model, and allow a user to ask questions about research, design, dev and more.
ACs
[ ] More tasks have been created to flesh out MVPs of these ideas (whichever are worth exploring)
Review needed by
[ ] VA Product Owner
[ ] Product Manager
[ ] UX Research Team
[ ] Engineering Team
Definition of Done
[ ] Documentation has been updated, if applicable.
User Story
As an engineer I would like to improve the quality of the tooling for working locally and when in a codespace. This issue can serve as a mini epic to catalog ideas and split off into other issues around building tooling to help us prototype faster.
Im using the working title of VADX for developer experience oriented tools
Background
There are tons of ways that a series of tools could help developers at the VA
Areas to explore:
Platform utilities
Mock server
VADX panel
DX route / app
/vadx
Coding and IDE helpers
LLM trained on the va.gov-team repo
ACs
Review needed by
Definition of Done