<?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: Yuji Ueki</title>
    <description>The latest articles on DEV Community by Yuji Ueki (@unhappychoice).</description>
    <link>https://dev.to/unhappychoice</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F49406%2F0eb10ce6-db5b-4515-8a17-21e6fbea205e.jpeg</url>
      <title>DEV Community: Yuji Ueki</title>
      <link>https://dev.to/unhappychoice</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/unhappychoice"/>
    <language>en</language>
    <item>
      <title>🔍 difit: Preview GitHub-like diffs locally before you push</title>
      <dc:creator>Yuji Ueki</dc:creator>
      <pubDate>Fri, 18 Jul 2025 13:54:07 +0000</pubDate>
      <link>https://dev.to/unhappychoice/difit-preview-github-like-diffs-locally-before-you-push-37gc</link>
      <guid>https://dev.to/unhappychoice/difit-preview-github-like-diffs-locally-before-you-push-37gc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;📝 &lt;strong&gt;This is a short introduction to &lt;a href="https://github.com/yoshiko-pg/difit" rel="noopener noreferrer"&gt;&lt;code&gt;difit&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt; — a tiny CLI tool that lets you preview Git diffs in a GitHub-style interface, right from your local machine, with no installation required.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🤔 Ever wish you could preview your GitHub diff &lt;em&gt;before&lt;/em&gt; you push?
&lt;/h2&gt;

&lt;p&gt;You're working on a feature, writing commits one by one.&lt;br&gt;&lt;br&gt;
Before opening a pull request, you want to double-check your changes—&lt;br&gt;&lt;br&gt;
But &lt;code&gt;git diff&lt;/code&gt; in the terminal is messy, and pushing just to preview the PR feels wasteful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enter &lt;a href="https://github.com/yoshiko-pg/difit" rel="noopener noreferrer"&gt;&lt;code&gt;difit&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt;: a lightweight CLI tool that lets you &lt;strong&gt;see your Git changes in a GitHub-like diff view, right in your browser — locally&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  🚀 What is difit?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;difit&lt;/code&gt; launches a local web UI that mimics GitHub’s diff view, showing you a full side-by-side comparison of your Git changes — all from a single command.&lt;/p&gt;

&lt;p&gt;You don’t even need to install anything.&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚡ Quick start (no install needed)
&lt;/h2&gt;

&lt;p&gt;You can run difit instantly using &lt;a href="https://docs.npmjs.com/cli/v10/commands/npx" rel="noopener noreferrer"&gt;&lt;code&gt;npx&lt;/code&gt;&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx difit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Launch a local server&lt;/li&gt;
&lt;li&gt;Open your browser&lt;/li&gt;
&lt;li&gt;Show a visual diff between your current working tree and the last commit&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🖼 Example screenshot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprpycguli9y24s58s7s6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprpycguli9y24s58s7s6.png" alt="difit_preview" width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looks just like GitHub, right?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🧩 File-by-file diff&lt;br&gt;
🌈 Syntax highlighting&lt;br&gt;
📄 Foldable sections&lt;br&gt;
🧘 Clean UI for peaceful reviews&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔧 Other usage examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Show staged &amp;amp; unstaged changes (default)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx difit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Compare against another branch (e.g. main)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx difit origin/main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Compare two commits explicitly
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx difit abc123..def456
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Compare current changes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx difit          # HEAD commit changes
npx difit .        # All uncommitted changes (staged + unstaged)
npx difit staged   # Staged changes ready for commit
npx difit working  # Unstaged changes only (cannot use compare-with)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  💡 Why use difit?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔍 Preview before pushing
&lt;/h3&gt;

&lt;p&gt;See what your PR will look like before opening it.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧼 Spot mistakes early
&lt;/h3&gt;

&lt;p&gt;Catch debug logs, leftover TODOs, or secret keys before they go public.&lt;/p&gt;

&lt;h3&gt;
  
  
  📋 Review your own work visually
&lt;/h3&gt;

&lt;p&gt;Especially helpful before pushing large commits or squashed branches.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⛔ Avoid pushing just to review
&lt;/h3&gt;

&lt;p&gt;No need to create throwaway PRs just to read a diff.&lt;/p&gt;

&lt;h3&gt;
  
  
  💻 Works offline
&lt;/h3&gt;

&lt;p&gt;No GitHub token, no auth, no internet required.&lt;/p&gt;




