Plugin Kit v0.3.0

Build custom intelligence adapters with scaffolding, testing, and validation. Complete development framework with CLI tooling, templates, and seamless platform integration.

CLI Commands

Everything you need for plugin development

prismatic-plugin init

prismatic-plugin init my-plugin --template=osint

Initialize a new plugin from template

prismatic-plugin dev

prismatic-plugin dev --watch

Start development server with hot reload

prismatic-plugin test

prismatic-plugin test --coverage

Run tests with coverage reporting

prismatic-plugin validate

prismatic-plugin validate

Validate plugin against platform requirements

prismatic-plugin build

prismatic-plugin build --optimize

Build plugin for production deployment

prismatic-plugin deploy

prismatic-plugin deploy --env=staging

Deploy plugin to platform environment

Adapter Templates

Pre-built templates for common intelligence sources

Medium

OSINT Adapter

Open Source Intelligence data collection

Language: Elixir
Rate limiting Data normalization Error handling
Examples: Social media APIs, Public records, News sources
High

Financial Adapter

Financial data and compliance information

Language: Elixir
SEC compliance Data validation Audit trails
Examples: Company filings, Market data, Regulatory databases
High

Technical Adapter

Technical infrastructure and security data

Language: Elixir
IP scanning Certificate monitoring Vulnerability detection
Examples: Shodan, VirusTotal, Certificate transparency
Medium

Social Media Adapter

Social media monitoring and analysis

Language: JavaScript
Real-time streams Sentiment analysis Content moderation
Examples: Twitter API, LinkedIn, Public forums
High

Legal Adapter

Legal databases and court records

Language: Python
Document parsing Entity extraction Compliance checks
Examples: Court databases, Legal filings, Regulatory documents
Low

Custom Adapter

Generic template for any data source

Language: Multi-language
Configurable Extensible Well-documented
Examples: REST APIs, Databases, File systems

OSINT Adapter Implementation

prismatic-plugin init my-osint-adapter --template=osint

Main Adapter Code

defmodule MyOsintAdapter do
  @moduledoc """
  OSINT data collection adapter for social media monitoring.
  Implements the PrismaticPlugin.Adapter behaviour.
  """

  use PrismaticPlugin.Adapter

  @impl PrismaticPlugin.Adapter
  def search(query, opts \\ []) do
    with {:ok, data} <- fetch_data(query),
         {:ok, normalized} <- normalize_data(data) do
      {:ok, normalized}
    else
      {:error, reason} -> {:error, reason}
    end
  end

  @impl PrismaticPlugin.Adapter
  def stream(query, callback) when is_function(callback, 1) do
    # Real-time data streaming implementation
    start_stream(query, callback)
  end

  # Private implementation functions
  defp fetch_data(query) do
    # API calls with rate limiting and error handling
  end

  defp normalize_data(raw_data) do
    # Data transformation and validation
  end
end""",
        config: """
# config/config.exs
config :my_osint_adapter,
  api_key: {:system, "OSINT_API_KEY"},
  rate_limit: [
    requests_per_minute: 60,
    burst_size: 10
  ],
  retry_policy: [
    max_attempts: 3,
    backoff: :exponential
  ]""",
        test: """
defmodule MyOsintAdapterTest do
  use PrismaticPlugin.TestCase

  test "search returns normalized data" do
    mock_response = %{
      "results" => [
        %{"user" => "test", "content" => "test post"}
      ]
    }

    expect_http_call("/search", mock_response)

    {:ok, results} = MyOsintAdapter.search("test query")

    assert length(results) == 1
    assert %{source: "osint", data: _} = hd(results)
  end
end"""
      },
      "financial" => %{
        init_command: "prismatic-plugin init my-financial-adapter --template=financial",
        code: """
defmodule MyFinancialAdapter do
  @moduledoc """
  Financial data adapter with SEC compliance features.
  """

  use PrismaticPlugin.Adapter
  use PrismaticPlugin.Compliance, :sec

  @impl PrismaticPlugin.Adapter
  def search(query, opts \\ []) do
    with {:ok, validated_query} <- validate_compliance(query),
         {:ok, data} <- fetch_sec_data(validated_query),
         {:ok, enriched} <- enrich_financial_data(data) do
      {:ok, enriched}
    end
  end

  # SEC compliance validation
  defp validate_compliance(query) do
    case PrismaticPlugin.Compliance.SEC.validate(query) do
      :ok -> {:ok, query}
      {:error, violations} -> {:error, {:compliance_error, violations}}
    end
  end

  # Secure financial data fetching
  defp fetch_sec_data(query) do
    # Implementation with audit trails
  end
end""",
        config: """
# config/config.exs
config :my_financial_adapter,
  sec_api_key: {:system, "SEC_API_KEY"},
  compliance_level: :strict,
  audit_trail: true,
  encryption: [
    algorithm: :aes_gcm,
    key_rotation_days: 30
  ]""",
        test: """
defmodule MyFinancialAdapterTest do
  use PrismaticPlugin.TestCase
  use PrismaticPlugin.ComplianceTestCase, :sec

  test "validates SEC compliance before data access" do
    invalid_query = %{insider_trading: true}

    assert {:error, {:compliance_error, _}} =
      MyFinancialAdapter.search(invalid_query)
  end

  test "maintains audit trail" do
    query = %{symbol: "AAPL"}
    {:ok, _results} = MyFinancialAdapter.search(query)

    assert_audit_logged(:financial_query, query)
  end
end

Configuration

Test Example

Development Workflow

From initialization to deployment in 6 steps

1

Initialize

2 minutes

Create new plugin from template

prismatic-plugin init
2

Configure

5 minutes

Set up API keys and parameters

Edit config/config.exs
3

Implement

30-60 minutes

Write adapter logic and data processing

Edit lib/my_adapter.ex
4

Test

5 minutes

Run comprehensive test suite

prismatic-plugin test
5

Validate

3 minutes

Check platform compatibility

prismatic-plugin validate
6

Deploy

10 minutes

Publish to platform

prismatic-plugin deploy

Testing Framework

Comprehensive testing tools built-in

Unit Testing

  • Comprehensive test templates
  • Mock HTTP client
  • Fixture management
  • Property-based testing

Integration Testing

  • Platform compatibility tests
  • End-to-end validation
  • Performance benchmarks
  • Resource usage monitoring

Compliance Testing

  • Security vulnerability scans
  • Data privacy validation
  • Rate limiting verification
  • Error handling coverage

Run Complete Test Suite

prismatic-plugin test --coverage --compliance --performance
--coverage: Code coverage analysis
--compliance: Security & privacy checks
--performance: Benchmark testing

Start Building Plugins

Create custom intelligence adapters in minutes with our comprehensive toolkit

Need help? Check our documentation or view examples