Commit Graph

35 Commits

Author SHA1 Message Date
20f1798782 feat: add justfile task automation and multi-agent Claude orchestration
Task Automation (justfile):
- Comprehensive justfile with 50+ recipes for all common tasks
- Dynamic argument passing for Docker commands
- Organized categories: dev, docker, testing, deployment, cleanup
- Environment variable substitution for flexible configuration
- Health checks and monitoring commands
- Database migration helpers
- Quality check automation (lint, format, security, test)

Development Workflow:
- just setup - One-command project initialization
- just dev/celery/scss-watch - Multi-terminal dev environment
- just build/deploy - Docker operations with custom tags
- just test/lint/check - Quality assurance automation
- just clean/prune - Cleanup utilities

Multi-Agent Claude Orchestration:
- .claude/system-prompt.md - Multi-agent orchestration system
  * 5 specialized personas (🏗️ Architect, 🎨 Frontend, ⚙️ Backend, 🔒 Security, 🚀 DevOps)
  * MCP server routing patterns (Sequential, Context7, Magic, Playwright, Morphllm, Serena)
  * Task coordination workflows and decision frameworks
  * Code quality standards and project-specific patterns

- CLAUDE.md - Project initialization guide
  * Technology stack overview
  * Project structure documentation
  * Key workflows and commands
  * Environment configuration guide
  * Multi-persona activation patterns
  * Quick reference for common tasks

Documentation:
- Updated README.md with comprehensive justfile documentation
  * Installation instructions for just
  * Quick start guide using justfile
  * Complete command reference organized by category
  * Claude AI assistance section
  * Improved project overview and features
  * Development and production workflows

Benefits:
- Consistent command interface across all operations
- Reduced cognitive load - no need to remember complex Docker commands
- Self-documenting workflows with `just --list`
- Claude can intelligently coordinate across multiple domains
- Improved onboarding with clear documentation

Usage:
  just                  # List all commands
  just setup            # Initialize project
  just dev              # Start development
  just start-claude     # View Claude context

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 16:45:04 -05:00
b129cd4f0c feat: modernize deployment pipeline for Komodo integration
Production Deployment Improvements:
- Added .env.example template for secure credential management
- Modernized Docker build workflow with branch sanitization
- Created Komodo deployment trigger workflow
- Updated compose.yaml with environment variable substitution

GitHub Workflows:
- Updated docker-image.yml:
  - Add branch name sanitization (replace / with -)
  - Generate both date-tagged and -latest Docker tags
  - Upgrade to actions/checkout@v4
  - Add pull: true for layer caching

- New komodo-deploy.yml:
  - Triggers after successful Docker Image CI
  - Sends signed webhook to Komodo service
  - Extracts and sanitizes branch names
  - Requires secrets: KOMODO_HOST, KOMODO_STACK_ID_OR_NAME, KOMODO_WEBHOOK_SECRET

Docker Compose Modernization:
- Dynamic IMAGE_TAG with sensible defaults (main-latest)
- Configurable memory limits and reservations
- Environment variable substitution for all configs
- Added container names and restart policies
- Improved healthcheck with Host header
- Updated Traefik labels with Let's Encrypt cert resolver
- Added loadbalancer server URL configuration
- Explicit command paths for reliability

Security:
- .env.example provides safe template (no credentials)
- Actual .env remains in .gitignore (not tracked)

Pattern based on proven Formana deployment architecture.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 16:30:10 -05:00
8e514ded43 feat: comprehensive accessibility improvements for visually impaired users
Implemented WCAG 2.1 AA compliant accessibility enhancements:

ARIA & Semantic HTML:
- Added semantic landmarks (main, section, article, role attributes)
- Comprehensive ARIA labels and descriptions throughout
- ARIA live regions for dynamic content updates (polite/assertive)
- Screen reader-only text for context (.sr-only class)
- Proper heading hierarchy with IDs for navigation

Keyboard Navigation:
- Full keyboard support for SWOT cards (Arrow keys, Home, End)
- Skip to main content link for keyboard users
- Focus management: auto-focus results heading after analysis
- Focus visible styles already in place from SCSS

Screen Reader Enhancements:
- announceToScreenReader() function for status updates
- ARIA live regions on spinner, status timeline, results
- Descriptive labels for icons (aria-hidden for decorative)
- Category descriptions (e.g., "Strengths - positive internal factors")

Interactive Elements:
- Enhanced button and link labels
- Progress indicators with aria-busy and role="progressbar"
- Modal dialog attributes for spinner overlay
- Feed role for status timeline updates

