riffer 0.4.0 → 0.4.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6879b09034df7490183743a1f62d7d43805e61ddfcd804f74e6552e85f48a3a3
4
- data.tar.gz: 73d817a987399225ea10157707e51be0e3fed8495081b16c023cac69a8d0b284
3
+ metadata.gz: bb60a1ab6edf223c701c1b3ff1af14a6ff52520541d1d5e757df963436517402
4
+ data.tar.gz: 723b875438e9d787f7199d8ee8d83d8485dfed47686e85e2c43c221a0482c41e
5
5
  SHA512:
6
- metadata.gz: cc39f949b65485f6a7ae08470d6491dc81680c718d0ff3ecb25acf2231f6d5926d0fc27980f3df52589cd0ec36d1998a50fc7eee6b975eb792bc03eefb3408e7
7
- data.tar.gz: b7762e97f27aa78a23ef1f56d0b292d4c84c42efca631c4154474448d10d610231f3e98ed8bc676f54dab3a31d6ea82f11f4e284b9df72269bf0bbe1c6994153
6
+ metadata.gz: e288711d911bbf4803f770afccf95685067496d0b1443a31ab8f0291ee3a9e58deac4215820e8e261e8966fac9c14f749880d0b07e47b41458d4801406ad75b1
7
+ data.tar.gz: a877dc42d6e07d0f31ca95213603a44fb47d865ea0e1b69ffad8cc898e69f3cce4e96ae6c750d4fe70c0e5e85a1c7efb7bb870c905306db1b67ea0d39adbbb82
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "0.4.0"
2
+ ".": "0.4.2"
3
3
  }
