Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FLI-809] Proposal: VSCode Extension #2722

Open
1 task done
markphelps opened this issue Jan 30, 2024 · 0 comments
Open
1 task done

[FLI-809] Proposal: VSCode Extension #2722

markphelps opened this issue Jan 30, 2024 · 0 comments
Labels
dx Developer experience enhancement Created by Linear-GitHub Sync proposal Just putting it out there xl As big as it gets

Comments

@markphelps
Copy link
Collaborator

markphelps commented Jan 30, 2024

Problem

Often times its difficult to find feature flags in your codebase and know their status during development.

Ex:

  • It requires back and forth copy/pasting of flagKeys/namespaces from your feature flag tool (Flipt) to your code when adding new flags to code
  • If adding key in code first, you have to then ensure flag is setup in Flipt

See relevant comment in Discord: https://discord.com/channels/960634591000014878/1200571485228646400/1200592311999016970

The problem is, in code base i have to add the flag key myself (statically defined in the code) which is annoying me somehow
So, i was thinking if there is anyway to automatically let the code grab the flag key from Flipt related to the new feature
currently, let's assume i'll define a Boolean flag with key X
will send a rest api call from the code to evaluate that Boolean Flag, and i'll specify the flag key X to be able to evaluate it

what i want is to send the request and based on something (i don't know what would it be yet 😅) it will detect automatically the flag key related to that feature
otherwise, I would define flag key in every feature which will lead to conditional code every where :))

Ideal Solution

To solve this, I purpose that we build a VScode extension to enable:

  • autocompletion of flag keys in code
  • query flags from Flipt in window
    • copy paste flag keys from those available in Flipt
  • ability to create flags in Flipt from extension (ie you create the flag in the VScode extension window and it gets created in Flipt backend)

I think there is additional functionality we could build in the future once these base features are implemented

Ideally, this would support all of our backends (declarative and relational), perhaps only locally for declarative (ie it writes to a known features.yaml file)

Search

  • I searched for other open and closed issues before opening this

Additional Context

As stated above, we'll need to think through how this will work in the various ways that you can run Flipt:

  • locally with SQLite
  • locally over FS
  • remote with relational db backend (Postgres, MySQL, etc)
  • remote with declarative backend (Git, OCI, Object Store)

Perhaps not all will be supported out of the gate. But wanted to get the conversation going.

We'll also need to think of how this will work with namespaces, since they are the main top level grouping for a set of flags.
Perhaps the developer will need to select a namespace in the VSCode extension window to see which flags are available?

Example mockup, showing status of flag:

CleanShot 2024-01-30 at 09 48 31

From SyncLinear.com | FLI-809

@markphelps markphelps added the enhancement Created by Linear-GitHub Sync label Jan 30, 2024
@markphelps markphelps changed the title Proposal: VSCode Extension [FLI-809] Proposal: VSCode Extension Jan 30, 2024
@markphelps markphelps added dx Developer experience proposal Just putting it out there xl As big as it gets labels Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dx Developer experience enhancement Created by Linear-GitHub Sync proposal Just putting it out there xl As big as it gets
Projects
Status: No status
Development

No branches or pull requests

1 participant