CLI tool for creating and managing FIPS-compliant AI agent projects
Project description
FIPS Agents CLI
A command-line tool for creating and managing FIPS-compliant AI agent projects, with a focus on MCP (Model Context Protocol) server development.
Features
- ๐ Quick project scaffolding from templates
- ๐ฆ MCP server project generation
- ๐ง Automatic project customization
- ๐จ Beautiful CLI output with Rich
- โ Git repository initialization
- ๐งช Comprehensive test coverage
Installation
Using pipx (Recommended)
pipx install fips-agents-cli
Using pip
pip install fips-agents-cli
From Source (Development)
# Clone the repository
git clone https://github.com/rdwj/fips-agents-cli.git
cd fips-agents-cli
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in editable mode with dev dependencies
pip install -e .[dev]
Quick Start
Create a new MCP server project
fips-agents create mcp-server my-awesome-server
This will:
- Clone the MCP server template
- Customize the project with your chosen name
- Initialize a git repository
- Provide next steps for development
Specify a target directory
fips-agents create mcp-server my-server --target-dir ~/projects
Skip git initialization
fips-agents create mcp-server my-server --no-git
Usage
Basic Commands
# Display version
fips-agents --version
# Get help
fips-agents --help
fips-agents create --help
fips-agents create mcp-server --help
Create MCP Server
fips-agents create mcp-server <project-name> [OPTIONS]
Arguments:
project-name: Name for your MCP server project (must start with lowercase letter, contain only lowercase letters, numbers, hyphens, and underscores)
Options:
--target-dir, -t PATH: Target directory for the project (default: current directory)--no-git: Skip git repository initialization--help: Show help message
Examples:
# Create in current directory
fips-agents create mcp-server my-mcp-server
# Create in specific directory
fips-agents create mcp-server my-server -t ~/projects
# Create without git initialization
fips-agents create mcp-server my-server --no-git
Project Name Requirements
Project names must follow these rules:
- Start with a lowercase letter
- Contain only lowercase letters, numbers, hyphens (
-), and underscores (_) - Not be empty
Valid examples: my-server, test_mcp, server123, my-awesome-mcp-server
Invalid examples: MyServer (uppercase), 123server (starts with number), my@server (special characters)
After Creating a Project
Once your project is created, follow these steps:
# 1. Navigate to your project
cd my-mcp-server
# 2. Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install the project
pip install -e .[dev]
# 4. Run tests
pytest
# 5. Start developing!
# Edit src/my_mcp_server/ files to add your functionality
Development
Setup Development Environment
# Clone the repository
git clone https://github.com/rdwj/fips-agents-cli.git
cd fips-agents-cli
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install with dev dependencies
pip install -e .[dev]
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=fips_agents_cli --cov-report=html
# Run specific test file
pytest tests/test_create.py
# Run specific test
pytest tests/test_create.py::TestCreateMcpServer::test_successful_creation
Code Quality
# Format code with Black
black src tests
# Lint with Ruff
ruff check src tests
# Type checking (if using mypy)
mypy src
Project Structure
fips-agents-cli/
โโโ pyproject.toml # Project configuration
โโโ README.md # This file
โโโ src/
โ โโโ fips_agents_cli/
โ โโโ __init__.py # Package initialization
โ โโโ __main__.py # Entry point for python -m
โ โโโ cli.py # Main CLI application
โ โโโ version.py # Version information
โ โโโ commands/ # CLI command implementations
โ โ โโโ __init__.py
โ โ โโโ create.py # Create command
โ โโโ tools/ # Utility modules
โ โโโ __init__.py
โ โโโ filesystem.py # Filesystem operations
โ โโโ git.py # Git operations
โ โโโ project.py # Project customization
โโโ tests/ # Test suite
โโโ __init__.py
โโโ conftest.py # Pytest fixtures
โโโ test_create.py # Create command tests
โโโ test_filesystem.py # Filesystem utilities tests
โโโ test_project.py # Project utilities tests
Requirements
- Python 3.9 or higher
- Git (for cloning templates and initializing repositories)
Dependencies
- click (>=8.1.0): Command-line interface creation
- rich (>=13.0.0): Terminal output formatting
- gitpython (>=3.1.0): Git operations
- tomlkit (>=0.12.0): TOML file manipulation
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
pytest) - Format code (
black src tests) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Troubleshooting
Git not found
If you see "Git is not installed" error:
- macOS:
brew install git - Linux:
sudo apt-get install gitorsudo yum install git - Windows: Download from https://git-scm.com/downloads
Directory already exists
If you see "Directory already exists" error:
- Choose a different project name
- Remove the existing directory:
rm -rf project-name - Use a different target directory with
--target-dir
Template clone fails
If template cloning fails:
- Check your internet connection
- Verify the template repository is accessible: https://github.com/rdwj/mcp-server-template
- Try again later if GitHub is experiencing issues
License
MIT License - see LICENSE file for details
Links
- Repository: https://github.com/rdwj/fips-agents-cli
- Issues: https://github.com/rdwj/fips-agents-cli/issues
- MCP Protocol: https://modelcontextprotocol.io/
Changelog
Version 0.1.0 (MVP)
- Initial release
fips-agents create mcp-servercommand- Template cloning and customization
- Git repository initialization
- Comprehensive test suite
- Beautiful CLI output with Rich
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fips_agents_cli-0.1.0.tar.gz.
File metadata
- Download URL: fips_agents_cli-0.1.0.tar.gz
- Upload date:
- Size: 46.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
884f12e357ca7831079de53d8fa7caa10b3406bc663d1fdc5b1745506ae02867
|
|
| MD5 |
2eeb578daa933e9c1e3b83b1882b3298
|
|
| BLAKE2b-256 |
1adb8a365c1ef59215da1739cb93ffefe70f68b85a953974a02e94e0345097f4
|
Provenance
The following attestation bundles were made for fips_agents_cli-0.1.0.tar.gz:
Publisher:
workflow.yaml on rdwj/fips-agents-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fips_agents_cli-0.1.0.tar.gz -
Subject digest:
884f12e357ca7831079de53d8fa7caa10b3406bc663d1fdc5b1745506ae02867 - Sigstore transparency entry: 601283270
- Sigstore integration time:
-
Permalink:
rdwj/fips-agents-cli@ad89fa983d9d6343d8dfe09bf2190fb59e777b32 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/rdwj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yaml@ad89fa983d9d6343d8dfe09bf2190fb59e777b32 -
Trigger Event:
release
-
Statement type:
File details
Details for the file fips_agents_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fips_agents_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fc8ed13b0140716c9be2267d99be96b212295272085af5de0f42986c660ea13
|
|
| MD5 |
1a30e9ead6af0607236cb1356cc18a95
|
|
| BLAKE2b-256 |
254e6510fe85a834bb576cc3fe37154f945b78e187b79b783ec55b611c769650
|
Provenance
The following attestation bundles were made for fips_agents_cli-0.1.0-py3-none-any.whl:
Publisher:
workflow.yaml on rdwj/fips-agents-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fips_agents_cli-0.1.0-py3-none-any.whl -
Subject digest:
9fc8ed13b0140716c9be2267d99be96b212295272085af5de0f42986c660ea13 - Sigstore transparency entry: 601283273
- Sigstore integration time:
-
Permalink:
rdwj/fips-agents-cli@ad89fa983d9d6343d8dfe09bf2190fb59e777b32 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/rdwj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yaml@ad89fa983d9d6343d8dfe09bf2190fb59e777b32 -
Trigger Event:
release
-
Statement type: