Account profiles in unified config mode were failing with "Profile not found"
because touchProfile() only checked legacy profiles.json. Now checks unified
config first with hasAccountUnified() and calls touchAccountUnified() when
the profile exists there, falling back to legacy touchProfile() otherwise.
Fixes#98
When running OAuth in headless mode (SSH/remote), users now see clear
instructions about port forwarding requirement before the OAuth URL.
Previously, CLIProxyAPI's instructions were captured but not displayed.
- Show [!] PORT FORWARDING REQUIRED warning
- Explain that localhost:8085 callback must be reachable
- Show ssh -L command with <USER>@<HOST> placeholders
- Emphasize running on LOCAL machine, not remote
- Disable CLIProxy logging by default to prevent 5-12GB disk bloat
- Add cliproxy.logging config option for user opt-in via ~/.ccs/config.yaml
- Add `ccs cleanup` command to remove old CLIProxy logs
- Bump CLIProxy config version to v3 to trigger config regeneration
Closes#96
- Update tagline: "universal AI profile manager for Claude Code"
- Add "Custom API Profiles" section for bring-your-own APIs
- Clarify built-in OAuth providers are not the only option
- Add note about Anthropic-compatible API extensibility
- Update Architecture section to highlight extensibility
- Add "Unlimited Profiles" to What CCS Gives You
- Update Japanese and Vietnamese READMEs with same messaging
Remove deprecated components and logic from the home page,
including the progress bar, live clock, and old quick launch sections.
Introduce new components (HeroSection, QuickCommands, StatCard) to streamline the layout.
Delete unused component.
- Full-width layout (removed max-w constraints)
- Restored CcsLogo in hero section with live clock
- Added real-time provider status cards with animated indicators
- Health progress bar with color-coded status
- Icon-based quick launch grid (G/C/A/K/L/D shortcuts)
- System navigation panel with all major routes
- Shared resources summary with counts
- Added Progress UI component for status bars
- Subtle grid background for control center aesthetic
Design Proposal 4: Interactive Status Board implementation
- use Date.UTC() for consistent timezone handling in fillHourlyGaps
- cap endDate at current time to avoid filling future hours with zeros
- fixes chart showing zeros extending beyond current moment
- Add kaitranntt/ccs-docs as git submodule under docs/
- Update README links to point to docs.ccs.kaitran.ca
- Remove old local docs (migrated to Mintlify MDX format)
Phase 3 of README restructure complete.
- reduce main README from ~1070 to ~250 lines
- add dashboard screenshots (analytics, api_profiles, cliproxy)
- update Vietnamese and Japanese translations to match new structure
- add light/dark theme analytics screenshots
- Add ProfileCard component for user profile display
- Add ProfileDeck for managing multiple profiles
- Add CommandBuilder for CLI command construction
- Add ValueMetrics for dashboard statistics
- Add HubFooter for navigation and actions
- Update documentation with Phase 1 summary
- Remove tests from pre-commit hook (keep typecheck+lint only)
- Remove build+validate from prepublishOnly/prepack (CI handles it)
- Add HUSKY=0 to CI commit step to skip hooks
Before: 4 test runs per release (pre-commit, CI validate, prepublishOnly, prepack)
After: 1 test run (CI validate only)
Change stdio from 'ignore' to 'inherit' for stdin in auth subprocess,
allowing CLIProxy to receive user input for email/alias prompts during
Qwen and other OAuth flows.
Fixes#91