Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Jul 11, 2025

SmartHopper 0.3.4-alpha: Powerful New Grouping & List Tools for Grasshopper

✨ Group Components Directly from Chat

  • NEW: AI chat can now instantly group components on your canvas using the new gh_group function.
  • Why it matters: Organize your Grasshopper definitions with a single prompt—add notes, highlight groups, and make complex scripts easier to manage and review.
  • How to use: Just ask the AI to group selected components or create a named group; the AI will handle the rest, visually highlighting them for you.

📝 AI Text List Generate

  • NEW: The AITextListGenerate component lets you generate a custom list of text items from any prompt.
  • Why it matters: Effortlessly create lists for labels, instructions, or any repetitive text—saving time and reducing manual errors.

🏗️ Technical & Coding Improvements

  • Context filtering: Easily include or exclude providers and context using wildcards (*) or the new -* syntax.
  • Better defaults: Improved system prompts and filtering logic help the AI focus on your Grasshopper workflow.
  • Refactored managers: Provider, context, and tool managers have been reorganized for clarity and extensibility.
  • Renaming: SmartHopper.Config is now SmartHopper.Infrastructure for clearer project structure.
  • Expanded tool categories: All AI tools are now categorized for easier discovery.

🛠️ Technical Requirements

  • Rhino 8.19 or above is required
  • Windows 10/11 (MacOS has not been tested)
  • Valid API keys for MistralAI, OpenAI or DeepSeek

⚠️ Important Notes

  • This is an alpha release—some features are experimental or may change
  • API keys are required; usage costs depend on your provider
  • Documentation is still in progress

🤝 We Value Your Feedback!

Help shape SmartHopper's future by:

  • Sharing your experiences with the new features
  • Suggesting improvements via our discussion
  • Telling us what AI capabilities would help your workflow most

We hope you enjoy these new features and improvements!

Happy designing! 🎨

marc-romu and others added 30 commits June 24, 2025 12:49
## Description

This PR adds support for custom system prompts in the AI Chat Component,
allowing users to provide specific instructions to the AI assistant. The
implementation includes updates to the chat dialog and utility classes
to handle and apply custom system prompts while maintaining backward
compatibility.

This enhancement enables more specialized use cases by allowing users to
customize the AI's behavior through system prompts. The implementation
follows the project's existing patterns and maintains the current level
of code quality and documentation.

## Breaking Changes

Files from previous versions will fail to load since the number of
inputs for the AI Chat component changed.

## Testing Done

- [x] Verified that custom system prompts are correctly passed to the AI
provider
- [x] Confirmed fallback to default prompt when no custom prompt is
provided

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows Pull Request Description Template

## Related Issues

Related to issue #87 (Instructions input for AI Chat Component)
This PR updates the version badge in the README.md to match the current
version in Solution.props.