data/CHANGELOG.md CHANGED
@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.4.2](https://github.com/bottrall/riffer/compare/riffer/v0.4.1...riffer/v0.4.2) (2025-12-29)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * update README for clarity on provider usage and examples ([#60](https://github.com/bottrall/riffer/issues/60)) ([b12835c](https://github.com/bottrall/riffer/commit/b12835ce71c29e02074a0897551db50283ac8be6))
14
+
15
+ ## [0.4.1](https://github.com/bottrall/riffer/compare/riffer/v0.4.0...riffer/v0.4.1) (2025-12-29)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * add conditional check for docs job execution based on release creation ([#58](https://github.com/bottrall/riffer/issues/58)) ([97bc6f7](https://github.com/bottrall/riffer/commit/97bc6f79b20902f94edac35b7d9d25c2e033d8bd))
21
+ * add permissions for contents in docs job ([#57](https://github.com/bottrall/riffer/issues/57)) ([1dd5f7a](https://github.com/bottrall/riffer/commit/1dd5f7a817d4f73c1a0cad1a93fee0148ef10705))
22
+ * suppress output during documentation generation ([#53](https://github.com/bottrall/riffer/issues/53)) ([6b7f2d9](https://github.com/bottrall/riffer/commit/6b7f2d9aa7adb5450855097840c971dcf201d8c0))
23
+ * update rdoc command to target the lib directory ([#56](https://github.com/bottrall/riffer/issues/56)) ([c319efe](https://github.com/bottrall/riffer/commit/c319efe039ddb118411ad9e270dc0994d3b8cf5c))
24
+
8
25
  ## [0.4.0](https://github.com/bottrall/riffer/compare/riffer/v0.3.2...riffer/v0.4.0) (2025-12-29)
9
26
 
10
27
 
data/README.md CHANGED
@@ -1,43 +1,126 @@
1
1
  # Riffer
2
2
 
3
- TODO: Delete this and the text below, and describe your gem
3
+ The all-in-one Ruby framework for building AI-powered applications and agents.
4
4
 
5
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/riffer`. To experiment with that code, run `bin/console` for an interactive prompt.
5
+ [![Gem Version](https://badge.fury.io/rb/riffer.svg)](https://badge.fury.io/rb/riffer) ⚠️ Work in progress
6
6
 
7
- ## Installation
7
+ ## Overview
8
+
9
+ Riffer is a comprehensive Ruby framework designed to simplify the development of AI-powered applications and agents. It provides a complete toolkit for integrating artificial intelligence capabilities into your Ruby projects.
10
+
11
+ Key concepts:
12
+
13
+ - **Agents** – orchestrate messages, LLM calls, and tool execution (`Riffer::Agent`).
14
+ - **Providers** – adapters that implement text generation and streaming (`Riffer::Providers::*`).
15
+ - **Messages** – typed message objects for system, user, assistant, and tool messages (`Riffer::Messages::*`).
16
+
17
+ ## Features
8
18
 
9
- TODO: Replace `UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG` with your gem name right after releasing it to RubyGems.org. Please do not do it earlier due to security reasons. Alternatively, replace this section with instructions to install your gem from git if you don't plan to release to RubyGems.org.
19
+ - Minimal, well-documented core for building AI agents
20
+ - Provider abstraction (OpenAI) for pluggable providers
21
+ - Streaming support and structured stream events
22
+ - Message converters and helpers for robust message handling
10
23
 
11
- Install the gem and add to the application's Gemfile by executing:
24
+ ## Requirements
25
+
26
+ - Ruby 3.2 or later
27
+
28
+ ## Installation
29
+
30
+ Install the released gem:
12
31
 
13
32
  ```bash
14
- bundle add UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG
33
+ gem install riffer
15
34
  ```
16
35
 
17
- If bundler is not being used to manage dependencies, install the gem by executing:
36
+ Or add to your application's Gemfile:
18
37
 
19
- ```bash
20
- gem install UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG
38
+ ```ruby
39
+ gem 'riffer'
40
+ ```
41
+
42
+ Install the development branch directly from GitHub:
43
+
44
+ ```ruby
45
+ gem 'riffer', git: 'https://github.com/bottrall/riffer.git'
46
+ ```
47
+
48
+ ## Quick Start
49
+
50
+ Basic usage with the OpenAI provider:
51
+
52
+ ```ruby
53
+ require 'riffer'
54
+
55
+ # Configure OpenAI API key (recommended to use ENV)
56
+ Riffer.configure do |config|
57
+ config.openai.api_key = ENV['OPENAI_API_KEY']
58
+ end
59
+
60
+ class EchoAgent < Riffer::Agent
61
+ identifier 'echo'
62
+ model 'openai/gpt-5-mini' # provider/model
63
+ instructions 'You are an assistant that repeats what the user says.'
64
+ end
65
+
66
+ agent = EchoAgent.new
67
+ puts agent.generate('Hello world')
68
+ # => "Hello world"
21
69
  ```
22
70
 
23
- ## Usage
71
+ Streaming example (OpenAI):
24
72
 
25
- TODO: Write usage instructions here
73
+ ```ruby
74
+ provider = Riffer::Providers::OpenAI.new
75
+ enum = provider.stream_text(prompt: 'Stream something', model: 'gpt-4')
76
+ enum.each do |chunk|
77
+ puts chunk.content
78
+ end
79
+ ```
26
80
 
27
81
  ## Development
28
82
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
83
+ After checking out the repo, run:
84
+
85
+ ```bash
86
+ bin/setup
87
+ ```
88
+
89
+ Run the test suite:
30
90
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
91
+ ```bash
92
+ bundle exec rake test
93
+ ```
94
+
95
+ Check and fix code style:
96
+
97
+ ```bash
98
+ bundle exec rake standard
99
+ bundle exec rake standard:fix
100
+ ```
101
+
102
+ Run the interactive console:
103
+
104
+ ```bash
105
+ bin/console
106
+ ```
32
107
 
33
108
  ## Contributing
34
109
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/riffer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/riffer/blob/main/CODE_OF_CONDUCT.md).
110
+ 1. Fork the repository and create your branch: `git checkout -b feature/foo`
111
+ 2. Run tests and linters locally: `bundle exec rake`
112
+ 3. Submit a pull request with a clear description of the change
113
+
114
+ Please follow the [Code of Conduct](https://github.com/bottrall/riffer/blob/main/CODE_OF_CONDUCT.md).
115
+
116
+ ## Changelog
117
+
118
+ All notable changes to this project are documented in `CHANGELOG.md`.
36
119
 
37
120
  ## License
38
121
 
39
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
122
+ Licensed under the MIT License. See `LICENSE.txt` for details.
40
123
 
41
- ## Code of Conduct
124
+ ## Maintainers
42
125
 
43
- Everyone interacting in the Riffer project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/riffer/blob/main/CODE_OF_CONDUCT.md).
126
+ - Jake Bottrall https://github.com/bottrall
data/Rakefile CHANGED
@@ -6,5 +6,21 @@ require "minitest/test_task"
6
6
  Minitest::TestTask.create
7
7
 
8
8
  require "standard/rake"
9
+ require "rdoc/task"
10
+
11
+ RDoc::Task.new do |rdoc|
12
+ rdoc.rdoc_dir = "doc"
13
+ rdoc.title = "Riffer Documentation"
14
+ rdoc.main = "README.md"
15
+
16
+ # Explicitly include top-level docs and the library
17
+ rdoc.rdoc_files.include("README.md", "CHANGELOG.md", "LICENSE.txt")
18
+ rdoc.rdoc_files.include("lib/**/*.rb")
19
+
20
+ # Use Markdown where available and ensure UTF-8
21
+ rdoc.options << "--charset" << "utf-8" << "--markup" << "markdown"
22
+ end
23
+
24
+ task docs: :rdoc
9
25
 
10
26
  task default: %i[test standard]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Riffer
4
- VERSION = "0.4.0"
4
+ VERSION = "0.4.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Bottrall
@@ -120,7 +120,10 @@ email:
120
120
  - jakebottrall@gmail.com
121
121
  executables: []
122
122
  extensions: []
123
- extra_rdoc_files: []
123
+ extra_rdoc_files:
124
+ - CHANGELOG.md
125
+ - LICENSE.txt
126
+ - README.md
124
127
  files:
125
128
  - ".release-please-config.json"
126
129
  - ".release-please-manifest.json"
@@ -162,7 +165,13 @@ metadata:
162
165
  homepage_uri: https://riffer.ai
163
166
  source_code_uri: https://github.com/bottrall/riffer
164
167
  changelog_uri: https://github.com/bottrall/riffer/blob/main/CHANGELOG.md
165
- rdoc_options: []
168
+ rdoc_options:
169
+ - "--main"
170
+ - README.md
171
+ - "--title"
172
+ - Riffer Documentation
173
+ - "--markup"
174
+ - markdown
166
175
  require_paths:
167
176
  - lib
168
177
  required_ruby_version: !ruby/object:Gem::Requirement