Skip to content

Conversation

JR-1991
Copy link
Member

@JR-1991 JR-1991 commented Oct 7, 2025

This pull request introduces major improvements to project documentation, testing infrastructure, and configuration for local development. The most significant change is a complete rewrite and expansion of the Readme.md, which now provides detailed usage instructions, feature descriptions, and guidance for both CLI and library usage. Additionally, new scripts and configuration files have been added to streamline local testing and development, including Docker Compose setup for all required services and automated test orchestration. There are also enhancements to the JSON schema for admin tools and minor dependency handling improvements.

Documentation and Developer Experience:

  • Comprehensive rewrite and expansion of Readme.md to provide detailed feature overview, installation instructions, usage examples, CLI and library guidance, testing/development workflow, and community/contribution information.

Testing and Local Development Infrastructure:

  • Added run-tests.sh script to automate setup of Docker-based Dataverse infrastructure, wait for service readiness, fetch environment variables, and run tests, supporting both full suite and targeted test execution.
  • Introduced docker/docker-compose-base.yml for orchestrating all required services (Dataverse, Postgres, Solr, SMTP, Keycloak, LocalStack, etc.) for local development and testing, with appropriate environment variables and health checks.
  • Added local-test.env to centralize environment variable configuration for Docker Compose and tests.
  • Added conf/localstack/init-s3.sh to initialize S3 bucket in LocalStack for testing S3 storage integration.

Schema and Dependency Improvements:

  • Expanded models/admin/tools/tool-response.json to provide stricter validation and richer structure for tool parameters, allowed API calls, and requirements, improving clarity and correctness of admin tool integration.
  • Updated src/lib.rs to include a conditional import for libdbus-sys to resolve Linux keyring dependency warnings.

Updated test cases in add.rs, remove.rs, and delete.rs to use more robust assertions and error handling. Tests now check response status and provide clearer error messages, improving reliability and debuggability of test failures.
Updated the indentation in tests/fixtures/external_tool_test.json for improved readability and consistency. No changes to the actual data structure or content.
Introduces init-s3.sh to automate creation of the 'mybucket' S3 bucket for Dataverse storage in LocalStack.
Introduces docker-compose configuration for Dataverse testing, a local environment file for service variables, and a shell script to automate container startup and test execution. This enables streamlined local integration testing with Dataverse and related services.
Expanded the Readme to provide comprehensive documentation, including feature overview, installation instructions, library and CLI usage examples, development and testing workflow, contribution guidelines, and community resources. Improves clarity for new users and contributors, and highlights key capabilities and configuration options.
Updated the tool-response.json schema to use structured objects for toolParameters, allowedApiCalls, and requirements instead of JSON strings. This change improves validation, clarity, and maintainability by explicitly defining the expected properties and types for each field.
Added a conditional use statement for libdbus-sys on non-macOS and non-Windows targets to ensure the dependency is included for keyring support on Linux, even though it is not directly used in the code.
Added dv/ and solr/ to .gitignore to prevent these directories from being tracked by git. This helps keep the repository clean from generated or environment-specific files.
@JR-1991 JR-1991 self-assigned this Oct 7, 2025
@JR-1991 JR-1991 added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 7, 2025
Simplified the Features section by merging individual feature descriptions into a concise bulleted list for improved readability.
@JR-1991 JR-1991 merged commit 2c44159 into master Oct 7, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

Development

Successfully merging this pull request may close these issues.

1 participant