<?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: JustineDevs</title>
    <description>The latest articles on DEV Community by JustineDevs (@justinedevs).</description>
    <link>https://dev.to/justinedevs</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%2F3897654%2Fcf955f28-78ef-4fc6-a120-1494a960d016.png</url>
      <title>DEV Community: JustineDevs</title>
      <link>https://dev.to/justinedevs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/justinedevs"/>
    <language>en</language>
    <item>
      <title>This is why interview repos should be treated as untrusted software until inspected.</title>
      <dc:creator>JustineDevs</dc:creator>
      <pubDate>Wed, 01 Jul 2026 13:39:33 +0000</pubDate>
      <link>https://dev.to/justinedevs/this-is-why-interview-repos-should-be-treated-as-untrusted-software-until-inspected-20mk</link>
      <guid>https://dev.to/justinedevs/this-is-why-interview-repos-should-be-treated-as-untrusted-software-until-inspected-20mk</guid>
      <description>&lt;h1&gt;
  
  
  The malware was not in the app. It was in .git/hooks.
&lt;/h1&gt;

&lt;p&gt;My first job hunt taught me to inspect the repo before trusting the task&lt;/p&gt;

&lt;p&gt;I am currently looking for my first job So when a recruiter messaged me on LinkedIn and sent over a take-home repository, I treated it seriously. This was one of the first real task-based opportunities I had received, so I wanted to do everything properly.&lt;/p&gt;

&lt;p&gt;I reviewed a take-home repository that came through recruiter outreach.&lt;/p&gt;

&lt;p&gt;It was a web3 front end with WalletConnect, Transak, Uniswap widgets, Infura, Etherscan, and configuration driven REACT_APP_* env vars. The kind of stack you would expect from a real production app. That was exactly why I almost missed the part that mattered. Before running anything, I started checking the repo structure, package scripts, and Git metadata. I did not run install commands. I did not start the app. I did not assume the repository was safe just because it came through a recruiter.&lt;/p&gt;

&lt;p&gt;At first glance, it looked normal enough for a production web3 front end. WalletConnect. Transak. Uniswap widgets. Infura. Etherscan. Vercel Analytics. Env-driven config for chain IDs, contract addresses, fees, and backend URLs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That part did not bother me.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The red flag was lower level.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Inside the repo-local .git/hooks directory, I found executable pre-commit, pre-push, and post-checkout scripts. They did not validate code. They did not format files. They did not run tests.&lt;/p&gt;

&lt;p&gt;They fetched remote content from a hardcoded IP address and piped it into a shell or command interpreter.&lt;/p&gt;

&lt;p&gt;That is not a build step.&lt;/p&gt;

&lt;p&gt;Actual Screenshot of post-checkout, pre-commit, pre-push file&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwj8vgm8dpyjzo6kceg1a.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwj8vgm8dpyjzo6kceg1a.png" alt=" " width="799" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That is a downloader.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git hooks matter because Git runs them automatically on specific events. pre-commit runs before commits. pre-push runs before pushes. post-checkout runs after a checkout. Git also allows&lt;/p&gt;

&lt;p&gt;hooks to live in &lt;strong&gt;.git/hooks or in a configured core.hooksPath&lt;/strong&gt;, and git init can copy hook templates into a repo.&lt;/p&gt;

&lt;p&gt;So if a malicious hook sits in the repo, the attack surface is not just the app. It is the developer workflow.&lt;/p&gt;

&lt;p&gt;That is the part people miss.&lt;/p&gt;

&lt;p&gt;The workflow pattern Here is the basic flow I observed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; The candidate is approached like a normal hire The conversation starts like a standard recruiter or hiring process. The task is framed as a practical engineering evaluation, not a public challenge.&lt;/li&gt;
&lt;/ol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fivinymisrh4oprhinsjv.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fivinymisrh4oprhinsjv.jpg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This lowers suspicion because it feels like a legitimate private assessment.&lt;/p&gt;

&lt;p&gt;The Person or Profile that blocks me after I confirmed it;&lt;a href="https://www.linkedin.com/in/paula-andrea-d%C3%ADaz-loaiza-481ba9232/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/paula-andrea-d%C3%ADaz-loaiza-481ba9232/&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpx97czdsjwtold58nw0b.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpx97czdsjwtold58nw0b.png" alt=" " width="800" height="952"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmiec9tmrj4jl3obivp62.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmiec9tmrj4jl3obivp62.png" alt=" " width="800" height="622"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The time I get blocked or they delete?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;2. The project is shared as a zip file Instead of a clean private GitHub repository, the project is delivered as a Dropbox package.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdck1z80fxovdqfwggsvk.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdck1z80fxovdqfwggsvk.png" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.dropbox.com/scl/fi/3bb255hoju2sxh9k7ml2h/datalake-token-app.zip?dl=0&amp;amp;e=2&amp;amp;file_subpath=%2Fdatalake-token-app&amp;amp;rlkey=jpk7vaw2n8kqrbzk8u3e8otcj&amp;amp;st=cmh3zbzg" rel="noopener noreferrer"&gt;https://www.dropbox.com/scl/fi/3bb255hoju2sxh9k7ml2h/datalake-token-app.zip?dl=0&amp;amp;e=2&amp;amp;file_subpath=%2Fdatalake-token-app&amp;amp;rlkey=jpk7vaw2n8kqrbzk8u3e8otcj&amp;amp;st=cmh3zbzg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That matters because:&lt;/p&gt;

&lt;p&gt;it removes the normal protections and visibility of a repo,&lt;/p&gt;

&lt;p&gt;it makes the workflow feel “local and manual,”&lt;/p&gt;

&lt;p&gt;and it encourages the candidate to unpack and inspect the code on their own machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The codebase looks real The project itself is not empty or fake-looking. It contains a real frontend app, real Web3 integrations, real environment-driven configuration, and even sensitive-looking .env material.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is important because a believable app builds trust.&lt;/p&gt;

&lt;p&gt;1. The assignment asks for Git-based work The candidate is told to:&lt;/p&gt;

&lt;p&gt;create a new branch,add a review file,push the project, and return the GitHub URL.&lt;/p&gt;

&lt;p&gt;This is where the workflow becomes interesting.&lt;/p&gt;

&lt;p&gt;It makes the candidate behave like a normal developer:&lt;/p&gt;

&lt;p&gt;clone or unpack,inspect,branch,commit,push.&lt;/p&gt;

&lt;p&gt;That is exactly the behavior malicious hooks are waiting for.&lt;/p&gt;

&lt;p&gt;2. Malicious hook files sit in .git/hooks Hidden in the repo are hook files like:&lt;/p&gt;

&lt;p&gt;pre-commit,pre-push,post-checkout.&lt;/p&gt;

&lt;p&gt;Minimize image Edit image Delete image&lt;/p&gt;

&lt;p&gt;Add a caption (optional) These are not ordinary project files. They are execution points Git can trigger automatically.&lt;/p&gt;

&lt;p&gt;The scripts I found were not harmless automation. They used a pattern like:&lt;/p&gt;

&lt;p&gt;detect the OS, fetch a remote payload from an IP address,pipe it directly into sh or cmd,hide output, and run in the background.&lt;/p&gt;

&lt;p&gt;Minimize image Edit image Delete image&lt;/p&gt;

&lt;p&gt;Add a caption (optional) That is a classic downloader-style execution chain.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; The payload is triggered by normal Git actions The dangerous part is not just that the scripts exist. It is that they can fire during ordinary Git operations:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;commit,push,checkout.&lt;/p&gt;

&lt;p&gt;So the candidate does not need to do anything unusual.&lt;/p&gt;

&lt;p&gt;A normal workflow action can become the trigger.&lt;/p&gt;

&lt;p&gt;Why this scheme works This workflow is effective because it mixes trust and routine.&lt;/p&gt;

&lt;p&gt;It succeeds when:&lt;/p&gt;

&lt;p&gt;the task looks professional,the app looks real, the instructions sound standard,&lt;/p&gt;

&lt;p&gt;and the candidate follows normal Git behavior without checking hook files first.&lt;/p&gt;

&lt;p&gt;The candidate thinks they are doing an interview task. In reality, they may be executing a hidden payload.&lt;/p&gt;

&lt;p&gt;What makes it dangerous The risk is not just “bad code.”&lt;/p&gt;

&lt;p&gt;The actual danger is the combination of:&lt;/p&gt;

&lt;p&gt;social engineering, believable delivery, hidden Git execution points, and remote code download.&lt;/p&gt;

&lt;p&gt;That means the workflow itself is the attack.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;They inspect src/, package.json, and the dependencies.&lt;/em&gt; &lt;strong&gt;They forget that Git metadata can execute code before the app ever starts.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I did not treat this lightly. I checked the package scripts first. I did not run install commands, startup commands, or any Git action that could trigger hooks. The application itself did not show obvious preinstall or postinstall trickery. The dangerous behavior lived in the Git layer. That distinction matters.&lt;/p&gt;

&lt;p&gt;What made this worse is that Git hooks are not decorative files. Git runs them automatically at specific events. A developer can trigger them just by committing, pushing, or checking out code. So if a malicious hook is sitting inside the repo, it does not matter that the app code looks clean. The attack path is already in place.&lt;/p&gt;

&lt;p&gt;This was the first time I had to think about a job task in two layers at once.&lt;/p&gt;

&lt;p&gt;The visible layer was the app.&lt;/p&gt;

&lt;p&gt;The hidden layer was the repository itself.&lt;/p&gt;