Files Modified:
- result.html: SWOT cards, summary section with full ARIA support
- app.js: Screen reader announcements, keyboard nav, focus management
- base.html: Skip link and semantic main element
- EmptyState.jinja: role="status" with aria-live
- ErrorState.jinja: role="alert" for error announcements
- Spinner.jinja: Modal dialog with progress indicator
- status.html: Feed role for timeline updates
- _components.scss: sr-only and skip-link utility classes

These improvements ensure the SWOT analyzer is fully accessible to
visually impaired users using screen readers and keyboard navigation.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 16:22:01 -05:00
67fce2656b feat: migrate frontend styling to SCSS with modular architecture
- Implement SCSS with 7 modular partials for better maintainability:
  - _variables.scss: Complete design token system
  - _typography.scss: Font hierarchy and styles
  - _animations.scss: Reusable keyframe animations
  - _components.scss: UI components (spinner, search, buttons)
  - _layout.scss: Page structure (hero, SWOT cards, status timeline)
  - _states.scss: Empty and error state components
  - _responsive.scss: Mobile-first breakpoints
- Add build scripts for SCSS compilation and watch mode
- Add EmptyState and ErrorState components for better UX
- Enhance templates with progressive loading and accessibility
- Configure npm with local registry override (.npmrc)
- Add app.js for progressive loading and smooth interactions

Benefits:
- Better code organization with partial separation
- CSS custom properties for runtime theming
- BEM naming convention for maintainability
- Compressed output for production (13KB)
- Easy development with watch mode

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 16:17:10 -05:00
55d2abe4c7 feat: comprehensive frontend UX/UI improvements
Phase 1 Implementation: Enhanced visual design and user experience

## Design System
- Add custom CSS variables for brand colors (purple palette from logo)
- Implement semantic SWOT colors (green/amber/blue/red)
- Add neutral gray scale and shadow system
- Define transition timing functions

## Typography
- Import Inter font for body text with font-feature settings
- Import Space Grotesk for headings with tight letter-spacing
- Add gradient text effect for hero title
- Improve font rendering with antialiasing

## Hero Section
- Redesign with gradient background (purple theme)
- Add animated floating logo icon
- Center-aligned layout with improved hierarchy
- Enhanced subtitle with better readability

## Search Form
- Modern pill-shaped input group with shadows
- Icon integration with proper spacing
- Smooth hover/focus transitions
- Help text with contextual information
- Mobile-responsive stacked layout

## SWOT Result Cards
- Replace basic panels with modern card design
- Add colored top borders and icon badges
- Implement hover lift effects with enhanced shadows
- Add slide-up animations with stagger effect
- Count badges for each category
- Improved list styling with custom bullets
- Executive summary section with branded styling

## Loading States
- Enhanced spinner with backdrop blur
- Progress message display
- Improved loading text hierarchy
- Better visual feedback during analysis

## Responsive Design
- Mobile-first breakpoints (768px, 480px)
- Stacked form layout on mobile
- Single column card grid on small screens
- Adjusted typography sizing for small screens

Files updated:
- src/frontend/static/css/pygentic_ai.css (300+ lines of enhanced styles)
- src/frontend/templates/home.html (hero + search redesign)
- src/frontend/templates/result.html (modern card layout)
- src/frontend/templates/components/snippets/Spinner.jinja (progress messages)

This aligns with Constitution Principle IV (Observability) through better
user feedback, and represents a significant improvement in user experience.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 15:57:52 -05:00
04eec0cd82 fix: add local .npmrc to use public npm registry
- Configure frontend to use public npm registry instead of AWS CodeArtifact
- Fixes authentication errors when running npm commands
- Allows npm-check-updates (ncu) to run without credentials

This resolves the "expired credentials" error by overriding the global
.npmrc configuration with a local setting for this project.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 15:53:30 -05:00
53b1de7959 chore: migrate sqlmodel-crud-utilities to PyPI package
Some checks failed
Bandit / bandit (push) Has been cancelled
Docker Image CI / build (3.13) (push) Has been cancelled
- Remove git source dependency for sqlmodel-crud-utilities
- Use PyPI version v0.1.0 (was v0.0.1a1 from git)
- Update uv.lock with resolved PyPI dependencies
- Also updated: python-dotenv v1.0.1 -> v1.2.1, sqlmodel v0.0.22 -> v0.0.32

