<?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: Aristote Mote Hernández (Dienür)</title>
    <description>The latest articles on DEV Community by Aristote Mote Hernández (Dienür) (@aristote_motehernndez).</description>
    <link>https://dev.to/aristote_motehernndez</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%2F4183032%2F9f2bbf56-3b2f-4c58-a593-aee64fd02682.jpg</url>
      <title>DEV Community: Aristote Mote Hernández (Dienür)</title>
      <link>https://dev.to/aristote_motehernndez</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aristote_motehernndez"/>
    <language>en</language>
    <item>
      <title>Zénit: a desktop workspace for code, AI assistance and real execution</title>
      <dc:creator>Aristote Mote Hernández (Dienür)</dc:creator>
      <pubDate>Tue, 13 Oct 2026 20:37:56 +0000</pubDate>
      <link>https://dev.to/aristote_motehernndez/zenit-a-desktop-workspace-for-code-ai-assistance-and-real-execution-1np8</link>
      <guid>https://dev.to/aristote_motehernndez/zenit-a-desktop-workspace-for-code-ai-assistance-and-real-execution-1np8</guid>
      <description>&lt;p&gt;Moving a file to a second monitor should not disconnect it from the rest of your work. Asking an assistant about a selection should not quietly send the whole file. And a Run button should tell you what actually happened.&lt;/p&gt;

&lt;p&gt;Those are the workflows behind &lt;strong&gt;Zénit&lt;/strong&gt;, a desktop coding workspace built with a Python backend, a JavaScript frontend, Monaco and native webview windows. I’m sharing its &lt;strong&gt;0.5.4 R5 public preview&lt;/strong&gt;, now with Apache-2.0 licensing and a clearer path for contributors.&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%2F21dn8fw8kr0mpv0p0zh0.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%2F21dn8fw8kr0mpv0p0zh0.png" alt="Zénit dark workspace: editing, terminal and Melody" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One workspace, more than one window
&lt;/h2&gt;

&lt;p&gt;Zénit keeps the editor, explorer, terminals and assistance together, but it does not force them onto one monitor. Detach an editor and its terminal sits directly below the code. Resize it, detach the terminal separately, or use the terminal in the main application instead.&lt;/p&gt;

&lt;p&gt;The important part is the shared buffer. Unsaved edits and saves synchronize between the application and the external editor. Concurrent conflicts are kept for resolution rather than silently overwritten. Appearance and project-tree changes also update across the views.&lt;/p&gt;

&lt;p&gt;This takes more than rendering a second page: document revisions, shell input, active-view terminal resizing and window ownership all need to agree.&lt;/p&gt;

&lt;h2&gt;
  
  
  Melody: make the scope visible
&lt;/h2&gt;

&lt;p&gt;Melody is the development assistant in the workspace. Connect a local engine or a supported provider and model; Zénit does not bundle a hosted AI subscription.&lt;/p&gt;

&lt;p&gt;R5 makes the request’s destination and context visible. For questions, choose &lt;strong&gt;Selection or file&lt;/strong&gt;, &lt;strong&gt;Whole file&lt;/strong&gt; or &lt;strong&gt;No code&lt;/strong&gt;. This fixes a concrete problem: the old context selector existed, but the question path still included the file.&lt;/p&gt;

&lt;p&gt;There is also a separate &lt;strong&gt;Edit file&lt;/strong&gt; mode for live buffer changes. It uses the complete file because an edit must preserve the surrounding code. A reviewed selection suggestion, by contrast, can replace only the range captured with the request. If the buffer changed afterwards, the stale proposal is rejected. Undo remains available.&lt;/p&gt;

&lt;p&gt;File plans can create, update or delete named session files with recovery copies and review. I’m careful to separate testing that workflow from claiming that a model is universally reliable: deterministic transport tests verify context and file behavior, not the intelligence of a provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Forge: close the execution loop
&lt;/h2&gt;

&lt;p&gt;Forge is the execution workspace. Its main Run action saves the current file, prepares the configured runtime and starts an interactive terminal. Python also has &lt;strong&gt;Run buffer&lt;/strong&gt; for unsaved editor content; C/GDB has its own debugging action.&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%2Fvd4iig9x3njukbp4thrt.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%2Fvd4iig9x3njukbp4thrt.png" alt="Forge after a real Python execution" width="800" height="574"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try this small file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Zénit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open it in Forge and select &lt;strong&gt;Run Python&lt;/strong&gt;. The terminal shows the program’s output; the execution card reports elapsed time and the real exit code. &lt;strong&gt;Run again&lt;/strong&gt; repeats the captured file. &lt;strong&gt;Stop&lt;/strong&gt; ends that tracked process without closing unrelated terminal sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design is part of the workflow
&lt;/h2&gt;

&lt;p&gt;R5 uses coordinated headers, quieter surfaces, clear primary actions and visible keyboard focus. There are light, dark and forest palettes. Motion respects reduced motion settings; scrolling works without permanently visible scrollbar chrome.&lt;/p&gt;

&lt;p&gt;The welcome screen and My activity provide another route back into a project. The screenshots here are the running application with a small demo workspace; Forge output is real, and no simulated AI answer is presented as a model result.&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%2Fv31n1scnmw6ttdtcxoq1.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%2Fv31n1scnmw6ttdtcxoq1.png" alt="Zénit welcome" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it and help shape the next iteration
&lt;/h2&gt;

&lt;p&gt;The current verified binary is &lt;strong&gt;Windows 10/11 x64&lt;/strong&gt;, with Edge WebView2. The release offers an installer, portable ZIP, manifest and SHA-256 checksums. Preview binaries are unsigned. The IDE has its own Python runtime; project toolchains and AI integrations are configured separately.&lt;/p&gt;

&lt;p&gt;Zénit is still a preview. VS Code extension compatibility is partial, regex/bulk replace are future work, and current Linux/macOS packages need separate build and verification. Original code and documentation use Apache-2.0; the independent ASM worker and dependencies retain their existing licenses.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Arizt00/Zenit" rel="noopener noreferrer"&gt;Explore the code and screenshots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Arizt00/Zenit/releases/tag/v0.5.4-preview.5" rel="noopener noreferrer"&gt;Download the R5 preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Arizt00/Zenit/blob/main/docs/STATUS.md" rel="noopener noreferrer"&gt;See working features and boundaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Arizt00/Zenit/blob/main/CONTRIBUTING.md" rel="noopener noreferrer"&gt;Contribute a focused improvement&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d especially like feedback on detached-window editing, terminal behavior at different DPI settings, and whether Melody’s context controls make the request scope understandable. What part of the edit → run → inspect loop would you improve first?&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>opensource</category>
      <category>python</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