&lt;p&gt;And that changed how I now review any take-home assignment. I no longer start by asking, “Does the app work?” I start by asking, “What executes before the app even opens?”&lt;/p&gt;

&lt;p&gt;This repo contained hook-based remote code execution behavior. And that pattern is not hypothetical. Security writeups have documented Git-hook abuse in fake interview and recruiter-style campaigns, especially where the target is a developer working in crypto or web3. Detection content from security vendors also treats Git-hook execution and hook-origin network egress as suspicious.&lt;/p&gt;

&lt;p&gt;So the practical lesson is not "never trust web3 projects."&lt;/p&gt;

&lt;p&gt;The lesson is "never trust a repo until you inspect the parts outside the app."&lt;/p&gt;

&lt;p&gt;If you receive an interview task or a code sample from a stranger, check these before you run anything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;.git/hooks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;.git/config&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;core.hooksPath&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;package.json scripts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;lockfile install scripts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;any shell, PowerShell, or Python files that run during setup&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a hook reaches out to the network and executes what it gets back, stop there. That is not a hook anymore. It is a launcher.&lt;/p&gt;

&lt;p&gt;I now treat interview repos as hostile until proven otherwise.&lt;/p&gt;

&lt;p&gt;Not every repo with hooks is malicious. Normal hooks exist. But normal hooks do not phone home and execute remote payloads.&lt;/p&gt;

&lt;p&gt;That is the line.&lt;/p&gt;

&lt;p&gt;I am publishing this because the defensive habit matters more than the story itself. Read the metadata. Check the hooks. Do not assume the dangerous code will be in src/.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you review take-home repos, have you ever looked past the app code and found something in Git metadata?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Sources I checked included Git's hook documentation, recent threat-intel reporting on Git-hook abuse, and vendor detection guidance for hook-based persistence and egress.&lt;/p&gt;

