Yaak Logo
Yaak
Feedback/Local Directory Sync

Local Directory Sync

Gregory Schier·3 years ago
ReleasedFeature Request

Add the ability to sync a workspace to a local directory, for use with local Git and other tools like Dropbox.


Comments (32)

Sign in to leave a comment.

Gregory SchierOP

Waiting to see the demand for this (and the app in general) so please upvote if you want it 🙏

Kaue Machado

I second this!

This is specially useful for me as a frontend developer to have a documentation of the backend API's.

Right now we're using Bruno (https://www.usebruno.com/). With our workflow, the backend developers develop the endpoints and generate "bruno collections" which are synchronized with the Bruno App.

The frontend developers then just need to "git pull" from the backend repo, and the Bruno app automatically reflects the updated api documentation.

Would love for Yaak to get to this point so we can migrate. Yaak honestly seems much better (definitely much better looking).

Anyways, thanks for the great job Gregory Schier

Ahmed Ifhaam

Honestly, just the most basic possible way of data syncing at first would be nice, so there is some functionality to it, later on can add more methods of syncing if needed. I believe being able to connect to a remote git repository the user provides would be a free & good start.

Another thing is, allowing users to change the data directory would be nice too, so users that use file sync, can automatically sync data perhaps? but this would require some sort of resilience on the app side, perhaps a simple window refresh button?

I don't think it need to get complicated, managing a local git repo to sync I would be a bad idea too IMHO, at least exposing it for the user would be, it should be much more streamlined and simpler to use.

Main use case for this would be, individual users, who uses multiple devices to have the same experience on different machines, having the git sync feature would also allow teams, like the scenario Kaue Machado described but that scenario seems like a one directional sync.

Anyway, I'd love to discuss on this more and hopefully see this soon, if I perhaps missed something close to this capability already existing in the app, I apologize and please let me know.

PurplProto

Ability to sync my request collections with my team is something I've been having much trouble finding a solution for.

I think even something simple like a collection level setting that allows you to specify where to store the collection on the file system + a file watcher would be a perfect start. We're developers ourselves after all, the majority of us will already have Git installed. But even for the non-developers, just being able to store the collection where you want on the file system is already a powerful option, this opens up syncing with personal favourite cloud providers like OneDrive, GDrive, DropBox etc…

Ultimately my goal is just to be able to synchronize my collections with other team members though and I can't think of a better way than the very repository the collection/s are for.

P.S I know this isn't an app written in JS/TS, but please, please I really wouldn't like an Isomorphic-Git lib being used under the hood 😅. It's a painful inclusion in Insomnia/Insomnium and I'm not sure why it's so painfully slow, but waiting many minutes before I can even write a commit message is such a time waster 😭.

Kaue Machado

PurplProto you can use Bruno (https://www.usebruno.com/) it works really nicely!

I really wish Yaak would implement this, it's the only thing preventing me from using it with my team.

Kaue Machado

Wondering if this is ever coming?

It's one of the oldest and top requested features and yet its not being prioritized :(

It's the only featured preventing me from using Yaak with my team and I'm sure it's also a blocker for any team with more than 1 person.

Kaue Machado

BTW, for inspiration on how this could work, there's Bruno which implements git synchronization beautifully:

https://www.usebruno.com/

Bruno is what we're currently using with our team but Bruno is pretty "raw. Yaak is much nicer and I'd love to use it instead.

Gregory SchierOP

Kaue Machado: This is definitely coming. Have patience 🤗

Gregory SchierOP
Bernhard Koenig

Using git (like Bruno) would definitely be the best solution here. It allows to stay completely local yet versioned if desired, but you can sync to a server or even the “cloud” if you want to for easy sharing across distributed teams.

Looking forward for this, think it’s the only relevant gap right now to be a Postman/Insomnia/etc replacement for teams.

Sasivarnan R

➕1️⃣ for file-based sync like Bruno.

It also enables developers to maintain request and responses of an API as part of the codebase itself.

Tools like Obsidian have also adapted this model.

Refer File over app

Gregory SchierOP

Obsidian offers both local files and cloud sync. This is the plan for Yaak as well 👍🏼

Gregory SchierOP

I’m now working on this project full-time so I’ll be sharing some thoughts here. This is meant to be an RFC, so let me know what you think!

There are two separate-but-related things being talked about here:

- Directory sync (represent Yaak workspaces on the filesystem, to integrate with Git/Dropbox/etc)
- Cloud sync (collaborate easily with your team in a Git-like workflow) (paid)

## Directory Sync

I’m currently thinking of making this an extension of the import/export mechanism. Essentially, you will be able to enable Auto-Import and/or Auto-Export for a workspace. To make this integrate more easily with Git, I’m planning to add a new “directory” import/export format that stores each entity in a separate JSON file. This should satisfy the users who love how Bruno works.

Building this on top of import/export means you’d also be able to watch a non-Yaak data file (Postman, Insomnia, OpenAPI, curl, etc) and be notified whenever it changes—useful if you’re team is using another tool.

## Cloud Sync

I strongly believe that the offline features of Yaak should always be free, but there needs to be a business model to fund it. OSS donations don’t work, so Cloud Sync will be paid subscription.

Sync will mimic a Git-like workflow (branches, commits, push, pull) but will have some additional niceties like end-to-end encryption, better access controls, and other things.

This will also benefit free (non-cloud) users as well since, like Git, it will work without a remote. This means you’ll have access to branching, commits, history, and all that good stuff without having to pay a dime.

..

So those are my very rough thoughts so far. Hopefully it satisfies the following needs:

- Bruno (and other) users who just want to sync with a local Git repo
- Larger teams and orgs who want a more seamless sync experience

Please let me know if you disagree with any of this, or have questions or comments.

PurplProto

This sounds great!

Directory sync is really one of the features that keep me from using Yaak full-time. I’m hoping that on import it would also know this was a synced directory and continue to sync changes to it automatically for a #SeemlessExpirence 😄.

Cloud sync being a paid feature makes sense, hosting is never free and feels like a good opportunity for the project to generate some revenue, which I hope it does.

Thank you for your hard work Greg!

john

Great

I can't wait to start using this feature.

Guido Gloor Modjib

Yep, sounds amazing. As long as the app never wants to connect anywhere unless I ask it to, this is perfect.

If cloud sync is set up and a connection is not available despite the computer being online, Insomnia right now blocks the entire UI (and I can’t disable the cloud sync). Please don’t make that mistake, I’m raging inside whenever it happens 😅

Gregory SchierOP

Hahaha. Well, considering that I also made insomnia (sold it in 2019), this is the last thing I would do

Bubble

Is there an expected release date?

Gregory SchierOP

No, but it’s under active development https://github.com/yaakapp/app/pull/116

I would guess early next year

Mickael

Great stuff !

Can you already tell us if there are plans to add other paid features more towards enterprise (please don’t join the SSO wall of shame :)). I’m thinking team management, maybe hosted mocks, stuff like that. If so, will it be part of the feedback system ?

