Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dragonxdev/amcsh
A high-performance Unix shell designed for speed
https://github.com/dragonxdev/amcsh
cli high-performance unix
Last synced: 11 days ago
JSON representation
A high-performance Unix shell designed for speed
- Host: GitHub
- URL: https://github.com/dragonxdev/amcsh
- Owner: DragonXDev
- Created: 2025-01-26T02:25:37.000Z (17 days ago)
- Default Branch: main
- Last Pushed: 2025-01-26T02:56:30.000Z (17 days ago)
- Last Synced: 2025-01-26T03:27:16.048Z (17 days ago)
- Topics: cli, high-performance, unix
- Language: C
- Homepage:
- Size: 60.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ amcsh - Advanced Modern C Shell
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)]()
[![C Version](https://img.shields.io/badge/C-C11-orange.svg)]()
[![Platform](https://img.shields.io/badge/platform-macOS%20|%20Linux-lightgrey.svg)]()
*A high-performance, modern shell written in C with focus on speed and efficiency* ๐โโ๏ธ๐จ
## โจ Features
- ๐ **High Performance**: Uses `posix_spawn` instead of traditional `fork/exec`
- ๐งต **Parallel Execution**: Built-in thread pool for concurrent operations
- ๐ **Smart Caching**: Optimized command caching with LRU eviction
- ๐ฏ **Job Control**: Full job control with background process support
- ๐ **Tab Completion**: Intelligent command completion using trie data structure
- ๐ **History Management**: Efficient command history with search capabilities
- ๐ง **Built-in Commands**: Optimized built-in commands for common operations## ๐ฏ Performance
AMCSH is designed with performance in mind:
- โก๏ธ **Fast Process Creation**: Up to 30% faster than traditional shells
- ๐ **Memory Efficient**: Optimized memory usage with smart data structures
- ๐ **Quick Command Lookup**: O(1) command resolution with hash-based cache
- ๐งต **Parallel Operations**: Asynchronous execution of shell operations## ๐ Getting Started
### Prerequisites
```bash
# Install CMake (macOS)
brew install cmake# Install CMake (Ubuntu/Debian)
sudo apt-get install cmake
```### Building from Source
```bash
# Clone the repository
git clone https://github.com/yourusername/amcsh.git
cd amcsh# Create build directory
mkdir build && cd build# Build
cmake ..
make# Run AMCSH
./amcsh
```## ๐ก Usage
### Basic Commands
```bash
# Change directory
cd /path/to/directory# List jobs
jobs# Background processes
command &# Bring job to foreground
fg %1# Send job to background
bg %1
```### Advanced Features
```bash
# Command history search
ctrl-r# Tab completion
command# Process substitution
command $(another_command)# I/O redirection
command > output.txt 2> error.log
```## ๐ Architecture
AMCSH is built with a modular architecture:
```
amcsh/
โโโ src/
โ โโโ main.c # Main shell loop
โ โโโ executor.c # Command execution
โ โโโ parser.c # Command parsing
โ โโโ builtins.c # Built-in commands
โ โโโ completion.c # Tab completion
โ โโโ history.c # History management
โ โโโ job_control.c # Job control
โ โโโ thread_pool.c # Thread pool
โ โโโ cmd_cache.c # Command cache
โโโ include/
โ โโโ amcsh.h # Main header
โ โโโ parser.h # Parser definitions
โโโ assets/
โ โโโ images/ # Logo and images
โโโ build/ # Build artifacts
```## ๐ง Configuration
AMCSH can be configured through environment variables:
| Variable | Description | Default |
|----------|-------------|---------|
| `AMCSH_HISTORY_SIZE` | Maximum history entries | 1000 |
| `AMCSH_CACHE_SIZE` | Command cache size | 128 |
| `AMCSH_MAX_THREADS` | Thread pool size | 4 |## ๐ค Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'feat: Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a PR## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ฅ Authors
- Amaar - *Initial work* - [GitHub Profile](https://github.com/dragonxdev)
## ๐ Acknowledgments
- Inspired by modern shell designs
- Built with performance optimization techniques
- Thanks to all contributors---
Made by Amaar :)