alpha
Login
or
Join now
kueda.net
/
tangled-cli
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
WIP: A simple cli for daily tangled use cases and AI integration. This is for my personal use right now, but happy if others get mileage from it! :)
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
tangled-cli
/
src
/
lib
/
at
f4056f7901fca651977b2b95bfefefe9e685a00a
6 files
Mark Bennett
Add Issue API layer with CRUD operations
5mo ago
4f9157be
.gitkeep
Add Issue API layer with CRUD operations Implements comprehensive issue management via AT Protocol: - createIssue(): Create new issues with title and optional body - listIssues(): List and filter issues by repository - getIssue(): Retrieve specific issue details - updateIssue(): Update issue title and/or body with atomic CID swap - closeIssue(): Mark issue as closed via state record - deleteIssue(): Permanently delete an issue Features: - Uses generated lexicon types (IssueRecord) for type safety - Uses requireAuth() helper for authentication validation - Uses parseIssueUri() internal helper to eliminate duplication - Clear error messages with context - Repository filtering in list operations - Ownership verification for update/delete Includes comprehensive test coverage (23 tests passing) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5 months ago
api-client.ts
Implement API client with session management - Create TangledApiClient wrapper around AtpAgent - Support login with identifier and password - Implement logout with session cleanup - Add session resumption from OS keychain - Handle authentication state and errors - Add 12 comprehensive tests for all API client functionality - All tests properly typed using vi.mocked() without suppressions Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5 months ago
config.ts
Implement configuration management with precedence Add config system for persisting user preferences: - Load config with precedence: TANGLED_REMOTE env var > local .tangledrc > user ~/.tangledrc > system /etc/tangledrc - Uses cosmiconfig for flexible config file support - setLocalRemote/setUserRemote: Save remote selection - clearLocalRemote/clearUserRemote: Clear saved remote - Integrates with Git to save local config in repository root This allows users to configure their preferred remote once and have it automatically selected for ambiguous cases. Includes comprehensive test coverage (16 tests) for all precedence scenarios and error cases. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5 months ago
context.ts
Implement repository context resolution from Git remotes Add context resolver to automatically detect tangled.org repositories: - getCurrentRepoContext(): Get repository context from current directory - getTangledRemotes(): Find all tangled.org remotes - promptForRemote(): Interactive selection for multiple remotes - Smart selection logic: prefer "origin", use config, or prompt - Offers to save selection to config for future use This enables commands to automatically determine which repository they're operating on without requiring explicit flags. Includes comprehensive test coverage (19 tests) for all resolution scenarios including config handling and user prompts. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5 months ago
issues-api.ts
Add Issue API layer with CRUD operations Implements comprehensive issue management via AT Protocol: - createIssue(): Create new issues with title and optional body - listIssues(): List and filter issues by repository - getIssue(): Retrieve specific issue details - updateIssue(): Update issue title and/or body with atomic CID swap - closeIssue(): Mark issue as closed via state record - deleteIssue(): Permanently delete an issue Features: - Uses generated lexicon types (IssueRecord) for type safety - Uses requireAuth() helper for authentication validation - Uses parseIssueUri() internal helper to eliminate duplication - Clear error messages with context - Repository filtering in list operations - Ownership verification for update/delete Includes comprehensive test coverage (23 tests passing) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5 months ago
session.ts
Implement session management with OS keychain integration - Save/load/delete session data from keychain - Use @napi-rs/keyring for cross-platform support - Track current session metadata - Error handling for keychain operations - Comprehensive unit tests with mocked keychain - Fix AtpSessionData type compliance (add required 'active' field) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5 months ago