A new Flutter project.
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
-
Flutter SDK - Install Flutter from flutter.dev
- Verify installation:
flutter doctor
- Verify installation:
-
macOS Requirements (for macOS development):
- Xcode - Full Xcode.app (not just Command Line Tools)
- Install from the App Store
- After installation, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer sudo xcodebuild -runFirstLaunch
- CocoaPods - Install if not already present:
brew install cocoapods # or sudo gem install cocoapods
- Xcode - Full Xcode.app (not just Command Line Tools)
-
macOS Sandbox Configuration (required to execute external binaries):
- The app needs to execute the MCP server binary, which requires disabling the App Sandbox for debug builds
- Check the configuration: Open
macos/Runner/DebugProfile.entitlementsand verify it contains:<key>com.apple.security.app-sandbox</key> <false/>
- If not configured or you get "Operation not permitted" errors:
- Open
macos/Runner/DebugProfile.entitlements - Ensure
com.apple.security.app-sandboxis set tofalse(nottrue) - The file should look like this:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <false/> <key>com.apple.security.cs.allow-jit</key> <true/> <key>com.apple.security.network.server</key> <true/> </dict> </plist>
- After making changes, run
flutter cleanand rebuild the app
- Open
-
Build the MCP server binary:
task mcp:build
Use the following command to set up the environment and run the app on macOS:
source ~/.env-testing-local && \
unset HTTP_PROXY && \
unset HTTPS_PROXY && \
export DIRECTORY_CLIENT_SERVER_ADDRESS="localhost:8888" && \
export MCP_SERVER_PATH="$PWD/../bin/mcp-server" && \
export OASF_API_VALIDATION_SCHEMA_URL="${OASF_API_VALIDATION_SCHEMA_URL:-https://schema.oasf.outshift.com}" && \
export AZURE_API_KEY="$AZURE_OPENAI_API_KEY" && \
export AZURE_ENDPOINT="$AZURE_OPENAI_ENDPOINT" && \
export AZURE_DEPLOYMENT="$AZURE_OPENAI_DEPLOYMENT_NAME" && \
flutter run -d macos --no-pubTo run the unit and widget tests:
flutter testTo run the MCP integration tests (which require the built MCP server binary):
- Ensure the MCP server is built. From the project root run:
task mcp:build
- Run the tests:
flutter test