This is an automated PR created by the Update Version Badge workflow.
…to SmartHopper.Infrastructure (#238)

## Description

This PR includes a major reorganization of the project structure to
improve code maintainability and organization. The main changes include:

- Renamed `SmartHopper.Config` to `SmartHopper.Infrastructure` to better
reflect its purpose
- Reorganized AI-related code into more logical namespaces:
  - Moved context providers to `SmartHopper.Infrastructure/Context`
  - Moved chat UI components to `SmartHopper.Core/UI/Chat`
  - Moved AI tools to `SmartHopper.Core.Grasshopper/AITools`
  - Moved utility classes to appropriate locations
- Updated all references to reflect the new namespaces
- Updated project files and solution structure

## Breaking Changes

- **Breaking Change**: Renamed `SmartHopper.Config` to
`SmartHopper.Infrastructure`
- **Breaking Change**: Moved and renamed several classes and namespaces
- **Breaking Change**: Updated all provider implementations to reference
the new namespaces

## Testing Done

- [x] Verified that the solution builds successfully
- [ ] Tested that all components work as expected after the
reorganization
- [x] Ensured that all unit tests pass
- [ ] Verified that the chat UI and AI tools function correctly

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.1.0/) format
- [x] PR description follows [Pull Request Description
Template](https://github.com/architects-toolkit/SmartHopper/blob/main/CONTRIBUTING.md#pull-request-description-template)
## Description

This PR introduces a new feature to exclude all providers or contexts in
one go using the "-*" syntax. This enhancement improves the coding
experience when working with multiple providers or contexts by allowing
bulk exclusion without having to list each one individually.

Key changes:
- Added support for "-*" to exclude all providers/context in one go
- Added support for space, tab, and newline as additional delimiters in
filter strings
- Explicitly handle "*" wildcard to include all providers/context by
default
- Updated AITextEvaluate, AITextGenerate, AIListEvaluate, and
AIListFilter to utilize the new exclude all functionality

## Breaking Changes

No breaking changes. This is a purely additive feature that maintains
backward compatibility.

## Testing Done

- [x] Verified that "-*" correctly excludes all providers
- [x] Tested with various delimiters (comma, space, tab, newline)
- [x] Confirmed that "*" still works as before to include all providers
- [x] Tested with existing components (AITextEvaluate, AITextGenerate,
AIListEvaluate, AIListFilter)

## Checklist

- [x] This PR is focused on a single feature
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.1.0/) format
- [x] PR description follows [Pull Request Description
Template](https://github.com/architects-toolkit/SmartHopper/blob/main/CONTRIBUTING.md#pull-request-description-template)
This PR updates the version badge in the README.md to match the current
version in Solution.props.

This is an automated PR created by the Update Version Badge workflow.
## Description

This PR introduces a new `gh_group` AI tool that enables intelligent
grouping of Grasshopper components. The tool allows AI to group
components by GUID with custom names and colors, improving document
organization and readability. The implementation includes enhanced
property management for grouped components and proper serialization
support.

## Breaking Changes

No breaking changes introduced. This is a purely additive feature that
maintains backward compatibility with existing documents.

## Testing Done

- [x] Verified component grouping functionality with various component
types
- [x] Tested property persistence after saving and reloading documents
- [x] Validated undo/redo behavior for grouping operations

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows Pull Request Description Template
marc-romu and others added 17 commits July 10, 2025 23:26
…mponent (#242)

## Description

This PR introduces a new `list_generate` AI tool and corresponding
`AITextListGenerate` component, enabling users to generate lists of
items based on natural language prompts. The implementation includes
core functionality, UI components, and necessary resources.

This PR closes #6.

## Breaking Changes

No breaking changes. This is an additive feature that doesn't modify
existing functionality.

## Testing Done

- [x] Verified list generation with various input prompts
- [ ] Tested edge cases (empty prompts, special characters)

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows Pull Request Description Template
…class (#243)

## Description

This PR introduces a comprehensive enhancement to SmartHopper's
filtering capabilities by implementing a new `Filter` class for
standardized include/exclude pattern processing.

Key changes:
- New centralized `Filter` class for common include/exclude patterns
processing
- Integration of the new `Filter` class in `GetFormattedTools` and
`GetCurrentContext`
- Updated components (`AITextEvaluate`, `AITextGenerate`,
`AIListEvaluate` and `AIListFilter`) to support enhanced filtering

## Breaking Changes

No breaking changes. The new filtering functionality is backwards
compatible with existing filter strings.

## Testing Done

- Tested filter string parsing with various combinations of
include/exclude patterns
- Verified that "-*" properly excludes all providers/context
- Validated that the enhanced filtering works correctly in all updated
components
- Ensured compatibility with existing filter strings

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.1.0/) format
- [x] PR description follows [Pull Request Description
Template](https://github.com/architects-toolkit/SmartHopper/blob/main/CONTRIBUTING.md#pull-request-description-template)
… fixes (#244)

This PR prepares the release for version 0.3.4-alpha with version update
and code style fixes:

- Fixed header code style
- Sorted usings
- Removed trailing whitespace
- Updated version in Solution.props
- Updated changelog with closed-solved issues
- Updated README badges

MILESTONE DESCRIPTION:
@github-actions github-actions bot requested a review from marc-romu as a code owner July 11, 2025 09:13
@marc-romu marc-romu added this to the 0.3.4-alpha milestone Jul 11, 2025
@marc-romu marc-romu enabled auto-merge July 11, 2025 09:20
@marc-romu marc-romu merged commit 09e7dc6 into main Jul 11, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants