DEV Community

Server-lab
Server-lab

Posted on • Edited on

I Built DoScript: An Automation Language Because Bash Was Too Hard

The Problem That Started It All

I wanted to automate tasks. Build installers. Organize files. You know, the stuff we all need to do.

Bash? Too complicated with its cryptic syntax and arcane rules.

PowerShell? Powerful, sure, but felt like learning a new programming language.

Batch files? Outdated and painful to write.

I just wanted to write automation scripts that read like English. Why wasn't there something simple for that?

So I thought: What if I built my own?

Meet DoScript

DoScript is an automation language designed to be as easy as writing English. No cryptic symbols, no confusing syntax—just straightforward commands that do what they say.

Here's what backing up PDFs looks like:

make folder "PDFBackup"

for_each file_in "Documents"
    if_ends_with ".pdf"
        copy {file_path} to "PDFBackup"
    end_if
end_for

say "Backup complete!"
Enter fullscreen mode Exit fullscreen mode

That's it. No pipes, no regex hell, no stackoverflow searches. Just readable automation.

What DoScript Can Do

DoScript handles the automation tasks I actually needed:

File Operations

make folder "ProjectBackup"
copy "report.docx" to "ProjectBackup"
move "old_data.csv" to "Archive"
delete file "temp.txt"
Enter fullscreen mode Exit fullscreen mode

Loops & Conditionals

for_each file_in "Downloads"
    if_older_than {file_name} 30 days
        delete file {file_path}
        say "Deleted old file: {file_name}"
    end_if
end_for
Enter fullscreen mode Exit fullscreen mode

System Operations

run "backup.bat"
open_link "https://example.com"
say "Opening website..."
wait 5 seconds
Enter fullscreen mode Exit fullscreen mode

Data Processing

json_read data from "config.json"
json_get "settings.theme" from data into theme
say "Current theme: {theme}"
Enter fullscreen mode Exit fullscreen mode

Plus: CSV handling, ZIP operations, HTTP requests, random generators, system monitoring, and more.

The Visual IDE

Here's where it gets interesting. I also built a visual node-based IDE for DoScript.

Drag commands, connect them with wires, and build automation workflows visually. When you're done, it generates clean DoScript code you can save and run.

Perfect for:

  • Visual learners who prefer flowcharts
  • Designing complex workflows
  • Learning the language interactively
  • Prototyping automation quickly

The Honest Truth About How I Built This

Let me be transparent about the development process:

What I designed:

  • The entire syntax (~90% of the language structure)
  • Every command and how it should work
  • The visual IDE concept
  • The design philosophy: "automation as easy as English"

How I built it:

  • Most of the Python implementation code was AI-generated
  • I designed the syntax, AI helped write the interpreter
  • I tested everything, debugged, and iterated
  • The visual IDE was coded with AI assistance

I'm not a Python expert. I'm someone who wanted better automation tools and had a clear vision of what the language should look like. AI helped me implement that vision.

My take: You don't need to write every line of code yourself to create something valuable. Good design and clear vision matter more than pure coding prowess.

Real Use Cases

Here are actual things I use DoScript for:

1. Daily File Cleanup

for_each file_in "Downloads"
    if_older_than {file_name} 7 days
        delete file {file_path}
    end_if
end_for
Enter fullscreen mode Exit fullscreen mode

2. Project Backup Automation

make folder "Backup_{today}"
for_each file_in "Projects"
    if_ends_with ".py"
        copy {file_path} to "Backup_{today}"
    end_if
end_for
zip "Backup_{today}" into "Backups/backup_{today}.zip"
Enter fullscreen mode Exit fullscreen mode

3. System Health Check

system_cpu into cpu_usage
system_memory into mem_usage

if greater_than {cpu_usage} 80
    say "Warning: CPU usage high at {cpu_usage}%"
end_if
Enter fullscreen mode Exit fullscreen mode

Try DoScript

GitHub: github.com/TheServer-lab/DoScript

The repository includes:

  • The Python interpreter (doscript.py)
  • Visual IDE (single HTML file, runs in browser)
  • Installer (only 8.5 MB!) - Install once, run .do scripts from any terminal
  • VS Code extension - Syntax highlighting and support for DoScript files
  • Example scripts
  • Full command reference

Quick Start (with installer):

# After installing, just run from anywhere:
do myscript.do
Enter fullscreen mode Exit fullscreen mode

Quick Start (without installer):

python doscript.py myscript.do
Enter fullscreen mode Exit fullscreen mode

Current version: v0.6.6

What's Next?

I'm actively developing DoScript based on what I need and what the community suggests. Some ideas:

  • More built-in commands
  • Better error messages
  • Package manager for sharing scripts
  • More visual IDE features

Questions I'm Expecting

Q: Why not just learn Bash/PowerShell properly?

A: I did try. For complex automation, they're great. For quick tasks, DoScript is faster and more readable.

Q: Is this production-ready?

A: It works for my daily automation. Use it, break it, tell me what needs fixing.

Q: Can I contribute?

A: Absolutely! It's open source. Ideas, bug reports, and code contributions all welcome.

Q: Why Python as the base?

A: Cross-platform, widely available, and easy to extend.

Final Thoughts

I built DoScript because existing tools felt unnecessarily complex for simple automation. If you've ever felt the same frustration, give it a try.

Is it perfect? No.

Does it solve a real problem? For me, absolutely.

What would YOU automate if the language was this simple?

Drop a comment, star the repo, or just try it out. I'd love to hear what you think.


Built with: Vision (mine), Python (AI-assisted), and a lot of coffee.

Top comments (0)