&lt;h2&gt;
  
  
  🙋‍♂️ About the author
&lt;/h2&gt;

&lt;p&gt;difit is developed by @yoshiko_pg, who creates practical and elegant dev tools with minimalism and clarity in mind.&lt;/p&gt;

&lt;p&gt;Check out the project here:&lt;br&gt;
🔗 &lt;a href="https://github.com/yoshiko-pg/difit" rel="noopener noreferrer"&gt;https://github.com/yoshiko-pg/difit&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🧪 Final thoughts
&lt;/h2&gt;

&lt;p&gt;GitHub’s diff viewer is great — but it’s gated behind a push.&lt;br&gt;
difit removes that barrier.&lt;/p&gt;

&lt;p&gt;Now you can review your code visually before it ever leaves your machine.&lt;/p&gt;

&lt;p&gt;Give it a try. Just one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx difit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And you’re reviewing like it’s already a PR ✨&lt;/p&gt;

</description>
      <category>git</category>
      <category>cli</category>
      <category>productivity</category>
      <category>devtools</category>
    </item>
    <item>
      <title>mdts – A Simple CLI Tool to Browse Local Markdown Files in a Web UI</title>
      <dc:creator>Yuji Ueki</dc:creator>
      <pubDate>Wed, 16 Jul 2025 16:57:52 +0000</pubDate>
      <link>https://dev.to/unhappychoice/mdts-a-simple-cli-tool-to-browse-local-markdown-files-in-a-web-ui-1hk</link>
      <guid>https://dev.to/unhappychoice/mdts-a-simple-cli-tool-to-browse-local-markdown-files-in-a-web-ui-1hk</guid>
      <description>&lt;p&gt;Have you ever wanted to browse your local Markdown files like a wiki – instantly, with no setup or configuration?&lt;/p&gt;

&lt;p&gt;That's why I created &lt;strong&gt;mdts&lt;/strong&gt; (Markdown Tree Server) – a command-line tool that lets you serve any folder of Markdown files in your browser, complete with a navigable file tree and clean Markdown preview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi60cvpck0c7wi0u64v3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi60cvpck0c7wi0u64v3.png" alt="screenshot" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔧 What is &lt;code&gt;mdts&lt;/code&gt;?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;mdts&lt;/code&gt; is a lightweight CLI tool that runs a local web server for browsing Markdown files in a directory. It’s designed for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local note-taking and journaling&lt;/li&gt;
&lt;li&gt;Previewing documentation before publishing&lt;/li&gt;
&lt;li&gt;Exploring markdown-based project folders&lt;/li&gt;
&lt;li&gt;Building a local personal wiki&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📁 &lt;strong&gt;Web-based tree navigation&lt;/strong&gt; of your file system&lt;/li&gt;
&lt;li&gt;📄 &lt;strong&gt;Clean Markdown rendering&lt;/strong&gt;, styled for readability&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;No config, no setup&lt;/strong&gt; – just run one command&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Offline-first&lt;/strong&gt; – works entirely on your local machine&lt;/li&gt;
&lt;li&gt;🧩 &lt;strong&gt;Single binary&lt;/strong&gt; (via NPM) – no dependency hell&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Usage
&lt;/h2&gt;

&lt;p&gt;In any directory you want to preview,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx mdts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It will launch your default browser automatically, showing a tree of Markdown files and folders that you can browse and read.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧪 Under the Hood
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Built with Node.js&lt;/li&gt;
&lt;li&gt;Uses Express.js for the server&lt;/li&gt;
&lt;li&gt;Markdown rendering via React Markdown + custom styling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No frontend framework – just HTML/CSS/JS and a bit of magic ✨&lt;/p&gt;




&lt;h2&gt;
  
  
  🔓 Open Source
&lt;/h2&gt;

&lt;p&gt;GitHub:&lt;br&gt;
👉 &lt;a href="https://github.com/unhappychoice/mdts" rel="noopener noreferrer"&gt;https://github.com/unhappychoice/mdts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is fully open source and open to contributions.&lt;br&gt;
If you find it useful or want to see new features (like search or edit mode), I’d love your feedback!&lt;/p&gt;




&lt;p&gt;If this sounds useful to you, feel free to give it a ⭐ on GitHub and share it with others who work with Markdown.&lt;/p&gt;

&lt;p&gt;Thanks for reading! 🙌&lt;/p&gt;

</description>
      <category>markdown</category>
      <category>cli</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
