惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
云风的 BLOG
云风的 BLOG
I
InfoQ
小众软件
小众软件
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
雷峰网
雷峰网
P
Proofpoint News Feed
腾讯CDC
H
Help Net Security
V
Visual Studio Blog
美团技术团队
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
阮一峰的网络日志
阮一峰的网络日志

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Bash workflows are broken — I built a tool to make them p...
артем · 2026-05-09 · via DEV Community

артем

If you’ve ever debugged a broken CI pipeline at 2 AM, you probably know this feeling:

  • “It works locally, but fails in CI”
  • “What changed since last deploy?”
  • “Why does this script behave differently on another machine?”

Shell workflows are powerful, but they have a fundamental problem:
they are not reproducible, not observable, and not structured by default.

I kept running into the same issues across different projects, so I decided to experiment with a small tool to fix this at the CLI level.


The problem: shell workflows are invisible systems

Bash and CLI tools are great, but they share a few weaknesses:

❌ No built-in logging

Once a command runs, it disappears unless you explicitly log everything.

❌ No reproducibility layer

Two developers running the same script can still get different outcomes.

❌ CI/CD setups drift over time

YAML configs, scripts, and environment assumptions slowly diverge.

❌ Debugging is mostly guesswork

You reconstruct what happened instead of observing it directly.


The idea: what if the terminal had a “trace layer”?

I wanted something simple:

  • every command is logged
  • workflows are reproducible
  • pipelines are predictable
  • debugging is deterministic instead of reactive

So I started building a small CLI toolkit called OLS (Open Linux Shell).


What OLS does

OLS is not a shell replacement.
It’s a toolkit layer on top of CLI workflows.

It focuses on three things:

1. Observability for CLI workflows

Every action is recorded so you can trace what actually happened.

2. Predictable environment checks

Instead of “it works on my machine”, you can validate setups explicitly.

3. Pipeline-first design

Tools are designed to work cleanly in CI/CD environments.


Example: CI/CD setup in one command

Instead of manually configuring GitHub Actions or copying templates:

cicd init

Enter fullscreen mode Exit fullscreen mode

This generates a ready-to-use CI/CD pipeline.


Example: environment validation

ols doctor

Enter fullscreen mode Exit fullscreen mode

Checks your system and highlights issues like:

  • missing dependencies
  • misconfigured environment
  • potential runtime problems

Why this matters

Most teams don’t fail because of code.

They fail because of:

  • inconsistent environments
  • unclear system state
  • missing visibility into what actually happened

OLS tries to reduce that gap by making CLI workflows more observable and reproducible.


Philosophy behind OLS

The design is based on a few principles:

1. Everything must be traceable

All actions should leave a clear trace so debugging becomes deterministic.

2. Minimal cognitive overhead

Commands should be simple and predictable, without unnecessary flags or complexity.

3. Pipeline-first thinking

Every tool should work naturally in CI/CD environments and support stdin/stdout workflows.

4. Offline-first usage model

Packages are downloaded once and cached locally for reuse.


Current status

OLS is an early-stage MVP.

It is:

  • experimental
  • evolving quickly
  • open to feedback and contributors

The goal is to explore whether adding a lightweight “observability layer” to CLI workflows actually improves developer experience in practice.


What I’m looking for

Right now, I’m mainly interested in:

  • feedback from DevOps / backend engineers
  • real-world edge cases
  • ideas for improving CLI observability
  • whether this approach is useful beyond personal workflows

Closing thought

We already have observability for systems, logs for applications, and metrics for infrastructure.

But our terminal workflows are still mostly invisible.

OLS is an attempt to change that — starting with something simple.


If you’ve worked with CI/CD, bash automation, or messy shell scripts, I’d really appreciate