pew_pew_plx 0.5.0
pew_pew_plx: ^0.5.0 copied to clipboard
A Dart CLI tool for project file monitoring and tooling automation
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
Added #
- Cross-platform clipboard support via
ClipboardService(macOS and Linux) - GitHub Actions CI workflow (analyze, format, test on PRs)
- GitHub Actions release workflow (binary builds, GitHub Release, pub.dev publish)
- Homebrew formula template for macOS and Linux distribution
- Platform support documentation in README
- External dependencies documentation in README
Changed #
- Replaced macOS-only
pbcopy/pbpasteclipboard calls with platform-awareClipboardService - Prepared
pubspec.yamlfor pub.dev publishing (removedpublish_to: none, replaced path dependencies)
0.5.0 - 2026-03-10 #
Added #
plx initcommand to ensure config schema is up to date (merge new keys, migrate legacy)plx list feedbackcommand to list feedback markers (default markdown,-o json/yaml)plx list commentscommand to list unresolved PR review comments (default markdown,-o json/yaml)plx create image <prompt>command for image generation from text prompts via Gemini APIplx createparent command grouping creation subcommandsCreateImageConfigDtowithapiKey,defaultOutputDir,defaultModelin.plx/config.yaml- API key resolution:
GEMINI_API_KEY,PLX_GEMINI_API_KEY, orcreate_image.api_key --output,--filename,--count(1-8),--modelCLI options for create image- Agent architecture with event bus and routing capabilities for Claude Code backend
- Architecture documentation
- Opsx workflow management commands
- README "How It Works" section explaining project architecture and functionality
Changed #
- Config keys migrated to snake_case (
createImage→create_image) - Renamed
pew_pew_clidependency toturbo_plx_clifor consistency - Centralized default output format for list commands
- Enhanced PR review thread and feedback models
- Config split: auth, agent, and create_image.api_key stored in user config (
~/.plx/config.yaml); project config holds watch, feedback, paste, append, create_image output settings - Firebase API key removed from source; requires
--define=PLX_FIREBASE_API_KEYat build time - Removed
plxdevfrom public executables (dev-only, usemake devordart run bin/plxdev.dart)
Fixed #
- YamlConverter now emits valid YAML for list-of-maps (feedback/comments YAML output)
- Default output format for list commands set to markdown
- ConfigMerger treats
nullas "use default" for optional config objects - Version constant aligned with pubspec.yaml
- LICENSE malformed line removed
Security #
.plx/directory excluded from git tracking- Firebase auth export files excluded from git tracking
- Firebase Functions PII emails moved to environment params
- Hardcoded Firebase API key removed from source
0.4.0 - 2026-02-06 #
Added #
plx paste <filename>command to write clipboard content (viapbpaste) to a file in the current directoryplx append <source> <target>command to append source file content to target file, with duplicate detection and automatic source deletion
Fixed #
_flushThenExitin bothbin/plx.dartandbin/plxdev.dartnow usesstdout.flush()/stderr.flush()instead ofstdout.done/stderr.done, which never completed for short-lived commands causing exit codes to silently default to 0
0.3.0 - 2026-01-21 #
Added #
getevent type for reading single file content with metadatalistevent type for recursive directory listing with file contentFileReaderServicefor handling file read operationsFileEntryDtofor structured file list responseslastModifiedfield inWatchEventDtofor file timestamp metadatafilesfield inWatchEventDtofor list operation responsescopyWithmethod onWatchEventDtofor immutable transformations
Fixed #
- JSON output now uses compact format for CLI communication (removed indentation)
0.2.0 - 2026-01-20 #
Added #
- Bidirectional file watcher: receive JSON write/delete requests via stdin
FileWriterServicefor processing incoming file operation requests- Optional
idfield inWatchEventDtofor request/response correlation WatchEventType.errorfor failure responses with error messages- Event deduplication to prevent duplicate watch events for stdin-triggered writes
- Path traversal protection for write requests
- Extension and ignored folder validation for write requests
- Auto-creation of parent directories for write operations
- Integration tests for bidirectional flow and deduplication
Changed #
- Project renamed from "Pew Pew Plaza" to "Pew Pew Plx"
Fixed #
- Path validation security to prevent directory traversal attacks
0.1.0 - 2026-01-12 #
Added #
plx watch projectcommand for real-time file change monitoring- Configuration system with
.plx/config.yamlauto-creation - Trailing-edge throttler for rate-limiting file events (default 1000ms)
- Recursive directory watching with extension filtering
- Configurable ignore folders (default: .git, node_modules, build, .dart_tool, .plx)
- JSON event output to stdout with event type, path, and content
- Signal handling for clean shutdown (SIGINT, SIGTERM)
- CLI scaffold with
argspackage command runner - Version flag (
--version) support - LogService with
loggerpackage for structured logging - Dependency injection with
get_itfor service management - Unit and integration test infrastructure with BDD structure
Fixed #
- Immediate output flushing for file watch events
Changed #
- Area-based domain-driven code organization
- Renamed models to DTOs for data transfer pattern