aia 1.0.0.pre.beta → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.version +1 -1
  3. data/CHANGELOG.md +89 -0
  4. data/COMMITS.md +192 -11
  5. data/README.md +327 -110
  6. data/docs/cli-reference.md +93 -10
  7. data/docs/configuration.md +29 -36
  8. data/docs/contributing.md +2 -2
  9. data/docs/directives-reference.md +49 -27
  10. data/docs/examples/index.md +2 -2
  11. data/docs/examples/mcp/index.md +93 -97
  12. data/docs/examples/prompts/automation/index.md +3 -2
  13. data/docs/examples/tools/index.md +17 -27
  14. data/docs/faq.md +9 -12
  15. data/docs/guides/basic-usage.md +4 -4
  16. data/docs/guides/chat.md +39 -34
  17. data/docs/guides/tools.md +4 -4
  18. data/docs/index.md +36 -62
  19. data/docs/installation.md +1 -1
  20. data/docs/mcp-integration.md +75 -139
  21. data/docs/prompt_management.md +88 -1
  22. data/docs/security.md +79 -81
  23. data/docs/tools-and-mcp-examples.md +8 -6
  24. data/docs/workflows-and-pipelines.md +2 -6
  25. data/examples/.gitignore +1 -0
  26. data/examples/README.md +41 -0
  27. data/examples/run_all.sh +261 -0
  28. data/lib/aia/adapter/chat_execution.rb +9 -7
  29. data/lib/aia/adapter/mcp_connector.rb +0 -29
  30. data/lib/aia/adapter/modality_handlers.rb +23 -15
  31. data/lib/aia/adapter/tool_filter.rb +21 -0
  32. data/lib/aia/adapter/tool_loader.rb +1 -9
  33. data/lib/aia/chat_loop.rb +244 -0
  34. data/lib/aia/chat_processor_service.rb +6 -3
  35. data/lib/aia/config/cli_parser.rb +56 -18
  36. data/lib/aia/config/defaults.yml +17 -2
  37. data/lib/aia/config/validator.rb +52 -11
  38. data/lib/aia/config.rb +29 -3
  39. data/lib/aia/directive.rb +29 -0
  40. data/lib/aia/directives/configuration_directives.rb +2 -1
  41. data/lib/aia/directives/execution_directives.rb +1 -1
  42. data/lib/aia/directives/model_directives.rb +28 -27
  43. data/lib/aia/directives/web_and_file_directives.rb +78 -40
  44. data/lib/aia/errors.rb +20 -1
  45. data/lib/aia/fzf.rb +8 -7
  46. data/lib/aia/input_collector.rb +24 -0
  47. data/lib/aia/prompt_handler.rb +36 -8
  48. data/lib/aia/prompt_pipeline.rb +183 -0
  49. data/lib/aia/session.rb +22 -372
  50. data/lib/aia/skill_utils.rb +61 -0
  51. data/lib/aia/ui_presenter.rb +8 -0
  52. data/lib/aia.rb +4 -0
  53. metadata +19 -45
data/lib/aia.rb CHANGED
@@ -25,6 +25,7 @@ require_relative 'refinements/string' # adds #include_any? #include_all?
25
25
 
26
26
  require_relative 'aia/errors'
27
27
  require_relative 'aia/utility'
28
+ require_relative 'aia/skill_utils'
28
29
  require_relative 'aia/version'
29
30
  require_relative 'aia/config'
30
31
  require_relative 'aia/logger'
@@ -42,6 +43,9 @@ require_relative 'aia/directive_processor'
42
43
  require_relative 'aia/history_manager'
43
44
  require_relative 'aia/ui_presenter'
44
45
  require_relative 'aia/chat_processor_service'
46
+ require_relative 'aia/input_collector'
47
+ require_relative 'aia/prompt_pipeline'
48
+ require_relative 'aia/chat_loop'
45
49
  require_relative 'aia/session'
46
50
 
47
51
  # The AIA module serves as the namespace for the AIA application, which
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.beta
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dewayne VanHoozer
@@ -125,30 +125,30 @@ dependencies:
125
125
  name: ruby_llm
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - ">="
128
+ - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '0'
130
+ version: '1.12'
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - ">="
135
+ - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '0'
137
+ version: '1.12'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: ruby_llm-mcp
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - ">="
142
+ - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '0'
144
+ version: '0.8'
145
145
  type: :runtime
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - ">="
149
+ - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '0'
151
+ version: '0.8'
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: shellwords
154
154
  requirement: !ruby/object:Gem::Requirement
@@ -408,6 +408,7 @@ files:
408
408
  - docs/security.md
409
409
  - docs/tools-and-mcp-examples.md
410
410
  - docs/workflows-and-pipelines.md
411
+ - examples/.gitignore
411
412
  - examples/00_setup_aia.sh
412
413
  - examples/01_basic_usage.sh
413
414
  - examples/02_frontmatter.sh
@@ -474,6 +475,7 @@ files:
474
475
  - examples/prompts_dir/weather.md
475
476
  - examples/prompts_dir/whats_new.md
476
477
  - examples/prompts_dir/with_timestamp.md
478
+ - examples/run_all.sh
477
479
  - examples/tools/word_count_tool.rb
478
480
  - justfile
479
481
  - lib/aia.rb
@@ -490,6 +492,7 @@ files:
490
492
  - lib/aia/aia_completion.bash
491
493
  - lib/aia/aia_completion.fish
492
494
  - lib/aia/aia_completion.zsh
495
+ - lib/aia/chat_loop.rb
493
496
  - lib/aia/chat_processor_service.rb
494
497
  - lib/aia/config.rb
495
498
  - lib/aia/config/cli_parser.rb
@@ -508,10 +511,13 @@ files:
508
511
  - lib/aia/errors.rb
509
512
  - lib/aia/fzf.rb
510
513
  - lib/aia/history_manager.rb
514
+ - lib/aia/input_collector.rb
511
515
  - lib/aia/logger.rb
512
516
  - lib/aia/prompt_handler.rb
517
+ - lib/aia/prompt_pipeline.rb
513
518
  - lib/aia/ruby_llm_adapter.rb
514
519
  - lib/aia/session.rb
520
+ - lib/aia/skill_utils.rb
515
521
  - lib/aia/ui_presenter.rb
516
522
  - lib/aia/utility.rb
517
523
  - lib/aia/version.rb
@@ -541,43 +547,11 @@ metadata:
541
547
  post_install_message: |2+
542
548
 
543
549
  ╔══════════════════════════════════════════════════════════════╗
544
- ║ AIA — AI Assistant Installed!
550
+ ║ AIA — AI Assistant v1.0
545
551
  ╚══════════════════════════════════════════════════════════════╝
546
552
 
547
- Note: v0.10+ has breaking changes in config file format and
548
- environment variable names. See docs for details.
549
-
550
- ⚠ Prompt files now use .md extension (was .txt).
551
- Run: aia --migrate-prompts to convert existing prompts.
552
-
553
- Multi-model AI from your command line. 20+ providers supported.
554
-
555
- Quick Start:
556
- aia --help Show all options
557
- aia --chat Start an interactive chat session
558
- aia --fuzzy Select a prompt with fuzzy finder
559
- aia my_prompt_file Run saved prompt(s) in batch mode
560
-
561
- Setup:
562
- 1. Set your API key(s): export OPENAI_API_KEY=your_key
563
- export ANTHROPIC_API_KEY=your_key
564
- ... etc.
565
- 2. Create prompts dir: mkdir -p ~/.prompts
566
- 3. Initialize config: aia --dump ~/.config/aia/aia.yml
567
-
568
- Key Features:
569
- • Dynamic prompts with YAML front matter and ERB directives
570
- • Consensus mode: run multiple models, get unified responses
571
- • Shell & Ruby (ERB) integration in prompts
572
- • Tool callbacks via RubyLLM::Tool
573
- • MCP Integration via RubyLLM::MCP
574
- • Session history and checkpoints
575
- • Pipeline workflows
576
- • Concurrently run the same prompt against multiple models
577
- • Get cost estimates for prompts against multiple models
578
-
579
- Documentation: https://madbomber.github.io/aia
580
- Source Code: https://github.com/MadBomber/aia
553
+ Get started: aia --help
554
+ Full docs: https://madbomber.github.io/aia
581
555
 
582
556
  rdoc_options: []
583
557
  require_paths:
@@ -593,7 +567,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
593
567
  - !ruby/object:Gem::Version
594
568
  version: '0'
595
569
  requirements: []
596
- rubygems_version: 4.0.6
570
+ rubygems_version: 4.0.10
597
571
  specification_version: 4
598
572
  summary: Multi-model AI CLI with dynamic prompts, consensus responses, shell & Ruby
599
573
  integration, and seamless chat workflows.