<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: yottacode</title>
    <description>The latest articles on DEV Community by yottacode (@yottacode).</description>
    <link>https://dev.to/yottacode</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4118167%2Fa294c201-2ab3-42aa-8f26-af094ee4622a.png</url>
      <title>DEV Community: yottacode</title>
      <link>https://dev.to/yottacode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yottacode"/>
    <language>en</language>
    <item>
      <title>Terminal</title>
      <dc:creator>yottacode</dc:creator>
      <pubDate>Wed, 09 Sep 2026 21:51:11 +0000</pubDate>
      <link>https://dev.to/yottacode/terminal-p29</link>
      <guid>https://dev.to/yottacode/terminal-p29</guid>
      <description>&lt;h1&gt;
  
  
  From GitHub Issue to Pull Request Without Leaving Your Terminal
&lt;/h1&gt;

&lt;p&gt;Most software work begins in one place and ends in another.&lt;/p&gt;

&lt;p&gt;You read an issue on GitHub, inspect the repository locally, make changes in your editor, run tests in a terminal, create a commit, push a branch, and finally return to GitHub to open or review a pull request.&lt;/p&gt;

&lt;p&gt;The individual steps are familiar. The context switching is the problem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://yottacode.ai/" rel="noopener noreferrer"&gt;yottacode&lt;/a&gt; is a terminal coding agent designed to connect these steps into one developer-controlled workflow. Its GitHub integration lets you work with issues and pull requests without constantly moving between your browser, terminal, and editor.&lt;/p&gt;

&lt;p&gt;This article walks through the workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub operations as agent workflows
&lt;/h2&gt;

&lt;p&gt;A coding agent should not only edit files. It should understand the engineering workflow around those files.&lt;/p&gt;

&lt;p&gt;That includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading repository and issue context&lt;/li&gt;
&lt;li&gt;Creating commits&lt;/li&gt;
&lt;li&gt;Pushing branches&lt;/li&gt;
&lt;li&gt;Opening pull requests&lt;/li&gt;
&lt;li&gt;Updating pull request descriptions&lt;/li&gt;
&lt;li&gt;Creating GitHub issues&lt;/li&gt;
&lt;li&gt;Reviewing pull request diffs&lt;/li&gt;
&lt;li&gt;Implementing an issue from start to finish&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With yottacode, these operations are exposed as explicit GitHub tools rather than being hidden behind an unrestricted shell command.&lt;/p&gt;

&lt;p&gt;That distinction matters. The agent can work with GitHub while still making each operation visible and reviewable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with an issue
&lt;/h2&gt;

&lt;p&gt;A typical workflow begins with an existing GitHub issue.&lt;/p&gt;

&lt;p&gt;Instead of manually copying the issue description into a prompt, you can ask yottacode to inspect the issue and explain what needs to change.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Implement GitHub issue #42 in this repository.
First inspect the issue, understand the relevant code, and propose a plan.
Do not edit anything until I approve the plan.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent can retrieve the issue title, description, labels, assignees, and recent comments before looking for the relevant code.&lt;/p&gt;

&lt;p&gt;That gives the implementation better context from the beginning.&lt;/p&gt;

&lt;p&gt;It also gives you an opportunity to correct the interpretation before any files change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work in an isolated branch
&lt;/h2&gt;

&lt;p&gt;A good coding-agent workflow should make isolation easy.&lt;/p&gt;

&lt;p&gt;Rather than modifying the main checkout directly, create a worktree for the task:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a new worktree for issue #42 and work there.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The implementation then has its own branch and working directory. This makes it easier to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep unrelated work untouched&lt;/li&gt;
&lt;li&gt;Run multiple tasks in parallel&lt;/li&gt;
&lt;li&gt;Review the complete change&lt;/li&gt;
&lt;li&gt;Discard an experiment safely&lt;/li&gt;
&lt;li&gt;Open a pull request from a clean branch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The worktree is not a replacement for Git. It makes the existing Git workflow safer for agent-assisted development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Commit and push with context
&lt;/h2&gt;

&lt;p&gt;Once the implementation is complete, yottacode can inspect the changes before creating a commit.&lt;/p&gt;

&lt;p&gt;A useful request might be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Review the current changes, run the relevant tests, and prepare a commit.
Show me the proposed commit message before committing.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent can examine the staged or unstaged changes, detect the repository’s commit style, and create a focused commit after approval.&lt;/p&gt;

&lt;p&gt;Pushing is a separate operation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Push this branch to origin.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Separating commit and push gives developers control over the point at which local work becomes remote work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create a pull request from the terminal
&lt;/h2&gt;

&lt;p&gt;After pushing the branch, open a pull request without leaving the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Open a pull request for this branch against main.
Summarize the problem, implementation, tests, and any remaining limitations.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A useful pull request should explain:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What problem the change solves&lt;/li&gt;
&lt;li&gt;What implementation approach was used&lt;/li&gt;
&lt;li&gt;Which files or components changed&lt;/li&gt;
&lt;li&gt;How the change was tested&lt;/li&gt;
&lt;li&gt;What reviewers should pay attention to&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Because the agent has already inspected the issue and implementation, it can produce a pull request description with more context than a generic generated summary.&lt;/p&gt;

&lt;p&gt;You can also update the pull request later:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Update the pull request description to include the new integration test.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Review pull requests by reading the diff
&lt;/h2&gt;

&lt;p&gt;Code review is another place where context switching adds friction.&lt;/p&gt;

&lt;p&gt;Instead of opening a pull request in a browser and manually gathering its metadata, ask yottacode to review it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Review pull request #57.
Look for correctness issues, regressions, missing tests, and security concerns.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The review workflow can combine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pull request metadata&lt;/li&gt;
&lt;li&gt;The complete unified diff&lt;/li&gt;
&lt;li&gt;CI check results&lt;/li&gt;
&lt;li&gt;Failed job summaries&lt;/li&gt;
&lt;li&gt;Relevant repository code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The important part is that the agent reviews the actual change, not just the pull request description.&lt;/p&gt;

&lt;p&gt;A useful review should distinguish between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Definite bugs&lt;/li&gt;
&lt;li&gt;Likely regressions&lt;/li&gt;
&lt;li&gt;Missing edge cases&lt;/li&gt;
&lt;li&gt;Test gaps&lt;/li&gt;
&lt;li&gt;Style or maintainability suggestions&lt;/li&gt;
&lt;li&gt;Findings that are probably false positives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes the output more useful than a long list of speculative warnings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create issues while the context is fresh
&lt;/h2&gt;

&lt;p&gt;Not every discovery should be fixed immediately.&lt;/p&gt;

&lt;p&gt;During implementation or review, you may find a related problem that belongs in a separate task:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a GitHub issue describing the unrelated configuration bug we found.
Include reproduction steps and a proposed direction, but do not implement it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This preserves the context while keeping the current pull request focused.&lt;/p&gt;

&lt;p&gt;It is a small workflow improvement, but it prevents useful discoveries from disappearing into chat history or untracked notes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The complete issue-to-PR workflow
&lt;/h2&gt;

&lt;p&gt;A complete yottacode workflow can look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Read GitHub issue #42
2. Inspect the repository
3. Propose an implementation plan
4. Create an isolated worktree
5. Implement the approved change
6. Run tests and verification
7. Review the diff
8. Create a commit
9. Push the branch
10. Open a pull request
11. Review CI and address feedback
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each step remains explicit. The agent can help move the work forward, but the developer remains in control of file changes, commands, commits, pushes, and GitHub operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Designed for developer control
&lt;/h2&gt;

&lt;p&gt;The goal is not to hide the engineering process behind an autonomous black box.&lt;/p&gt;

&lt;p&gt;The goal is to reduce repetitive context switching while preserving the controls that make software work safe:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explicit tool calls&lt;/li&gt;
&lt;li&gt;Approval before risky actions&lt;/li&gt;
&lt;li&gt;Isolated worktrees&lt;/li&gt;
&lt;li&gt;Visible diffs&lt;/li&gt;
&lt;li&gt;Test verification&lt;/li&gt;
&lt;li&gt;Separate GitHub operations&lt;/li&gt;
&lt;li&gt;Reviewable commits and pull requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is especially important when an agent can modify code and interact with remote repositories. Speed is useful, but traceability and control are part of the feature.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it in your repository
&lt;/h2&gt;

&lt;p&gt;yottacode is an open-source terminal coding agent written in Go.&lt;/p&gt;

&lt;p&gt;You can find the project on &lt;a href="https://github.com/yottadynamics/yottacode" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; and read the &lt;a href="https://yottacode.ai/docs/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For the complete GitHub integration overview, including the full set of supported workflows, see:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://yottacode.ai/blog/yottacode-github-integrations/" rel="noopener noreferrer"&gt;Read the complete yottacode GitHub integration guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The broader idea is simple: GitHub should not be a disconnected destination at the end of a coding session. It can be part of the development workflow from the first issue to the final pull request.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>github</category>
      <category>go</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
