oils-for-unix/oils

Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on September 20th, 2026
Created on November 15th, 2016
Open Issues & Pull Requests: 610 (+0)
GitHub issues: Enabled
Number of forks: 194
Total Stargazers: 3,392 (+0)
Total Subscribers: 38 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 170
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 657 days
Stale 30+ days: 170
Stale 90+ days: 170

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • user-feedback (35)
  • divergence (27)
  • pending-release (26)
  • help wanted (24)
  • bug (17)
  • accepted (16)
  • interactive-shell (13)
  • osh-parsing (12)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Oils is a Unix shell that provides an upgrade path from bash to a better language and runtime, available in two modes: OSH for running existing shell scripts and YSH for Python and JavaScript users who avoid shell.

The project addresses the limitations of bash by offering a modernized shell language with improved syntax and semantics. It is written in Python for ease of modification and prototyping, but the codebase is translated to C++ using custom tools to produce a fast, small deployed executable that has no Python runtime dependency. This dual-nature approach allows developers to work in Python while delivering optimized binaries.

Oils suits developers who want to move beyond bash's constraints without abandoning shell scripting entirely, or those from Python and JavaScript backgrounds seeking a more familiar shell experience. The project explicitly welcomes contributors at all levels, emphasizing that the codebase is a medium-sized Python program with extensive tests, making it accessible to programmers experienced with Python. The maintainer notes that contributions need only work in Python initially, with C++ translation handled separately, and that even failing spec tests are valuable contributions for OSH compatibility work.

Development activity shows a maintainer who prioritizes responsiveness and accessibility. The contribution guidelines emphasize a low bar to entry and actively solicit small contributions, including test-only submissions that help define shell compatibility without requiring code changes. The continuous build tests changes at every commit, and the project maintains a clear separation between the development repository and release tarballs to set proper expectations for contributors.