Skip to content

Post-v1.0.0 Tasks and Code Quality Improvements #31

@dandye

Description

@dandye

This issue tracks remaining tasks and improvements identified during the v1.0.0 Typer migration. Many of these were originally tracked in PLANNING.md which is being converted to this issue.

High Priority - Code Quality & Security

Security Warnings in logstory.py

  • Fix security warnings in src/logstory/logstory.py:245-257
    • Address subprocess security warnings (B603, B607)
    • Fix exception handling patterns (B904)
    • Add proper error handling with raise ... from err
  • Address bandit security findings
    • Resolve hardcoded temp directory usage (B108)
    • Review subprocess module usage patterns
  • Ensure all pre-commit hooks pass
    • Run make pre-commit-run and fix any remaining issues
    • Verify pyink formatting is consistent

Testing & Validation

  • Comprehensive functionality testing
    • Test all migrated commands work correctly
    • Verify environment file loading in various scenarios
    • Test priority order: CLI options > env vars > .env file
    • Validate VS Code integration (--open flag)
  • Edge case testing
    • Test with missing .env files
    • Test with invalid environment file formats
    • Test with missing credentials or invalid UUIDs
    • Test mixed environment sources (local + GCS)

Documentation Review

  • Verify migration guide accuracy
    • Test all example commands in migration guide
    • Ensure old command mappings are correct
    • Add any missing command mappings
  • Update CHANGELOG.md
    • Document breaking changes clearly
    • Add migration instructions
    • Note new features and improvements

Medium Priority - User Experience

UX Improvements

  • Add command aliases for backward compatibility (optional)
    • Consider adding deprecated aliases for common old commands
    • Show deprecation warnings for old usage patterns
  • Enhanced error messages
    • Improve error messages for common misconfigurations
    • Add helpful hints for environment file issues
  • Auto-completion support
    • Test bash/zsh completion generation
    • Document how to enable shell completion

Extended Documentation

  • Add troubleshooting section to docs/env-file.md
    • Common error scenarios and solutions
    • Debug commands and techniques
  • Create video or GIF demos (optional)
    • Show new CLI workflow in action
    • Demonstrate environment file usage

Low Priority - Future Enhancements

Advanced Features

  • Configuration validation command
    • Add logstory config validate command
    • Check .env file syntax and credential access
  • Interactive configuration setup
    • Add logstory config init for guided setup
    • Generate .env files interactively

Testing Strategy

Manual Testing Checklist

# Basic functionality
logstory usecases list-installed
logstory usecases list-installed --details
logstory usecases list-installed --logtypes
logstory usecases list-available

# Environment file testing
logstory usecases list-available --env-file .env.example
logstory replay usecase TEST_CASE --env-file .env.example --local-file-output

# VS Code integration
logstory usecases list-installed --open SOME_USECASE

# Error handling
logstory replay usecase NONEXISTENT
logstory usecases list-available --env-file nonexistent.env

Automated Testing

  • Add unit tests for environment file loading logic
  • Add integration tests for CLI command structure
  • Test help text generation and formatting

Background

This issue consolidates tasks from the original PLANNING.md file that tracked the Typer migration work. The migration (PR #28) has been completed and released as v1.0.0, but several code quality and enhancement tasks remain.

Key Notes:

  • v1.0.0 introduced breaking changes to CLI interface
  • Clear migration guide provided in README and documentation
  • Environment file support and VS Code integration added
  • Some security warnings and pre-commit issues still need resolution

Contact

For questions about these tasks:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions