Transcript
00:00:00The biggest problem with working with multiple sessions is sharing context between them.
00:00:04This is because your session is limited to the same agent working in the same folder.
00:00:08So when you need to move to another session or share that context with someone else,
00:00:12you need to write it out into files so that other agents can continue from where you left off.
00:00:17And we run into this a lot ourselves because when we're discussing something with an agent
00:00:21and need to share it with someone else,
00:00:22the file it writes just keeps the key points and misses the details.
00:00:26But there's a tool called AgentGit that solves exactly this problem.
00:00:30And not only does it let you manage the sessions inside one agent,
00:00:33it also makes moving them across different agents easier,
00:00:36which no other tool does as cleanly.
00:00:39And you can share your sessions with other people as well
00:00:41so they can carry on from the discussions you've already had.
00:00:44So if you're new here, we're a software company and this is AI Labs.
00:00:47And in this video, we're going over what A-Git is,
00:00:50how it actually solves this problem,
00:00:51and the one problem the tool itself had and how we solved it.
00:00:55So before we get into A-Git, you need to know about Git,
00:00:58because A-Git borrows the whole idea from it.
00:01:00If you already know about it,
00:01:01you can skip straight to the next section from the timestamps below.
00:01:05Git is actually a tool that basically tracks the changes in your projects.
00:01:08When you let it track a project,
00:01:10not only can you see exactly which lines were changed,
00:01:13but you can also see who made those changes.
00:01:15Each saved version of your project is called a commit,
00:01:18and Git keeps it under your name.
00:01:19So if a change breaks something,
00:01:21you can go back to the previous commit that was working.
00:01:23You can also work on a separate version of your project called a branch,
00:01:27so you can experiment with a completely different direction.
00:01:29And if you don't want the changes you made in that branch,
00:01:32you can delete that branch,
00:01:33and nothing in your main project would be affected at all.
00:01:36Now those commits are saved on your computer.
00:01:38When you send them to a site like GitHub to save them online,
00:01:41that's called a push.
00:01:42That way your teammates can get the versions you've saved
00:01:45and work on the project too.
00:01:46Now when multiple people work on the same project,
00:01:49each person can make changes on their own branch
00:01:51without changing the main version.
00:01:53Their commits show what they changed,
00:01:54and once they push those commits,
00:01:56their teammates can review the changes
00:01:58and combine them with the main version.
00:02:00So you can use this for the projects you build together
00:02:02or a shared second brain or knowledge base
00:02:05where everyone adds their own information.
00:02:07A-Git takes the same idea from Git
00:02:09and uses it on the conversations you have with your agents.
00:02:12In Git, your project and its history
00:02:14are kept in one place called a repo.
00:02:16In A-Git, the repo holds your agent's conversations
00:02:18instead of code and file
00:02:20along with its saved memory and skills.
00:02:22Each session gets its own branch inside that repo.
00:02:25So you can have multiple conversations about the same project
00:02:28and each one stays separate.
00:02:30And a commit in A-Git saves the messages
00:02:32and what the agent did in response.
00:02:34This gives you a record of the conversation
00:02:36that you can go back to later.
00:02:37But if you go back in the conversation,
00:02:39it doesn't undo changes to your app.
00:02:41The app stays the same,
00:02:42just the conversation that the agent sees is changed.
00:02:45You can share these sessions with other people as well.
00:02:48For that, you need a profile
00:02:49so people know who had the session
00:02:50and you can control who gets access to it.
00:02:53The profile works the same as your on GitHub one does.
00:02:55When you save a session on your computer,
00:02:57it doesn't appear on your profile though.
00:02:59You need to push it and then it appears there.
00:03:01Your repos are private by default,
00:03:03which means other people can't view the sessions inside them
00:03:06unless you give them access.
00:03:07But there's a limit worth knowing before you start.
00:03:10You only get one gigabyte of storage
00:03:12for storing all the conversations in your private repos.
00:03:15But if you want anyone to be able to view your conversations,
00:03:18you can make the repo public.
00:03:19Agit runs multiple checks
00:03:20and then asks you to confirm if you want convert to public.
00:03:24Once you confirm it, the repo will be public.
00:03:26People can copy that history
00:03:27and you can't make the repo private again.
00:03:29And when you want to share a conversation
00:03:31with particular people, there are two ways to do it.
00:03:33The first is adding them to the repo itself.
00:03:35You need to go to the settings pane,
00:03:37look for collaborators and add whoever you want to work with.
00:03:40They can continue from where you stopped,
00:03:42then send a request to add their work back to your repo,
00:03:44which is called a pull request.
00:03:46The second way is creating a read-only link
00:03:48so whoever you send it to
00:03:50can read the conversation without changing it.
00:03:52You can set how many times the link can be opened.
00:03:55Once that limit is reached, the link stops working
00:03:57and no one will be able to access that session
00:04:00using the link you gave.
00:04:01But before we install it,
00:04:02let's have a word by our sponsor.
00:04:04Runnable.
00:04:04Building real products usually means
00:04:06juggling a whole stack of separate tools
00:04:08that barely talk to each other
00:04:10and paying for a new subscription every time you add one.
00:04:13Runnable is one AI agent
00:04:14that builds all of it from a single prompt.
00:04:17We asked it for a landing page
00:04:18that could take real payments.
00:04:19It asked a couple of quick questions
00:04:21about our product and pricing,
00:04:23then started building.
00:04:24First, it laid out the page on the canvas.
00:04:26A hero, a features row,
00:04:27and a three-tier pricing table,
00:04:29each section appearing as it wrote it.
00:04:31Then it filled in the copy, the headline,
00:04:33the descriptions, the button text.
00:04:35For checkout, it set up the payments itself,
00:04:37created the plans,
00:04:38spun up a live checkout,
00:04:40and wired every pricing button to it
00:04:42with no dashboard and no keys to paste.
00:04:44When it finished, it deployed and handed us a real URL.
00:04:47We opened it, clicked a plan,
00:04:49and a working checkout loaded on a page
00:04:51that didn't exist 10 minutes earlier.
00:04:53Building real products doesn't get any easier than this.
00:04:55So try Runnable and build yours today.
00:04:58Links in the description below.
00:04:59So in order to install this tool,
00:05:01you need to go to their GitHub repo,
00:05:03where there are two install commands.
00:05:05The create agit command installs the tool
00:05:07and sets it up for your coding tool in one go.
00:05:10You can use that if you want the one command installer.
00:05:12The other command installs the same tool
00:05:14through another installer,
00:05:15and it's an alternative
00:05:16if the first installer doesn't work for you.
00:05:19Both install it for your whole computer.
00:05:20We went with npm
00:05:22because the other installer couldn't install when we ran it.
00:05:24You just need to copy the install command
00:05:26and run it in your terminal.
00:05:27Once it's installed, you can check which version you have
00:05:30by running the version command.
00:05:32Now, you might think that since it is installed
00:05:34on all of your computer,
00:05:35it will start saving everything that you're working on.
00:05:38But it won't be saving everything,
00:05:39and it will only save where you ask it to.
00:05:42You need to create an account on their site,
00:05:44then run the login command in your terminal
00:05:46to connect agit to that account.
00:05:48You need to choose the browser login option,
00:05:50then approve the login on the page that opens.
00:05:52You can check which account you're logged into
00:05:54by using the whoami command,
00:05:56and your email and account will be shown.
00:05:58Once you're logged in,
00:05:59you're ready to create a repo for your project.
00:06:01Now we're testing it on a demo event management app.
00:06:04We use the web app template that we have in our community
00:06:07to make that build easier,
00:06:08downloaded it,
00:06:09and opened the project folder in the terminal.
00:06:12You need to run the init command
00:06:13to make this project ready for agit.
00:06:15When you do that,
00:06:16it opens up an interface.
00:06:18The first option is the name,
00:06:19which will be unnamed by default,
00:06:21and you need to give it whichever name you want
00:06:23for your repo.
00:06:24Then you need to check that
00:06:25if it's using the right project folder.
00:06:27After that,
00:06:28you can choose to review the instructions and skills
00:06:30that the setup is saving.
00:06:31There's also auto push,
00:06:33which lets the agent push your conversation automatically
00:06:35without you asking for it.
00:06:37If you leave that off,
00:06:38you can still push it yourself later.
00:06:40Then you need to select
00:06:41which file should hold the instructions.
00:06:43The first option it gave was agents.md,
00:06:45which coding tools like Codex use for project instructions.
00:06:48The other is Claude.md,
00:06:50which Claude Code uses.
00:06:51You need to select the file
00:06:52for the coding tool you're using.
00:06:54Since we work in both Codex and Claude Code,
00:06:56we added both.
00:06:57So in our project folder,
00:06:58both files contain the instructions
00:07:00the agent needs to use agit.
00:07:02agit also keeps a separate folder
00:07:04for the repo inside the .agit folder
00:07:06in your home folder.
00:07:07That's where it stores your conversations,
00:07:09memory, and skills.
00:07:10Memory holds saved facts and decisions,
00:07:13and skills is where it keeps any skills
00:07:15that it created
00:07:16and would be used in the future sessions.
00:07:18Once you've run in it,
00:07:19you can prompt the agent about your task.
00:07:21As it finishes each turn,
00:07:22agit saves the conversation on your computer.
00:07:25But before we explore more features of agit,
00:07:27it would be great if you subscribe to the channel
00:07:29and hit the hype button.
00:07:31This small gesture of support goes a long way for us.
00:07:33Now there are times when the agent does something wrong
00:07:36and you need to go back a step in the conversation.
00:07:39You might think that it's the same
00:07:40as the rewind command
00:07:41that a lot of agents already have
00:07:43and does exactly this.
00:07:44But that's different with agit
00:07:45because you can rewind not only your conversations,
00:07:48but the conversations that somebody else
00:07:50shared with you as well.
00:07:51But this only changes the conversation.
00:07:53It doesn't take your app back to an earlier version.
00:07:55But before you run rewind,
00:07:57you need to run the log command first,
00:07:59and it will list your sessions
00:08:00so you can choose the conversation you want to change.
00:08:03You can select the session you want,
00:08:04and it will show the prompts you gave
00:08:06and what the agent did in response.
00:08:08The numbers next to those prompts identify each turn,
00:08:11which is your prompt and the agent's response to it.
00:08:13If you want to take a session back to an earlier point,
00:08:16you need to use the revert command
00:08:17and use the number you saw in the log
00:08:19to tell agent which prompt you want to go back to.
00:08:22In the command,
00:08:23the turn number goes after the session name
00:08:25with a hash symbol before the number.
00:08:27But you don't give it the number of turn
00:08:29you want to return to.
00:08:30Instead, you need to tell it what number of turns
00:08:32that are needed to go to the point you want to revert to
00:08:35and mention the numbers from the end back to that point.
00:08:38You can include all of them in one command.
00:08:40Now, those turns don't disappear from the log.
00:08:42The record of what happened stays there,
00:08:44but the agent no longer sees the turns you removed.
00:08:46You need to run the resume command
00:08:48to continue that conversation.
00:08:49And if you want the version on your profile updated as well,
00:08:52you can use the push command.
00:08:54Now, with agit,
00:08:55you can also take a message from one conversation
00:08:57and bring it into a different one.
00:08:59When you do that,
00:09:00the agent's response and the record of everything it did
00:09:02come along with it as well.
00:09:04So if there's something useful in another conversation,
00:09:06you can pull that part into the session
00:09:08you're currently working in and continue from there.
00:09:10To do this,
00:09:11you'll first need to use the log command
00:09:13to find the message in the conversation
00:09:15you want to copy from.
00:09:16Once you've found it,
00:09:17you can use the cherry pick command,
00:09:19provide that session's name and the message number
00:09:21and tell it to add the message to your current session.
00:09:24The message and the agent's response
00:09:26will be added to the end of your current session,
00:09:28which means you can keep working
00:09:30with all of that context available.
00:09:32And if you need more than one message,
00:09:33you can include multiple message numbers
00:09:35in the same command.
00:09:36One thing to keep in mind
00:09:37is that this only copies the conversation history.
00:09:40It doesn't apply any of the app changes
00:09:42that were made or described in those messages.
00:09:44Now, with agit,
00:09:45you can also continue a conversation
00:09:47that you're having in one agent,
00:09:49in another agent as well.
00:09:50This is something that none of the coding agents
00:09:52let you do by default.
00:09:53We often need this
00:09:54because we use both Codex and Claude Code.
00:09:57When we're deep in a conversation with Claude Code
00:09:59and want Codex to continue the work,
00:10:01we normally ask Claude to write down what it's done
00:10:03and what Codex needs to know.
00:10:05Then we ask Codex to read that
00:10:06before giving it the next task.
00:10:08But agit lets you bring the conversation
00:10:10into Codex directly
00:10:11so you don't have to write that handoff yourself.
00:10:14You need to use the fork command and choose Codex.
00:10:16This creates a new session
00:10:17from the conversation you've already had,
00:10:19converts it into the format Codex reads
00:10:21and opens it there.
00:10:22Your original conversation stays available too.
00:10:25You can ask your current agent
00:10:26to write the command for you
00:10:28so you don't have to remember all the options.
00:10:30But you need to run it in your terminal
00:10:32instead of asking the agent to do that for you
00:10:34so that you can continue the conversation
00:10:36in another terminal.
00:10:38Agents often handle things like API keys and passwords
00:10:41that you wouldn't want other people to have access to
00:10:43and once the agent reads that information,
00:10:45it becomes part of the conversation.
00:10:47So if you push that conversation,
00:10:49you could end up sharing those secrets as well.
00:10:51To prevent that, agit checks for secrets
00:10:53when it saves the conversation
00:10:55and replaces any recognized keys with placeholders.
00:10:58These placeholders show where the key was
00:11:00without including the actual value.
00:11:02We tested this with some made-up API keys
00:11:04and when we checked the saved history,
00:11:06those keys had been replaced with placeholders.
00:11:08Agit also checks the history again before pushing it,
00:11:11but there's a limitation here
00:11:12because API keys usually have a recognizable pattern
00:11:16like a specific beginning and a fixed length.
00:11:18A password made up of ordinary words
00:11:20doesn't necessarily have any of those patterns.
00:11:23So agit can miss it
00:11:24even if the conversation explicitly says that it's a password.
00:11:27That's why we built a skill
00:11:29that registers passwords with agit
00:11:31before the conversation gets saved.
00:11:33It starts by registering the secrets
00:11:35that are already in your project
00:11:36and then it tells the agent
00:11:37to register any new password you give it
00:11:40before continuing.
00:11:41Once a password is registered,
00:11:42agit knows to replace that value
00:11:44with a placeholder
00:11:45when it saves the conversation.
00:11:47You do need to add this skill
00:11:48when you start the session
00:11:49because once agit has already saved a password
00:11:52in the history,
00:11:53adding the skill later won't remove it.
00:11:55Even if you remove the message,
00:11:56the password will still remain in the history.
00:11:58Now this skill that we made
00:12:00along with the starter pack we showed you here
00:12:02and all the other resources
00:12:03are all available in AI Labs Pro.
00:12:05So if you've found value in what we do
00:12:07and want to support the channel,
00:12:09this is the best way to do it.
00:12:10The link's in the description.
00:12:12That brings us to the end of this video.
00:12:13If you'd like to support the channel
00:12:15and help us keep making videos like this,
00:12:17you can do so by using the super thanks button below.
00:12:20As always,
00:12:21thank you for watching
00:12:22and I'll see you in the next one.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video