A powerful CLI automation tool for developers, focused on streamlining development workflows and documentation generation.
- 📝 Documentation Generation: Automatically generate comprehensive documentation for your codebase
- 📂 File System Operations: Intuitive file listing and management
- 🎨 Interactive Interface: User-friendly CLI with interactive menus
- ⚙️ Flexible Configuration: Customizable options for each command
npm install -g masRequires Node.js version 18 or higher.
You can use MAS CLI in two ways:
Simply run:
masThis will launch an interactive menu where you can select commands and options.
Run specific commands directly:
mas <command> [options]Generate documentation for your project:
mas doc [options]Options:
-p, --pattern <pattern>: File pattern to match (default: ".ts$")-o, --output <path>: Output file path (default: "documentation.md")-e, --exclude <patterns...>: Patterns to exclude (default: ["node_modules", "dist"])-c, --compress: Compress output by removing empty lines and comments-s, --max-size <size>: Maximum file size to process (e.g., "1MB")
Example:
mas doc --pattern "\.ts$" --output "docs/api.md" --exclude node_modules dist --max-size 2MBList files in the current directory:
mas list [options]Options:
-a, --all: Show hidden files
Exit the CLI:
mas exit└── mas
└── src
├── cli
│ └── index.ts
├── command
│ ├── CommandDoc.ts
│ ├── CommandExit.ts
│ ├── CommandList.ts
│ └── MasCLI.ts
├── services
│ ├── serviceDocumentation
│ └── serviceFileSystem
└── types
The CLI comes with sensible defaults but can be customized for each command. Key configuration options include:
- Documentation generation patterns
- File size limits
- Output formatting
- Directory exclusion patterns
To set up the development environment:
- Clone the repository:
git clone https://github.com/aminesayagh/mas.git
cd mas- Install dependencies:
npm install- Available scripts:
npm run build # Build the project
npm run start # Run the CLI
npm run typecheck # Run TypeScript type checking
npm run lint # Run linting
npm run format # Format code
npm run ci # Run all checks and buildContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.
Mohamed Amine SAYAGH - Website