<?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: Dominik Kopócs</title>
    <description>The latest articles on DEV Community by Dominik Kopócs (@daemonic01).</description>
    <link>https://dev.to/daemonic01</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%2F3442754%2F575fcc9a-6d50-4abe-af6e-5ea2feb315a6.png</url>
      <title>DEV Community: Dominik Kopócs</title>
      <link>https://dev.to/daemonic01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/daemonic01"/>
    <language>en</language>
    <item>
      <title>Glyph.Flow DevLog #5 — From Alpha to First Release (v0.1.0)</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Fri, 12 Sep 2025 22:25:02 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-5-from-alpha-to-first-release-v010-l5p</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-5-from-alpha-to-first-release-v010-l5p</guid>
      <description>&lt;p&gt;It finally happened: &lt;strong&gt;Glyph.Flow&lt;/strong&gt; reached its first non-alpha release.&lt;br&gt;
When I started this little side project, knowing myself I didn’t expect to carry it this far. But after weeks of tinkering, refactoring, and fixing weird edge cases, I can finally call this one a proper release: v0.1.0. 🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What’s new in 0.1.0?
&lt;/h2&gt;

&lt;p&gt;This release is about moving from “hacky alpha playground” into a usable foundation.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Added
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;test command: runs automated checks for file integrity, configuration, and command functionality.&lt;/li&gt;
&lt;li&gt;bigsample command: generates a large project tree for stress-testing.&lt;/li&gt;
&lt;li&gt;New simple themes (crimson, arctic, desert) + hotkey T to switch between them.&lt;/li&gt;
&lt;li&gt;Config now stores your last used theme.&lt;/li&gt;
&lt;li&gt;A footer help bar with hotkeys, and it highlights itself when hotkeys are active.&lt;/li&gt;
&lt;li&gt;Header info field showing project stats (total, completed, ongoing).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔧 Improved
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cleaner command handlers.&lt;/li&gt;
&lt;li&gt;Better internal messages.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🐛 Fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PDF export now properly handles CJK/Cyrillic characters.&lt;/li&gt;
&lt;li&gt;Logs no longer get restored incorrectly after running clear + panel reconfig.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧩 Lessons learned along the way
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Undo/redo isn’t trivial: It’s easy to code “Ctrl+Z”, but making it memory-friendly and configurable took serious work.&lt;/li&gt;
&lt;li&gt;Export quirks: Supporting multilingual output in PDF sounded trivial until it wasn’t. Unicode fonts and encodings fight back.&lt;/li&gt;
&lt;li&gt;Theme switching: Handling Textual events and redrawing components was harder than I thought. It works now, but it’s just the first step toward a full theme engine.&lt;/li&gt;
&lt;li&gt;And of course, the “easy” bugs are the ones that eat your entire day. Or night in my case...&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;👉 Check out the project here: &lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠 Roadmap ahead
&lt;/h2&gt;

&lt;p&gt;The foundation is here, but I’ve got plenty of plans:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Advanced search filters (by type, regex, tags, date ranges).&lt;/li&gt;
&lt;li&gt;Profiles: separate workspaces for different projects.&lt;/li&gt;
&lt;li&gt;A proper theme engine.&lt;/li&gt;
&lt;li&gt;Expanded TUI interface with dashboard, statistics, and menu navigation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💡 Closing thoughts
&lt;/h2&gt;

&lt;p&gt;This is the first non-alpha release, but it’s still just the beginning.&lt;br&gt;
I’m excited to keep pushing this forward, and I’d love to hear feedback, ideas, or wild feature requests.&lt;/p&gt;

</description>
      <category>cli</category>
      <category>devjournal</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #4 – Import/Export, Config Overhaul, and the Road to 0.1.0</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Sun, 07 Sep 2025 23:43:15 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-3-importexport-config-overhaul-and-the-road-to-010-2jhc</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-3-importexport-config-overhaul-and-the-road-to-010-2jhc</guid>
      <description>&lt;p&gt;Two weeks ago I shared how &lt;strong&gt;Glyph.Flow&lt;/strong&gt; reached a big milestone with the introduction of undo/redo feature. Now it’s time for another big step: &lt;strong&gt;v0.1.0a9 just landed&lt;/strong&gt;, bringing import/export support and a completely revamped config and context system. This is the last alpha release before we hit the first real milestone: 0.1.0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## 🚀 What’s new in v0.1.0a9&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import/Export – You can now move your Glyph.Flow data between sessions or machines with ease.&lt;/li&gt;
&lt;li&gt;Export to JSON, CSV, or PDF.&lt;/li&gt;
&lt;li&gt;Import JSON files with three modes: replace, append, or merge.&lt;/li&gt;
&lt;li&gt;Config Overhaul – A brand new config handler makes settings more flexible and transparent. Cleaner initialization, clearer defaults, and better ergonomics.&lt;/li&gt;
&lt;li&gt;Two-step Context Initialization – This lays the groundwork for more flexible UI handling and future TUI improvements.&lt;/li&gt;
&lt;li&gt;Quality of life – More command aliases and some early bug fixes (like startup errors when data folders are missing).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Full changelog &lt;a href="https://github.com/daemonic01/Glyph.Flow/blob/main/CHANGELOG.md" rel="noopener noreferrer"&gt;here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## 🛠️ Why this matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Glyph.Flow is meant to be a minimalist workflow manager that still covers the essentials:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Portability (import/export makes it practical across machines).&lt;/li&gt;
&lt;li&gt;Safety (undo/redo keeps mistakes reversible).&lt;/li&gt;
&lt;li&gt;Transparency (config you can actually read and tweak).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each alpha has been about laying these bricks. With a9, the walls are up. Next step: add the roof.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## 🌌 The road to 0.1.0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(Probably) next Friday I’ll be releasing v0.1.0, the first proper milestone. It won’t yet have the fancy TUI everyone is waiting for (or just me 😆), but it will be the point where Glyph.Flow transitions from “proof of concept” to “usable workflow manager.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## Planned for 0.1.0:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Final polish on import/export and whole backend.&lt;/li&gt;
&lt;li&gt;Stability pass on config handling.&lt;/li&gt;
&lt;li&gt;README/Getting Started overhaul.&lt;/li&gt;
&lt;li&gt;And then we can start looking beyond: TUI layouts, dashboards, and advanced search features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you like the idea of a minimalist, keyboard-driven workflow manager in your terminal, now’s the time to jump in:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;- ⭐ Star the repo to follow along.&lt;/li&gt;
&lt;li&gt;- 🐛 Try it and tell me what’s broken.&lt;/li&gt;
&lt;li&gt;- 💡 Suggest features you’d want before 0.2.0.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next stop: 0.1.0 milestone. See you Friday. 🚀&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #3 – Splitting Logs &amp; UI Glow</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Thu, 28 Aug 2025 15:15:57 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-3-splitting-logs-ui-glow-3lk7</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-3-splitting-logs-ui-glow-3lk7</guid>
      <description>&lt;p&gt;Glyph.Flow just reached v0.1.0a7 🎉&lt;/p&gt;

&lt;p&gt;This update focused on making the app more usable and a bit nicer to look at:&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dual-log system → one log for system/runtime messages, one for command output.&lt;/li&gt;
&lt;li&gt;Animated panel adjustment (adjust) → smoothly toggle between log/output focus.&lt;/li&gt;
&lt;li&gt;Custom RichLog with buffering + reflow on resize.&lt;/li&gt;
&lt;li&gt;New header with live config info (version, autosave, logging) + pixelart logo.&lt;/li&gt;
&lt;li&gt;Fixed the startup crash when no data.json was present.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;The project is starting to feel more like a real TUI app and less like a wall of text. 🚀&lt;br&gt;
Repo: &lt;a href="https://github.com/daemonic01/Glyph.Flow/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #2 – Hitting the Registry Milestone</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Fri, 22 Aug 2025 21:00:39 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-2-hitting-the-registry-milestone-41h5</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-2-hitting-the-registry-milestone-41h5</guid>
      <description>&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%2F7o4092d3ehi2cht3ojpx.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%2F7o4092d3ehi2cht3ojpx.png" alt="Some small features" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last time I shared why I’m building Glyph.Flow, a minimalist workflow manager in the terminal with Textual.&lt;br&gt;
This week it’s time for an update on what I managed to get done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎯 The Big Goal&lt;/p&gt;

&lt;p&gt;I wanted to move from a rough prototype into something modular and extensible.&lt;br&gt;
That meant one thing: a command registry.&lt;/p&gt;

&lt;p&gt;🔨 What Changed This Week&lt;/p&gt;

&lt;p&gt;Backend refactor: my massive 630-line app.py is now down to ~112 lines. Commands live in a registry, not tangled logic.&lt;/p&gt;

&lt;p&gt;Command registry: all commands are defined declaratively, with schema-based argument parsing, aliases, and usage.&lt;/p&gt;

&lt;p&gt;Logging: unified styling and message keys, with autosave and error handling standardized.&lt;/p&gt;

&lt;p&gt;New config command: quick way to tweak settings on the fly.&lt;/p&gt;

&lt;p&gt;Consistency: adding a new command is now just “add a dict + handler”.&lt;/p&gt;

&lt;p&gt;😅 The Feeling&lt;/p&gt;

&lt;p&gt;It finally behaves like a real CLI app instead of a spaghetti prototype — but I’ll be honest, it’s still a prototype.&lt;br&gt;
The difference is: now the foundation feels stable enough to build on.&lt;/p&gt;

&lt;p&gt;⏭️ What’s Next&lt;/p&gt;

&lt;p&gt;More commands to migrate (delete, edit, schema, …).&lt;/p&gt;

&lt;p&gt;Road toward a TUI interface on top of this backend.&lt;/p&gt;

&lt;p&gt;Eventually, I’d like this to feel like a natural console companion for managing projects.&lt;/p&gt;

&lt;p&gt;That’s it for this week’s log.&lt;br&gt;
If you’re into command-line tools, or building things with Textual, I’d love to hear your feedback. 🚀&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #1 – Why I’m Building a Workflow App in a TUI?</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Tue, 19 Aug 2025 13:59:42 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-1-why-im-building-a-workflow-app-in-a-tui-2klm</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-1-why-im-building-a-workflow-app-in-a-tui-2klm</guid>
      <description>&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%2Fz41en90diwol8s4p5tw8.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%2Fz41en90diwol8s4p5tw8.png" width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;"Why build yet another workflow app? And why on earth in a TUI?"&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s the question I asked myself when I started this project.&lt;/p&gt;

&lt;p&gt;Over the years, I’ve tried countless tools – task trackers, kanban boards, Notion setups – but most of them felt heavy, clicky, or distracting. I wanted something much simpler: a workflow manager that lives entirely in the terminal, fully keyboard-driven, fast, and with zero context switching.&lt;/p&gt;

&lt;p&gt;At first, I hacked together a prototype using plain curses. It worked… kind of. But as the project grew, I realized I needed something more structured and maintainable. That’s when I discovered Textual, and decided to port everything over.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;So far, Glyph.Flow can:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;define hierarchical workflows (Project → Phase → Task → Subtask),&lt;/li&gt;
&lt;li&gt;save/load the entire structure as JSON,&lt;/li&gt;
&lt;li&gt;render trees, tables, and ASCII views,&lt;/li&gt;
&lt;li&gt;and handle commands like create, edit, delete, search, toggle.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The latest milestone (v0.1.0a4) brought two major improvements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a layered logging system with INFO/WARNING/ERROR/SUCCESS/HELP levels&lt;/li&gt;
&lt;li&gt;a command history module, so you can navigate previous inputs with the arrow keys.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Why might this be interesting?&lt;/strong&gt;&lt;br&gt;
👌🏻 Minimalism. Unlike most project managers, Glyph.Flow only cares about hierarchy and progress.&lt;/p&gt;

&lt;p&gt;&amp;lt;/&amp;gt; Terminal-native. It feels more like working with your projects than managing them through a UI.&lt;/p&gt;

&lt;p&gt;👨🏻‍💻 Personal journey. For me, this is not just a tool. It’s a playground to learn Textual, experiment with structured logging, and design clean extensible systems.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Next steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Command registry (auto-help, cleaner dispatch)&lt;/li&gt;
&lt;li&gt;Undo system (basic memento stack)&lt;/li&gt;
&lt;li&gt;Better error handling&lt;/li&gt;
&lt;li&gt;Export/import &amp;amp; statistics&lt;/li&gt;
&lt;li&gt;And eventually… a polished Textual TUI dashboard&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;This is still very alpha, but it’s already fun to use, and I’m excited to share the journey here.&lt;/p&gt;

&lt;p&gt;👉 You can check out the repo here: &lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;br&gt;
👉 Follow this series for future devlogs: Glyph.Flow Devlog #2 will be all about the command registry!&lt;/p&gt;

&lt;p&gt;These changes laid the foundation for the next big step: the command registry, which will finally eliminate the infamous elif chain and make adding new commands a one-file operation.&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