&lt;p&gt;Core incident pattern SocPrime — Git hooks used to hide malware in fake interview workflows: &lt;a href="https://socprime.com/active-threats/lazarus-group-uses-git-hooks-to-hide-malware-dprks-contagious-interview-and-taskjacker-campaigns/socprime" rel="noopener noreferrer"&gt;https://socprime.com/active-threats/lazarus-group-uses-git-hooks-to-hide-malware-dprks-contagious-interview-and-taskjacker-campaigns/socprime&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;OpenSourceMalware — Lazarus / Contagious Interview using Git hooks: &lt;a href="https://opensourcemalware.com/blog/lazarus-group-uses-git-hooks-to-hide-malwareopensourcemalware" rel="noopener noreferrer"&gt;https://opensourcemalware.com/blog/lazarus-group-uses-git-hooks-to-hide-malwareopensourcemalware&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Andrii.ro — Investigating malware spreading through Git repositories: &lt;a href="https://andrii.ro/blog/investigating-malwareandrii" rel="noopener noreferrer"&gt;https://andrii.ro/blog/investigating-malwareandrii&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Microsoft Security Blog — Contagious Interview fake developer job malware: &lt;a href="https://www.microsoft.com/en-us/security/blog/2026/03/11/contagious-interview-malware-delivered-through-fake-developer-job-interviews/microsoft" rel="noopener noreferrer"&gt;https://www.microsoft.com/en-us/security/blog/2026/03/11/contagious-interview-malware-delivered-through-fake-developer-job-interviews/microsoft&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Detection and security references Elastic detection rule — Git Hook Command Execution: &lt;a href="https://www.elastic.co/docs/reference/security/prebuilt-rules/rules/linux/persistence%5C_git%5C_hook%5C_executionelastic" rel="noopener noreferrer"&gt;https://www.elastic.co/docs/reference/security/prebuilt-rules/rules/linux/persistence\_git\_hook\_executionelastic&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Elastic / Detection FYI — Git Hook Egress Network Connection: &lt;a href="https://detection.fyi/elastic/detection-rules/linux/persistence%5C_git%5C_hook%5C_netcon/detection" rel="noopener noreferrer"&gt;https://detection.fyi/elastic/detection-rules/linux/persistence\_git\_hook\_netcon/detection&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Elastic hunting query repo reference: &lt;a href="https://github.com/elastic/detection-rules/blob/main/hunting/linux/queries/persistence%5C_via%5C_git%5C_hook%5C_pager.tomlgithub" rel="noopener noreferrer"&gt;https://github.com/elastic/detection-rules/blob/main/hunting/linux/queries/persistence\_via\_git\_hook\_pager.tomlgithub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SonarSource — Securing developer tools / Git integrations: &lt;a href="https://www.sonarsource.com/blog/securing-developer-tools-git-integrations/sonarsource" rel="noopener noreferrer"&gt;https://www.sonarsource.com/blog/securing-developer-tools-git-integrations/sonarsource&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fake recruiter / fake interview campaign coverage BleepingComputer — Fake job recruiters hide malware in developer coding challenges: &lt;a href="https://www.bleepingcomputer.com/news/security/fake-job-recruiters-hide-malware-in-developer-coding-challenges/bleepingcomputer" rel="noopener noreferrer"&gt;https://www.bleepingcomputer.com/news/security/fake-job-recruiters-hide-malware-in-developer-coding-challenges/bleepingcomputer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BleepingComputer — New wave of fake interviews use npm packages to spread malware: &lt;a href="https://www.bleepingcomputer.com/news/security/new-wave-of-fake-interviews-use-35-npm-packages-to-spread-malware/bleepingcomputer" rel="noopener noreferrer"&gt;https://www.bleepingcomputer.com/news/security/new-wave-of-fake-interviews-use-35-npm-packages-to-spread-malware/bleepingcomputer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Hacker News — Fake Next.js job repos targeting developers: &lt;a href="https://thehackernews.com/2026/02/fake-nextjs-repos-target-developers.htmlthehackernews" rel="noopener noreferrer"&gt;https://thehackernews.com/2026/02/fake-nextjs-repos-target-developers.htmlthehackernews&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CSO Online — North Korean cyberspies trick developers via fake job interviews: &lt;a href="https://www.csoonline.com/article/3479795/north-korean-cyberspies-trick-developers-into-installing-malware-with-fake-job-interviews.htmlcsoonline" rel="noopener noreferrer"&gt;https://www.csoonline.com/article/3479795/north-korean-cyberspies-trick-developers-into-installing-malware-with-fake-job-interviews.htmlcsoonline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CyberSecurityDive — State-linked hackers deploy malware in fake job interviews: &lt;a href="https://www.cybersecuritydive.com/news/north-korean-hackers--fake-interview/739165/cybersecuritydive" rel="noopener noreferrer"&gt;https://www.cybersecuritydive.com/news/north-korean-hackers--fake-interview/739165/cybersecuritydive&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CybersecurityNews — Beware of fake job interview challenges attacking developers: &lt;a href="https://cybersecuritynews.com/beware-of-fake-job-interview-challenges/cybersecuritynews" rel="noopener noreferrer"&gt;https://cybersecuritynews.com/beware-of-fake-job-interview-challenges/cybersecuritynews&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Economic Times Tech / Graphalgo coverage: &lt;a href="https://techmonk.economictimes.indiatimes.com/news/cybersecurity/graphalgo-security-alert-fake-job-interviews-are-dropping-rat-malware-on-developer-machines/118188688techmonk.economictimes.indiatimes" rel="noopener noreferrer"&gt;https://techmonk.economictimes.indiatimes.com/news/cybersecurity/graphalgo-security-alert-fake-job-interviews-are-dropping-rat-malware-on-developer-machines/118188688techmonk.economictimes.indiatimes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dev Popper / Bluegrid — Social engineering via fake job offers: &lt;a href="https://bluegrid.io/blog/dev-popper-how-social-engineering-exploits-developers-with-fake-job-offers/bluegrid" rel="noopener noreferrer"&gt;https://bluegrid.io/blog/dev-popper-how-social-engineering-exploits-developers-with-fake-job-offers/bluegrid&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Git hook hardening / disabling Stack Overflow — Disable Git hooks for security reasons: &lt;a href="https://stackoverflow.com/questions/35997624/how-to-disable-git-hooks-for-security-reasonstackoverflow" rel="noopener noreferrer"&gt;https://stackoverflow.com/questions/35997624/how-to-disable-git-hooks-for-security-reasonstackoverflow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stack Overflow — How to globally disable Git hooks: &lt;a href="https://stackoverflow.com/questions/48135161/how-to-globally-disable-git-hooks" rel="noopener noreferrer"&gt;https://stackoverflow.com/questions/48135161/how-to-globally-disable-git-hooks&lt;/a&gt;&lt;/p&gt;

</description>
      <category>securities</category>
      <category>socialengineering</category>
      <category>justinedevs</category>
    </item>
    <item>
      <title>The gap between AI demo hype and real user onboarding is bigger than most teams admit. Meta Architect v0.1.13 is our step toward closing it.</title>
      <dc:creator>JustineDevs</dc:creator>
      <pubDate>Sat, 06 Jun 2026 01:12:06 +0000</pubDate>
      <link>https://dev.to/justinedevs/the-gap-between-ai-demo-hype-and-real-user-onboarding-is-bigger-than-most-teams-admit-meta-m73</link>
      <guid>https://dev.to/justinedevs/the-gap-between-ai-demo-hype-and-real-user-onboarding-is-bigger-than-most-teams-admit-meta-m73</guid>
      <description>&lt;p&gt;Most AI tools look impressive in demos. Very few feel usable when you actually install them. Meta Architect v0.1.13 changes that — 33 plugins, a live demo, and a cleaner path from install to first skill. &lt;/p&gt;

&lt;p&gt;I've just shipped the most complete release of the Codex skills bundle yet, with a real demo, a restructured onboarding story, and 33 documented plugins and features across the full skill surface.&lt;/p&gt;

&lt;p&gt;🔗 Repository: &lt;a href="https://github.com/JustineDevs/meta-architect" rel="noopener noreferrer"&gt;https://github.com/JustineDevs/meta-architect&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why this release matters &lt;a href="https://www.linkedin.com/pulse/shipping-meta-architect-v016-codex-skills-real-work-justine-lupasi-bhusc/" rel="noopener noreferrer"&gt;v0.1.6&lt;/a&gt; was about coherence getting the packaging, identity, and install story right. &lt;a href="https://github.com/JustineDevs/meta-architect/releases/tag/v0.1.13" rel="noopener noreferrer"&gt;v0.1.13&lt;/a&gt; is about showing the product clearly and making it easier to trust.&lt;/p&gt;

&lt;p&gt;The gated lane sequence hasn't changed. But everything around it has: the manager is smarter, there are more skills to reach for, the install surface covers more platforms, and the README now leads with a live demo and a capability table instead of release-maintainer details.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If v0.1.6 was "ready enough for people who want to use it in anger"&lt;/em&gt;, &lt;strong&gt;v0.1.13 is "ready enough for people who want to understand it in 30 seconds and then use it in anger".&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What v0.1.13 focuses on A real demo, not static copy
&lt;/h2&gt;

&lt;p&gt;The README now opens with a live demo GIF that shows install, $maestro orchestration, Obsidian brain context, learning reliability, environment awareness, Ralph handoff, and release verification — with real runtime functions, not screenshots of documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The README now leads with:
&lt;/h2&gt;

&lt;p&gt;Install command&lt;br&gt;
Demo media&lt;br&gt;
Capability summary table&lt;br&gt;
Grouped feature inventory (expandable)&lt;br&gt;
Long-form release-maintainer details are collapsed into blocks. A first-time viewer can follow the product story without wading through packaging rules.&lt;/p&gt;

&lt;p&gt;"What You Get" capability table&lt;/p&gt;

&lt;p&gt;A new top-level table makes the full surface scannable at a glance:&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%2Fa91xvau0ktn25499q4ik.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%2Fa91xvau0ktn25499q4ik.png" alt="New added" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An expandable section now lists every plugin and feature across six categories: Core &amp;amp; Orchestration, Memory &amp;amp; Knowledge, Intelligence &amp;amp; Learning, Code Quality &amp;amp; Testing, Security &amp;amp; Compliance, Architecture &amp;amp; Methodology, DevOps &amp;amp; Observability, and Extensibility.&lt;/p&gt;

&lt;p&gt;How you use it &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/JustineDevs/meta-architect#cli-install" rel="noopener noreferrer"&gt;Visit Setup Guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who this helps For developers&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The demo shows the full workflow end-to-end before you install anything&lt;/li&gt;
&lt;li&gt;The helper skills give you targeted tools between gates — alignment, diagnosis, test scaffolding, cleanup — without disrupting release state&lt;/li&gt;
&lt;li&gt;ma setup / ma bootstrap / ma doctor remove the manual setup friction that tripped people up in earlier versions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For new architects&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;$maestro as a bounded autonomous manager means you can ask it to choose the next step rather than tracking the sequence yourself&lt;/li&gt;
&lt;li&gt;The "What You Get" table and 33-plugin inventory give you a map of the surface before you start&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For experienced architects&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The gate model is explicit: CLEAR, APPROVED, VERIFIED, PARTIAL, GREEN, RED, WAIVED, LOCKED, READY — each status has a defined meaning and a defined effect on what is allowed next&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Evidence must come from repository-form GitMCP endpoints. A generic docs endpoint does not count as VERIFIED for build unlocking&lt;/li&gt;
&lt;li&gt;The Redaction Gateway, MCP policy, and exposure catalog give you explicit control over what context crosses trust boundaries&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;p&gt;I'm especially interested in feedback from people who:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;are running the gated sequence on real projects and hitting edge cases&lt;/li&gt;
&lt;li&gt;want to use the helper skills ($align, $diagnose, $tdd, $cleanup) and have opinions on where they fall short&lt;/li&gt;
&lt;li&gt;are on Linux and trying the native package install path for the first time&lt;/li&gt;
&lt;li&gt;watched the demo and found something that didn't match what the runtime actually does&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If that's you, the repo is here: 👉 &lt;a href="https://github.com/JustineDevs/meta-architect" rel="noopener noreferrer"&gt;https://github.com/JustineDevs/meta-architect&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>roblox-ai-os: Roblox AI OS (Creator) Skills for Codex, Claude, Cursor, and more IDE</title>
      <dc:creator>JustineDevs</dc:creator>
      <pubDate>Mon, 11 May 2026 06:48:53 +0000</pubDate>
      <link>https://dev.to/justinedevs/roblox-ai-os-roblox-ai-os-creator-skills-for-codex-claude-cursor-and-more-ide-4pap</link>
      <guid>https://dev.to/justinedevs/roblox-ai-os-roblox-ai-os-creator-skills-for-codex-claude-cursor-and-more-ide-4pap</guid>
      <description>&lt;p&gt;How I stopped "fighting" my code and started designing: My shift to an Agentic Workflow I got tired of AI Roblox tools fighting my project, so I built an open source.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;RCS, a Roblox Studio workflow layer for AI coding tools&lt;br&gt;
