direnv is an extension for your shell that automatically loads and unloads environment variables based on the current directory by checking for .envrc or .env files. This allows for project-specific settings, such as 12factor app variables or deployment secrets, without cluttering global profile files.
- Supports multiple shells including bash, zsh, fish, tcsh, elvish, powershell, murex, and nushell.
- Language-agnostic design implemented as a fast, single static executable.
- Uses sub-shells to safely capture environment changes for the active shell session.
This page provides an overview of the 'Missing Semester' course, focusing on the importance of the shell as a powerful tool for computer scientists. It covers motivation, class structure, the basics of navigating and using the shell, and exercises to reinforce learning. The course aims to equip students with practical skills beyond rote memorization of commands, enabling them to automate tasks and solve complex problems efficiently.
Vercel has released Skills.sh, an open-source tool designed to provide AI agents with a standardized way to execute reusable actions, or skills, through the command line. The project introduces what Vercel describes as an open agent skills ecosystem, where developers can define, share, and run discrete operations that agents can invoke as part of their workflows.
Anurag Singh details seven small Python scripts designed to automate common tasks and improve productivity on both Mac and Windows machines:
**Script Name** | **Purpose** | **Key Features/Notes** |
|---|---|---|
| **Inbox Cleaner** | Cleans email inbox | Archives or deletes emails older than a specified number of days. Works with IMAP, compatible with most email providers. |
| **S3 Backup** | Backs up files to cloud storage | Uploads files to an S3-compatible storage provider. Minimalist, suitable for daily/weekly backups. |
| **Screenshot Sorter** | Organizes screenshots | Finds screenshots, sorts them by date into a tidy folder structure. Includes a dry-run mode. |
| **Bulk Rename** | Renames multiple files | Renames files using patterns or sequentially. Uses regular expressions for advanced renaming. |
| **Arrange It** | Organizes files into folders | Moves files into categorized folders based on their extension (Images, Docs, Spreadsheets, etc.). |
| **Clipboard Save** | Saves clipboard history | Saves every new clipboard item to a daily text file. Creates a personal history of copied text. |
An article detailing the author's experience replacing bash scripts with Python, outlining the improvements in readability, error handling, and testability, as well as the challenges encountered during the migration.
This blog post details a personal code review tool built around `llm` and `git diff`. It describes installation, how it works, how the author uses it, and its advantages over GitHub's Copilot review tool.