Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions CONTRIBUTING.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## Contributing to Active Agent

Thanks for your interest in improving Active Agent! This guide covers the basics for setting up your environment, running tests, linting, and doing a quick local verification that things work.

### Prerequisites
- Ruby with Bundler installed
- Google Chrome/Chromium (recommended for system tests via Cuprite)

### Setup
git clone https://github.com/activeagents/activeagent.git
cd activeagent
bundle install

- Full suite:
bin/test
# or
bundle exec rake test
- Single file:

ruby -Itest test/generation_test.rb

- Tests use Rails’ plugin test runner and a bundled dummy app under `test/dummy`.
- External API calls are recorded with VCR, so you shouldn’t need API keys to run the suite.

### Linting
- bin/lint # check
- bin/lint --fix # safe auto-correct
- bin/lint -A # auto-correct including unsafe### Quick local verification

### Making changes
1. Create a feature branch.
2. Add tests for your change.
3. Run `bin/test` and `bin/lint` until both pass cleanly.
4. Open a pull request with a clear description of the change and motivation.

### Recording or updating VCR cassettes (optional)
If you need to re-record HTTP interactions for specific tests, set the necessary API keys in your environment and run only those tests. Please avoid committing sensitive data; VCR cassettes should only contain sanitized request/response data.

### Community and support
- Documentation: https://docs.activeagents.ai
- Issues: https://github.com/activeagents/activeagent/issues
- Discord: https://discord.com/invite/JRUxkkHKmh

We appreciate your contributions—thank you!
7 changes: 7 additions & 0 deletions lib/active_prompt.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# frozen_string_literal: true

require "active_prompt/version"
require "active_prompt/engine" if defined?(Rails)

module ActivePrompt
end
26 changes: 26 additions & 0 deletions lib/active_prompt/engine.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# frozen_string_literal: true

require "rails"

module ActivePrompt
class Engine < ::Rails::Engine
isolate_namespace ActivePrompt

initializer "active_prompt.assets.paths_and_precompile" do |app|
if app.config.respond_to?(:assets)
app.config.assets.paths << root.join("app", "assets")
app.config.assets.precompile += %w[
active_prompt/*
]
end
end

initializer "active_prompt.append_migrations" do |app|
unless app.root.to_s.start_with?(root.to_s)
config.paths["db/migrate"].expanded.each do |expanded_path|
app.config.paths["db/migrate"] << expanded_path
end
end
end
end
end
5 changes: 5 additions & 0 deletions lib/active_prompt/version.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# frozen_string_literal: true

module ActivePrompt
VERSION = "0.1.0"
end
1 change: 1 addition & 0 deletions lib/activeagent.rb
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
require "active_agent"
require "active_prompt"
21 changes: 21 additions & 0 deletions test/active_prompt_engine_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# frozen_string_literal: true

require "test_helper"
require "active_prompt"

class ActivePromptEngineTest < ActiveSupport::TestCase
test "ActivePrompt module loads with version" do
assert defined?(ActivePrompt), "ActivePrompt should be defined"
assert_kind_of String, ActivePrompt::VERSION
refute_empty ActivePrompt::VERSION
end

test "engine is defined and inherits from Rails::Engine" do
assert defined?(ActivePrompt::Engine), "ActivePrompt::Engine should be defined"
assert ActivePrompt::Engine < Rails::Engine
end

test "engine namespace is isolated" do
assert_equal ActivePrompt, ActivePrompt::Engine.railtie_namespace
end
end