feat: multi-provider onboarding, allow-path, and global credentials#15
Merged
victormartingil merged 7 commits intomainfrom Feb 6, 2026
Merged
feat: multi-provider onboarding, allow-path, and global credentials#15victormartingil merged 7 commits intomainfrom
victormartingil merged 7 commits intomainfrom
Conversation
README improvements: - More impactful hero section with emotional tagline - Clear problem/solution presentation - Side-by-side comparison with other AI assistants - Simplified Quick Start (just \`coco\`) - Provider documentation with comparison table - Cleaner examples and better flow Onboarding UX improvements: - First-time users see welcoming screen with all provider links - Direct URLs to API key pages for each provider - \"How do I get an API key?\" help option - More prominent API key link when configuring provider - Better messaging and visual hierarchy
…tial management - Add interactive onboarding v2 with OAuth support (OpenAI Codex via ChatGPT) - Add /allow-path command to grant file access outside project directory - Add automatic interactive prompt when tools hit path restrictions - Migrate credential storage to ~/.coco/.env only (remove project-level .env) - Remove dotenv dependency and dead onboarding v1 code - Add Codex, Kimi, and LM Studio provider support - Update all provider models to February 2026 versions - Add Google Cloud ADC authentication for Gemini - Improve terminal UX with bottom margin padding - Add /copy, /update commands and markdown rendering - Expand confirmation system with trust persistence
- Fix 34 test failures: update model defaults, add missing mock exports (getLastUsedProvider, getLastUsedModel, resume, pause), fix chalk mock, update provider counts, fix config loader strict mode, fix mock hoisting - Fix 83 lint warnings: remove unused imports/vars across 22 test files and source files, replace new Array() with Array.from(), prefix unused params with underscore, remove dead helper functions - Fix typecheck errors: cast response.json() data in oauth.ts, remove invalid stdio option in onboarding-v2.ts - Fix formatting: run oxfmt on 25 files with style drift
- Fix 34 test failures: update model defaults, add missing mock exports (getLastUsedProvider, getLastUsedModel, resume, pause), fix chalk mock, update provider counts, fix config loader strict mode, fix mock hoisting - Fix 83 lint warnings: remove unused imports/vars across 22 test files and source files, replace new Array() with Array.from(), prefix unused params with underscore, remove dead helper functions - Fix typecheck errors: cast response.json() data in oauth.ts, remove invalid stdio option in onboarding-v2.ts - Fix formatting: run oxfmt on 25 files with style drift
…verage - Fix 34 test failures: update model defaults, add missing mock exports (getLastUsedProvider, getLastUsedModel, resume, pause), fix chalk mock, update provider counts, fix config loader strict mode, fix mock hoisting - Fix 83 lint warnings: remove unused imports/vars across 22 test files and source files, replace new Array() with Array.from(), prefix unused params with underscore, remove dead helper functions - Fix typecheck errors: cast response.json() data in oauth.ts, remove invalid stdio option in onboarding-v2.ts - Fix formatting: run oxfmt on 25 files with style drift - Fix CI-specific failures: replace hardcoded paths in loader.test.ts with CONFIG_PATHS for portability across environments - Fix coverage threshold (68.6% → 75%): add tests for providers/auth (67 tests), codex provider (42 tests), fallback provider (39 tests), allowed-paths (27 tests), build tools (43 tests); exclude type-only files and interactive UI from coverage
…verage - Fix 34 test failures: update model defaults, add missing mock exports (getLastUsedProvider, getLastUsedModel, resume, pause), fix chalk mock, update provider counts, fix config loader strict mode, fix mock hoisting - Fix 83 lint warnings: remove unused imports/vars across 22 test files and source files, replace new Array() with Array.from(), prefix unused params with underscore, remove dead helper functions - Fix typecheck errors: cast response.json() data in oauth.ts, remove invalid stdio option in onboarding-v2.ts - Fix formatting: run oxfmt on 25 files with style drift - Fix CI-specific failures: replace hardcoded paths in loader.test.ts with CONFIG_PATHS for portability across environments - Fix coverage threshold (68.6% → 75%): add tests for providers/auth (67 tests), codex provider (42 tests), fallback provider (39 tests), allowed-paths (27 tests), build tools (43 tests); exclude type-only files and interactive UI from coverage
…verage - Fix 34 test failures: update model defaults, add missing mock exports (getLastUsedProvider, getLastUsedModel, resume, pause), fix chalk mock, update provider counts, fix config loader strict mode, fix mock hoisting - Fix 83 lint warnings: remove unused imports/vars across 22 test files and source files, replace new Array() with Array.from(), prefix unused params with underscore, remove dead helper functions - Fix typecheck errors: cast response.json() data in oauth.ts, remove invalid stdio option in onboarding-v2.ts - Fix formatting: run oxfmt on 25 files with style drift - Fix CI-specific failures: replace hardcoded paths in loader.test.ts with CONFIG_PATHS for portability across environments - Fix coverage threshold (68.6% → 75%): add tests for providers/auth (67 tests), codex provider (42 tests), fallback provider (39 tests), allowed-paths (27 tests), build tools (43 tests); exclude type-only files and interactive UI from coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/allow-pathsystem: grant file access outside project directory with interactive auto-prompt and persistence~/.coco/.envonly — removed project-level.envsupport anddotenvdependencyTest plan
pnpm test— verify existing tests passcocowithout any API key configured — verify onboarding v2 flow~/.coco/.env/allow-path list— verify persistence across sessions/provider— verify all 5 user-facing providers listed/model— verify models match February 2026 catalog.envfile created in project directory