Skip to content

Releases: YourAverageMo/fml

v0.6.0 - Initial Public Release: AI-Powered CLI Command Helper

Choose a tag to compare

@YourAverageMo YourAverageMo released this 12 Jun 05:32

This marks the initial public release of fml, a lightweight, AI-powered command-line interface (CLI) helper designed to streamline your terminal workflow. fml allows you to input natural language queries and receive accurate CLI command suggestions, complete with explanations and flag breakdowns, directly in your terminal. The generated command is automatically copied to your clipboard for immediate use.

Key Features in this Release:

  • Natural Language Querying: Get CLI commands by simply asking in plain English (e.g., fml how do i view the git diff for my current branch compared to main?).
  • AI-Powered Command Generation: Leverages Google Gemini to provide relevant and accurate command suggestions.
  • Structured Output: Commands are presented with a clear explanation and a detailed breakdown of each flag and its description.
  • Automatic Clipboard Copy: The generated command is instantly copied to your system clipboard, enhancing efficiency.
  • Dynamic Model Selection: Choose your preferred AI model directly via CLI arguments (-m or --model).
  • Enhanced LLM Context: AI responses are improved with system information (OS, shell) for more tailored command suggestions.
  • Cross-Platform Compatibility: Designed to function seamlessly across macOS, Windows, and Linux.
  • Optional Color Output: Terminal output can be optionally colored for improved readability.
  • Robust Error Handling: Gracefully handles API errors, malformed AI responses, and missing API keys.

Technical Highlights:

  • Built with Python 3.12+ using argparse for CLI parsing.
  • Modular architecture with an AIService abstraction layer for easy integration of future AI providers.
  • Strict AI response validation using Pydantic schemas ensures reliable parsing.
  • Utilizes pyperclip for cross-platform clipboard integration and colorama for colored terminal output.

This release establishes the core functionality of fml, providing a solid foundation for future enhancements and expanded capabilities. We welcome feedback and contributions!