This simplifies dependency management by using official PyPI releases
instead of git sources where available.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 15:22:46 -05:00
c7e20d5100 feat: add speckit command definitions for Claude Code CLI
Add command definitions for the speckit workflow system:
- speckit.analyze: Cross-artifact consistency and quality analysis
- speckit.checklist: Generate custom feature checklists
- speckit.clarify: Identify underspecified areas and ask clarifying questions
- speckit.constitution: Create/update project constitution
- speckit.implement: Execute implementation plan and tasks
- speckit.plan: Execute implementation planning workflow
- speckit.specify: Create/update feature specifications
- speckit.tasks: Generate actionable, dependency-ordered task lists
- speckit.taskstoissues: Convert tasks to GitHub issues

These commands integrate with the constitution-based development workflow
established in v1.0.0.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 15:19:53 -05:00
5adea834b7 chore: modernize dependency management and update versions
- Remove legacy requirements.txt files (core_requirements.txt, dev_requirements.txt)
- Migrate to uv-native dependency management with pyproject.toml
- Update git dependencies to use version tags instead of commit hashes:
  - sqlmodel-crud-utilities: v0.0.1a1
  - fastapi-debug-toolbar: patch-2
- Remove pinned versions in pyproject.toml (versions managed via uv.lock)
- Regenerate uv.lock with updated dependency resolution
- Remove .python-version file
- Fix docstring in tools.py (Gemini → OpenAI)

This aligns with Constitution Principle on dependency management best practices.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 15:19:23 -05:00
b677f19646 docs: ratify constitution v1.0.0 (initial governance framework)
- Establish 6 core principles: TDD, API-First, Async, Observability, Type Safety, Security
- Define development standards for FastAPI + Celery + AI services architecture
- Add quality assurance requirements (pre-commit, code review, deployment gates)
- Synchronize all speckit templates with constitution requirements
- Add comprehensive NFRs and constitution compliance checks

BREAKING: All future features must comply with constitution principles

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 15:00:25 -05:00
f8c4dc633a adding icon to static folder 2025-01-23 17:22:25 -05:00
f49d3c6674 Updated README file 2025-01-23 17:19:11 -05:00
f46479bcc4 enhancements: reddit intelligence gathering now ingests multiple subreddits, as defined by the comma-delimited REDDIT_SUBREDDIT env var; added validate_result validator to swot agent; frontend fixes 2025-01-23 17:02:56 -05:00
ad10d98668 patching get_reddit_insights to pull from declared subreddit via get_val 2025-01-22 19:18:59 -05:00
a1d02f94f5 Update core_requirements.in
Hotfix
2025-01-22 18:51:16 -05:00
85e98cd529 Update python_start.sh
Hotfix
2025-01-22 18:30:55 -05:00
27c4d6c91b app reference fixes 2025-01-22 17:08:53 -05:00
0cd01d88c8 Merge pull request #1 from fsecada01/main
Development Branch Deployment
2025-01-22 17:03:10 -05:00
4919cc0620 modifying docker-image.yml to build on PRs into deploy branches, and PRs from specific branches 2025-01-22 16:43:05 -05:00
0a5ddea463 modifying docker-image.yml to build on PRs into deploy branches, and PRs from specific branches 2025-01-22 16:35:25 -05:00
ad961d4d2f Patching name of directory 2025-01-22 16:31:06 -05:00
b1e3c9bb2b adding github actions for CICD integrations. Ready to promote to deployment branches. 2025-01-22 16:21:42 -05:00
b11796ddd6 WORKING: populating results page. 2025-01-22 15:50:48 -05:00
f2363ff81d WIP: status component working; result page still being patched 2025-01-22 11:53:19 -05:00
05d8baffb1 WIP: adding pygentic.css for css spinner element; patching other components. Result objects not loading correctly and messages not stacking 2025-01-21 22:36:11 -05:00
07e7fa09a5 WIP: fixed HTML form issues; components not populating correctly yet 2025-01-21 18:01:06 -05:00
b7a466c714 WIP: completed alpha build of frontend; hx action triggering GET instead of POST request 2025-01-21 16:16:05 -05:00
1e371613dc WIP: building frontend; linkng pages to form backends 2025-01-20 22:16:04 -05:00
c281fd686e WIP: initial builds for site components 2025-01-17 23:09:11 -05:00
0e65c811a1 adding HTML components for HTMX integration 2025-01-17 17:10:15 -05:00
012ef4cc04 WIP: initial build of web app; need to build HTML components 2025-01-17 15:22:45 -05:00
e9bf06d5db initial building of routers and Agent management of SWOT analysis 2025-01-16 16:24:11 -05:00
a975e2b7ec adding boilerplate code for db integrations; settings based on environment, and logger; pre-commit updates 2025-01-16 13:36:24 -05:00
529f21f123 adding README.md 2025-01-16 12:48:58 -05:00
9b78170a90 initial bootstrapping 2025-01-16 11:33:26 -05:00