pubspec.yaml, analysis options, and main.dart.
Prerequisites
- Flutter installed and on your PATH (Flutter installation guide). Use
fvmif the project already has.fvmrcor.fvm/. - Access to the Neo repository granted by TVK through the GitHub organization.
- SSH keys for GitHub, because Neo is pulled over SSH.
If you don’t have access yet, ask your team lead or administrator to contact TVK with your GitHub account email address. Your organization needs an active Neo subscription with confirmed payment before developers can receive repository access.
SSH setup
- Check for existing keys:
ls -al ~/.ssh - Generate a key if needed: GitHub’s SSH guide
- Add the key to your GitHub account
New Flutter project
Create the app with Flutter, then apply Add Neo in the project folder.Terminal
. as the last argument instead of a folder name.
Existing Flutter project
Skipflutter create. Apply Add Neo in the app that already has a pubspec.yaml. Do not replace existing screens with a starter. Keep your current router if it already provides a RouterConfig; NeoApp requires one.
Add Neo
1. Dependency and fonts
Add Neo from Git and register the bundled fonts. Useref: production unless you have a reason to pin a tag.
pubspec.yaml
Terminal
You can add the non-Git packages with
flutter pub add instead of editing pubspec.yaml by hand. Neo itself must stay a Git dependency.2. Analyzer
Append these settings toanalysis_options.yaml so Riverpod annotations and formatting match Neo’s conventions:
analysis_options.yaml
3. App shell
Replace Flutter’s defaultMaterialApp / CupertinoApp with NeoInitializer, ProviderScope, and NeoApp. New projects can use this router and welcome screen as-is. Existing projects should keep their screens and only wrap the root.
lib/main.dart
lib/router/app_router.dart
lib/screens/welcome_screen.dart
4. Generate code
Terminal
Terminal
Next steps
Neo Skills
Let an agent create or migrate the project with
/create-neo-project, then keep it current with /update-neoNeo Docs MCP
Give your assistant live access to these docs while you work
Widgets
Start with Neo’s pre-built components
Sidebar layout
Add navigation once the app shell is running
Troubleshooting
Permission denied (publickey) when fetching Neo
Permission denied (publickey) when fetching Neo
Flutter cannot clone
git@github.com:tvkcompany/neo.git. Confirm SSH works with ssh -T git@github.com, that your key is on the GitHub account that has Neo access, and then run flutter pub get again.Missing font files
Missing font files
Use the variable font paths above (
inter_variable.ttf, geist_mono_variable.ttf). Older static .otf filenames are no longer in the package.build_runner fails
build_runner fails
From the project root, run
dart run build_runner build after flutter pub get. Generated files such as *.g.dart and *.gr.dart are required for the router provider.