I built RCS because Roblox AI coding tools are great for rapid prototyping, but they get much harder to trust as projects grow.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A lot of current Roblox AI tools are useful for getting a mechanic working quickly, but the failure mode is usually not syntax. It is workflow drift: lost context, subtle logic bugs,&lt;/p&gt;

&lt;p&gt;repeated fixes that create new problems, weak verification, and code that becomes hard to maintain later.&lt;/p&gt;

&lt;p&gt;RCS is a workflow/runtime layer around Codex for Roblox creators. It does not try to be “another magic code generator”. The goal is to make AI-assisted Roblox work more structured and easier to trust.&lt;/p&gt;

&lt;p&gt;What it does today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gives a Roblox-first workflow from brief -&amp;gt; plan -&amp;gt; execution -&amp;gt; verification&lt;/li&gt;
&lt;li&gt;adds stricter planning before code generation for Roblox-specific work like remotes, DataStore, UI, plugins, and workspace structure&lt;/li&gt;
&lt;li&gt;keeps project state, plans, logs, and workflow context in one place&lt;/li&gt;
&lt;li&gt;supports multi-agent and adapter-style lanes instead of assuming every AI tool works the same way&lt;/li&gt;
&lt;li&gt;treats official Roblox references and grounded docs as part of the default workflow, to reduce hallucination&lt;/li&gt;
&lt;li&gt;The project is for advanced Roblox creators and technical tool/plugin builders, not for beginners looking for a single prompt-to-game button.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d especially love feedback on:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;whether this is the right abstraction layer for Roblox AI tooling&lt;/li&gt;
&lt;li&gt;whether the platform compatibility model makes sense&lt;/li&gt;
&lt;li&gt;where the boundary should be between code generation, workflow control, and live Studio integration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://github.com/JustineDevs/roblox-ai-os" rel="noopener noreferrer"&gt;Full source&lt;/a&gt;&lt;/p&gt;

</description>
      <category>roblox</category>
      <category>ai</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>What is Meta-Architect?</title>
      <dc:creator>JustineDevs</dc:creator>
      <pubDate>Sat, 02 May 2026 16:53:44 +0000</pubDate>
      <link>https://dev.to/justinedevs/what-is-meta-architect-l3c</link>
      <guid>https://dev.to/justinedevs/what-is-meta-architect-l3c</guid>
      <description>&lt;p&gt;&lt;strong&gt;When we talk about AI coding agents, most tools are great at “fill in this function” and pretty weak at “is this system actually well-designed?”.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Meta-Architect is live on GitHub.&lt;br&gt;
Repo link: &lt;a href="https://github.com/JustineDevs/meta-architect" rel="noopener noreferrer"&gt;https://github.com/JustineDevs/meta-architect&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What Meta-Architect is (and isn’t)&lt;br&gt;
Meta-Architect:&lt;br&gt;
runs as skills inside Codex&lt;br&gt;
ships as a package/plugin, not a new shell&lt;br&gt;
tries to help with architecture, not just local code edits&lt;br&gt;
It’s designed to plug into the Codex ecosystem rather than competing with it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here is what you get.&lt;/p&gt;

&lt;p&gt;What Meta-Architect is&lt;br&gt;
Meta-Architect gives your AI agents a real architecture workflow, not loose prompts.&lt;/p&gt;

