Skip to content

Development

DevOps Tool Douklar edited this page May 23, 2026 · 1 revision

Development

Project Structure

SSM/
├── pyproject.toml              # Poetry config & dependencies
├── poetry.lock                 # Locked dependency versions
├── README.md
├── src/
│   └── ssm_explorer/
│       ├── __init__.py         # Package init & version
│       ├── main.py             # CLI entry point (Typer app)
│       ├── config.py           # Settings & configuration (Pydantic)
│       ├── commands/
│       │   ├── browse_cmd.py   # `browse` command (interactive TUI)
│       │   ├── check_cmd.py    # `check` command (diagnostics)
│       │   ├── config_cmd.py   # `config` command group
│       │   ├── deepsearch_cmd.py # `deepsearch` command
│       │   ├── diff_cmd.py     # `diff` command
│       │   ├── examples.py     # Command examples
│       │   ├── export_cmd.py   # `export` command
│       │   ├── get_cmd.py      # `get` command
│       │   ├── install_cmd.py  # `install` and `uninstall` wrappers
│       │   ├── list_cmd.py     # `list` command
│       │   └── search_cmd.py   # `search` command
│       ├── aws/
│       │   └── ssm_client.py   # AWS SSM client wrapper
│       ├── models/
│       │   └── parameter.py    # Pydantic data models
│       └── display/
│           ├── interactive.py  # Prompt-toolkit interactive filter TUI
│           └── renderer.py     # Rich terminal rendering
└── tests/
    ├── conftest.py
    ├── test_check_cmd.py
    ├── test_config.py
    ├── test_deepsearch_cmd.py
    ├── test_diff_cmd.py
    ├── test_models.py
    ├── test_renderer.py
    ├── test_ssm_client.py
    └── test_table_column_cli.py

Setup

# Install with dev dependencies
poetry install

Linting & Type Checking

# Run Ruff linter
poetry run ruff check src/

# Run Mypy type checker
poetry run mypy src/

Testing

# Run all tests
poetry run pytest

# Run with coverage report
poetry run pytest --cov=ssm_explorer

Contributing

See CONTRIBUTING.md for:

  • Development environment setup
  • Commit message conventions
  • Pull request workflow
  • Code style guidelines

Tech Stack

Component Library
CLI framework Typer
Terminal output Rich
Interactive TUI prompt-toolkit
Config & validation Pydantic
AWS SDK boto3
Linter Ruff
Type checker Mypy
Test runner pytest
Package manager Poetry
SSM Explorer

SSM Explorer 🔍

CI Python License: MIT


🏠 Home


🚀 Getting Started


📖 Commands

Command
✅ check
📋 list
🔍 search
🎯 get
🖥️ browse
🌐 deepsearch
↔️ diff
📤 export
🔧 config


🛠️ Contributing


Clone this wiki locally