Skip to content

Conversation

@Braden-sui
Copy link

Summary

  • Add vibe-files module for file validation and bundle collection
  • Add vibe-prompt module for AI prompt construction
  • Security filtering for sensitive files (.env, credentials, etc.)
  • Full test coverage (94 tests combined)

PR 3 of 5 - Vibe Command Implementation

⚠️ Depends on: #73 (vibe-utils) - merge that first

Series:

  1. ✅ vibe-utils - Foundation utilities (feat: add vibe-utils shared utilities module #73)
  2. ✅ vibe-auth - Authentication with PKCE (feat: add vibe-auth authentication module #74)
  3. vibe-files + vibe-prompt (this PR) - File handling and prompt construction
  4. jiron-discovery + vibe-generate + vibe-publish - API discovery, generation, publishing
  5. vibe-core + CLI integration - Orchestration layer

Test plan

  • All 57 vibe-files tests pass
  • All 37 vibe-prompt tests pass
  • Modules export properly via package.json

🤖 Generated with Claude Code

Braden-sui and others added 3 commits January 7, 2026 22:12
Add foundational utility module for vibe functionality:
- HTTP fetch with timeout and retry logic
- Exponential backoff for transient failures
- URL validation and security checks
- Verbose logging utilities
- Error handling with error-causes

This is the first module in the vibe command implementation,
providing shared functionality for authentication, file handling,
code generation, and publishing modules.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add authentication module for Vibecodr API access:
- PKCE (Proof Key for Code Exchange) flow support
- Token storage with secure file permissions
- Automatic token refresh with configurable buffer
- Windows permission remediation for credential files
- Session state management

Depends on: vibe-utils

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add file handling and prompt construction modules:

vibe-files:
- File validation with size and type checks
- Bundle collection with glob patterns
- Security filtering for sensitive files
- HTML/JavaScript entry point detection

vibe-prompt:
- AI prompt template construction
- Context aggregation for code generation
- Structured prompt formatting

Depends on: vibe-utils (paralleldrive#73)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Braden-sui added a commit to Braden-sui/aidd that referenced this pull request Jan 8, 2026
Add API discovery, code generation, and publishing modules:

jiron-discovery:
- API contract discovery from Jiron endpoints
- Schema extraction and validation
- Endpoint metadata collection

vibe-generate:
- AI-powered code generation
- Template-based output formatting
- Multi-file generation support

vibe-publish:
- Capsule packaging and upload
- Authentication retry with token refresh
- Progress tracking and error handling

Depends on: vibe-utils (paralleldrive#73), vibe-auth (paralleldrive#74), vibe-prompt (paralleldrive#75)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Braden-sui added a commit to Braden-sui/aidd that referenced this pull request Jan 8, 2026
Add orchestration layer and CLI support for vibe command:

vibe-core:
- Main orchestration module coordinating all vibe operations
- Authentication flow management
- File collection and validation
- Code generation and publishing pipeline

CLI integration:
- Add --vibe, --title, --prompt options to aidd CLI
- Validation and error handling for vibe options
- Help text and usage examples

Also includes:
- Windows permission remediation documentation
- Updated cli-vibes reference implementation

Depends on: paralleldrive#73, paralleldrive#74, paralleldrive#75, paralleldrive#76

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 265732bed1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Braden-sui and others added 6 commits January 7, 2026 22:36
Two security fixes for vibe-utils:

1. fetchWithTimeout - AbortSignal combination (P2)
   - Previously overwrote caller-provided signals with timeout signal
   - Now uses AbortSignal.any() to combine timeout and external signals
   - External cancellation (user abort) is now properly respected
   - Distinguishes timeout aborts from external aborts in error handling

2. isPathSafe - UNC path detection (P2)
   - Previously only checked for Unix and Windows drive letter absolute paths
   - UNC paths like \server\share bypassed validation
   - Now detects UNC paths (\\) as absolute paths and rejects them

Both fixes include comprehensive test coverage.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Extends absolute path detection to catch single-backslash root-relative
paths like \Windows\System32 which resolve to the current drive's root
on Windows.

Previous check only caught:
  - Unix absolute: /etc/passwd
  - Drive letter: C:\Windows
  - UNC paths: \server\share

Now also catches:
  - Root-relative: \Windows\System32
  - Any path starting with backslash

TDD approach: tests written first (RED), then implementation (GREEN).

Co-Authored-By: Claude Opus 4.5 <[email protected]>
SECURITY: Prevent credential exfiltration via malicious apiBase.

The exchangeForVibecodrToken function now validates apiBase against
trusted origins before sending the Clerk access token. A tampered
apiBase (from CLI args, env vars, or config file) could have allowed
an attacker to steal the access token.

Changes:
- Add validateApiBase call before token exchange
- Add SecurityBlockError type for security validation failures
- Ensure security errors propagate directly (not wrapped as AUTH_EXPIRED)
- Add test for malicious apiBase rejection

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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.

1 participant