&lt;p&gt;You get six named roles with strict responsibilities.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;\$arch designs the system and explains the stack&lt;/li&gt;
&lt;li&gt;\$sage pulls proven OSS patterns and libraries&lt;/li&gt;
&lt;li&gt;\$flow maps user flows, state, and edge cases&lt;/li&gt;
&lt;li&gt;\$vet reviews security and stops unsafe builds&lt;/li&gt;
&lt;li&gt;\$vibe reviews developer experience and user experience&lt;/li&gt;
&lt;li&gt;\$build turns the approved plan into an execution roadmap&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each role is a skill with a clear contract.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it fits into your workflow
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The idea is not to replace your existing tools.&lt;br&gt;
Instead, Meta-Architect gives you a set of skills you can call when you need to:&lt;br&gt;
understand the shape of a system&lt;br&gt;
explore alternative designs&lt;br&gt;
identify weak boundaries and risky assumptions&lt;br&gt;
turn requirements into more structured plans&lt;br&gt;
You stay inside Codex; Meta-Architect just adds a set of focused capabilities on top.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Why this exists&lt;br&gt;
Most AI dev tools feel helpful at first, then fall apart when you try to ship.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They hallucinate stacks that never reach production&lt;/li&gt;
&lt;li&gt;They ignore architecture, security, and release gates&lt;/li&gt;
&lt;li&gt;They treat your repo as plain text instead of a system with rules and states&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Meta-Architect goes the other way.&lt;br&gt;
You treat the repo as the source of truth for skills, prompts, gates, packaging, and CI from v0.1.0 onward.&lt;/p&gt;

&lt;p&gt;What lives in the repo&lt;br&gt;
You are not downloading a bag of prompts.&lt;br&gt;
You are getting a shaped repository.&lt;/p&gt;

&lt;p&gt;Skills&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;skills/meta-architect-*.md holds the core skills for Arch, Sage, Flow, Vet, Vibe, Build&lt;/li&gt;
&lt;li&gt;each skill defines a trigger, responsibilities, expected outputs, and gate impact&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Prompts&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;stable role prompts for Architect, Sage, Flow, Security Reviewer, Builder, and others&lt;/li&gt;
&lt;li&gt;written as contracts so your agents keep the same behavior across sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Templates&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;templates/AGENTS.md defines how triggers, gates, and evidence should behave together&lt;/li&gt;
&lt;li&gt;templates/catalog-manifest.json is the catalog for skills and prompts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Missions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;scenario folders like collaborative whiteboard, fintech app, SaaS dashboard&lt;/li&gt;
&lt;li&gt;each mission describes constraints, expected gate changes, and what artifacts you should see&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plugin and publishing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;plugins/meta-architect provides a bundle you can install as a plugin in compatible runtimes&lt;/li&gt;
&lt;li&gt;scripts and npm commands handle skills:manifest, skills:validate, skills:pack, skills:install&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repo discipline&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CONTRIBUTING plus issue forms keep contributions aligned with release safety&lt;/li&gt;
&lt;li&gt;CI workflows run skills manifest, validate, pack, and install on each change&lt;/li&gt;
&lt;li&gt;release and npm publish workflows treat your skills as versioned artifacts&lt;/li&gt;
&lt;li&gt;checks prevent .omx runtime state from leaking into git&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How you use this on a real project&lt;br&gt;
Say your idea is:&lt;br&gt;
“I want an AI powered smart contract security review workspace for solo founders.”&lt;/p&gt;

&lt;p&gt;You run the skills in this order.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;\$arch gives you system boundaries, stack choices, and clear risks&lt;/li&gt;
&lt;li&gt;\$sage finds frameworks, auth, and infra from curated OSS lists&lt;/li&gt;
&lt;li&gt;\$flow maps user journeys, data flow, and failure paths&lt;/li&gt;
&lt;li&gt;\$vet reviews security and stops the build if status is not GREEN&lt;/li&gt;
&lt;li&gt;\$vibe reviews onboarding, complexity, and usability&lt;/li&gt;
&lt;li&gt;\$build turns the approved plan into repo layout, environment setup, and v0.1.0 milestones&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You move from idea to gated plan in a repeatable way.&lt;/p&gt;

&lt;p&gt;Who this helps&lt;br&gt;
For developers&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You keep control of architecture while offloading repetitive design work&lt;/li&gt;
&lt;li&gt;You get a build plan that respects security and release practice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For new architects&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You see how decisions, patterns, trade offs, and gates connect&lt;/li&gt;
&lt;li&gt;You get concrete examples instead of vague theory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For experienced architects&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why share this now?&lt;br&gt;
This release is “ready enough” for people who actually want to use it in anger and tell me where it breaks:&lt;br&gt;
architecture folks who want more structure around design discussions&lt;br&gt;
engineers experimenting with AI-assisted reviews or design sessions&lt;br&gt;
anyone tired of manually repeating “here’s how our system works…” to an LLM&lt;br&gt;
If you want to kick the tires:&lt;br&gt;
👉 &lt;a href="https://github.com/JustineDevs/meta-architect" rel="noopener noreferrer"&gt;https://github.com/JustineDevs/meta-architect&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You get a checklist that encodes your process into skills and CI&lt;/li&gt;
&lt;li&gt;You can standardize how teams and agents reason about architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For maintainers and tool builders&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You start from a repo pattern that already has skills, prompts, missions, MCP config, CI, and plugin bundling&lt;/li&gt;
&lt;li&gt;You can adapt this pattern for your own skills library&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What comes next&lt;br&gt;
Near term work&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make the Architect skill behave like a small architecture handbook&lt;/li&gt;
&lt;li&gt;Expand missions with deeper real world scenarios&lt;/li&gt;
&lt;li&gt;Improve docs for skills publishing and MCP setup&lt;/li&gt;
&lt;li&gt;Wire this into Codex style workflows so agents help maintain the repo under gates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Longer term work&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Turn Meta-Architect into a base template for new repos that want AI aware architecture from day one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this is the type of discipline you want around your AI workflows, review the repo, open an issue, or start a fork.&lt;br&gt;
Repo link again: &lt;a href="https://github.com/JustineDevs/meta-architect" rel="noopener noreferrer"&gt;https://github.com/JustineDevs/meta-architect&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Go-MiroFish, lightweight and local-first</title>
      <dc:creator>JustineDevs</dc:creator>
      <pubDate>Sat, 25 Apr 2026 15:01:30 +0000</pubDate>
      <link>https://dev.to/justinedevs/go-mirofish-lightweight-and-local-first-bh6</link>
      <guid>https://dev.to/justinedevs/go-mirofish-lightweight-and-local-first-bh6</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Go-Mirofish Fast local Go AI swarm engine – predict anything with agents&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I needed a fast offline tool to test reactions to documents. I upload an earnings report or trading thesis or product announcement. I want to see how hundreds of different AI agents respond in a social simulation. No data leaves my machine. No slow cloud delays.So I built go-mirofish.You feed the tool any document. It builds a knowledge graph. It creates hundreds of AI agents. Each agent has its own personality. The agents run a full social simulation. You get a prediction report. You can chat with any agent to ask more questions.I rewrote the control plane in pure Go. Python no longer runs the hot path. The system now delivers sub 2 ms p50 latency. It handles 198 requests per second with zero errors. It runs on a standard laptop. It also runs on a Raspberry Pi 5.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Here is how you start in minutes: &lt;a href="https://go-mirofish.vercel.app/docs" rel="noopener noreferrer"&gt;https://go-mirofish.vercel.app/docs&lt;/a&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;
  &lt;td&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%2Fhr8m7ha3c9m72ovlhdv9.png" width="800" height="416"&gt;
    &lt;br&gt;
    &lt;b&gt;Home / entry&lt;/b&gt;
  &lt;/td&gt;
  &lt;td&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%2F1zfewho76wquinaya28v.png" width="800" height="413"&gt;
    &lt;br&gt;
    &lt;b&gt;Simulation run&lt;/b&gt;
  &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&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%2F5zivu0l8glx7ssj8f551.png" width="800" height="409"&gt;
    &lt;br&gt;
    &lt;b&gt;Report generation&lt;/b&gt;
  &lt;/td&gt;
  &lt;td&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%2Fcw64t0uta5n9kzst3jnf.png" width="800" height="410"&gt;
    &lt;br&gt;
    &lt;b&gt;Report timeline / tools&lt;/b&gt;
  &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&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%2F1c9r7lhr38ldxh5k1shr.png" width="800" height="296"&gt;
    &lt;br&gt;
    &lt;b&gt;Simulation history&lt;/b&gt;
  &lt;/td&gt;
  &lt;td&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%2F5slxt46yx71gfps4j8ye.png" width="800" height="413"&gt;
    &lt;br&gt;
    &lt;b&gt;Deep interaction&lt;/b&gt;
  &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&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%2Fccocgnfxltxlryly6h0f.png" width="800" height="414"&gt;
    &lt;br&gt;
    &lt;b&gt;Split: graph, workbench &amp;amp; system terminal&lt;/b&gt;
  &lt;/td&gt;
  &lt;td&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%2Fred76106ckqy50rcy1gj.png" width="800" height="415"&gt;
    &lt;br&gt;
    &lt;b&gt;Graph view &amp;amp; node details&lt;/b&gt;
  &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to these projects. MiroFish created the original swarm engine. MiroFish-Offline added the local English version. OASIS powers the multi-agent simulation. Neo4j manages the graph memory. Ollama runs the local models.I built go-mirofish for real work. Traders test market reactions and liquidation forecasts. Product teams run PR war rooms. &lt;br&gt;
Teams practice cyber drills. &lt;/p&gt;

&lt;p&gt;Writers explore alternate story endings.&lt;br&gt;
Try the demo here. &lt;br&gt;
&lt;a href="https://go-mirofish.vercel.app" rel="noopener noreferrer"&gt;https://go-mirofish.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See the full source here. &lt;br&gt;
&lt;a href="https://github.com/go-mirofish/go-mirofishWhat" rel="noopener noreferrer"&gt;https://github.com/go-mirofish/go-mirofishWhat&lt;/a&gt;&lt;br&gt;
document will you test first. Tell me in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