Also, I would love to have some way to support beside a subscription, like sending one-time donations.

Gregory SchierOP

Since teams will likely be 90% of revenue, there are definitely plans to add features to support them, like SSO and team management. Let me know if you have any more needs in this area as well.

I’m currently avoiding non-core-http-client things like mocking/testing/etc for now to ensure Yaak remains simple and easy to use, but I have been thinking of ways to do this in the future. Perhaps through plugins that can be enabled/disabled based on user preference.

For feedback RE team/sync stuff, yes please just make new requests here. I may eventually create a new board for team stuff if it gets to be too much.

For sponsorship, there’s no official way but a couple people have sponsored my personal GitHub account: https://github.com/sponsors/gschier

Mickael

Thank you for the response !

If I take my team’s current needs, we work on a few APIs and we are trying to move people from Postman (historical tool) but one of our main need is indeed the sharing part. For now we are looking for something like the basic sync Git, but I can see us moving to a SaaS that we trust if it has the following :

  • SSO, and maybe some kind of sync with Entra ID (might be a bit complex for a small shop)

  • Team management with some kind of way to say certain teams have access to certain environments or not

  • Something that does not exist currently in any tool as far as I know : ability to pull environment values from a vault (azure key vault etc.)

  • Revisions or some kind of nice git diff-like UI for the requests

  • And yes, batch running with a report (and history of reports). But I can totally see (and personally agree) that the core http stuff should be mature first

  • Another thing we tend to miss in our workflow is the ability to sync the requests with the swagger. Like if the swagger changes, we don’t want to import it again completely. Not sure what exists or not, we did not dive in this issue.

  • Finally great docs. I know Yaak is still young but I think if a company goes with the paid subscription they expect really good documentation and support

Of course this is a list of a lot of stuff, I am just providing some feedback in the hope it helps you, not asking for anything :)

Scott R. Frost

I had been using HTTPie desktop, but they seem to have abandoned it, and I came across this app when looking for an alternative. Sync via Git (not hidden behind a paywall) is a requirement. I can’t wait to see this come to Yaak!

Jason Trill

very much looking forward to the directory sync to pull workspaces into project repos :)

Gregory SchierOP

As stated in the pricing change blog post, I’ve decided to ditch cloud sync in favor of local FS and Git integration so I’ve updated this issue to reflect that. Thanks for the feedback!

Mickael

Hello,

I just want to say I had missed the blog post and this is really great news for users, this is a very balanced model I think. Congrats again for all the work and transparency you show, it is very inspiring.

Still, I wonder if you considered one-time licenses (per major version for example) ?

It's mostly curiosity ; personally I am a freelancer so I am not a company of two or more people, but I still would get one. But the subscription honestly, I have already too many of them. But I understand the value it has for a steady revenue of support.

Gregory SchierOP

I did consider one-time licenses but I don’t see much in Yaak’s future that would dictate a “major version” and didn’t like the idea of arbitrarily holding features back features for large releases.

The current subscription model offers a perpetual fallback license, which is quite similar. If you subscribe for over 12 months, you can stay on the version you’re using forever. Then, if you decide you want updates again, simply re-subscribe.

Mickael

Ah yes indeed I did not know about the fallback version. This is how Jetbrains does I think, which is indeed basically the same as a “version” license while not worrying about holding features. Thank you for the answer !

Gregory SchierOP
PurplProto

Personally one of my most desired features! Thank you!

Gregory SchierOP

Quick update: 2025.2.0 Beta 8 adds the ability to include environments in Directory Sync, taking advantage of the new (beta) encryption feature to securely share data via Git, DropBox, or manual data exports!

https://yaak.app/blog/2025.2.0-beta.8

Type to search feedback...