This commit introduces a new feature for managing worktree initialization scripts, allowing users to configure and execute scripts upon worktree creation. Key changes include: 1. **New API Endpoints**: Added endpoints for getting, setting, and deleting init scripts. 2. **Worktree Routes**: Updated worktree routes to include init script handling. 3. **Init Script Service**: Created a service to execute the init scripts asynchronously, with support for cross-platform compatibility. 4. **UI Components**: Added UI components for displaying and editing init scripts, including a dedicated section in the settings view. 5. **Event Handling**: Implemented event handling for init script execution status, providing real-time feedback in the UI. This enhancement improves the user experience by allowing automated setup processes for new worktrees, streamlining project workflows.
@automaker/types
Shared TypeScript type definitions for AutoMaker.
Overview
This package contains all core type definitions used across AutoMaker's server and UI components. It has no dependencies and serves as the foundation for other packages.
Installation
npm install @automaker/types
Exports
Provider Types
Types for AI provider integration and Claude SDK.
import type {
ProviderConfig,
ConversationMessage,
ExecuteOptions,
ContentBlock,
ProviderMessage,
InstallationStatus,
ValidationResult,
ModelDefinition,
} from '@automaker/types';
Feature Types
Feature management and workflow types.
import type { Feature, FeatureStatus, PlanningMode, PlanSpec } from '@automaker/types';
Feature Interface:
id- Unique feature identifiercategory- Feature category/typedescription- Feature descriptiondependencies- Array of feature IDs this depends onstatus- Current status (pending/running/completed/failed/verified)planningMode- Planning approach (skip/lite/spec/full)planSpec- Plan specification and approval status
Session Types
Agent session management.
import type {
AgentSession,
SessionListItem,
CreateSessionParams,
UpdateSessionParams,
} from '@automaker/types';
Error Types
Error classification and handling.
import type { ErrorType, ErrorInfo } from '@automaker/types';
Image Types
Image handling for prompts.
import type { ImageData, ImageContentBlock } from '@automaker/types';
Model Types
Claude model definitions and mappings.
import { CLAUDE_MODEL_MAP, DEFAULT_MODELS, type ModelAlias } from '@automaker/types';
Usage Example
import type { Feature, ExecuteOptions } from '@automaker/types';
const feature: Feature = {
id: 'auth-feature',
category: 'backend',
description: 'Implement user authentication',
dependencies: ['database-setup'],
status: 'pending',
planningMode: 'spec',
};
const options: ExecuteOptions = {
model: 'claude-sonnet-4-20250514',
temperature: 0.7,
};
Dependencies
None - this is a pure types package.
IMPORTANT: This package must NEVER depend on other @automaker/* packages to prevent circular dependencies. All other packages depend on this one, making it the foundation of the dependency tree.
Used By
@automaker/utils@automaker/platform@automaker/model-resolver@automaker/dependency-resolver@automaker/git-utils@automaker/server@automaker/ui
Circular Dependency Prevention
To maintain the package dependency hierarchy and prevent circular dependencies:
- Never add dependencies to other
@automaker/*packages inpackage.json - Keep result types here - For example,
DependencyResolutionResultshould stay in@automaker/dependency-resolver, not be moved here - Import only base types - Other packages can import from here, but this package cannot import from them
- Document the rule - When adding new functionality, ensure it follows this constraint
This constraint ensures a clean one-way dependency flow:
@automaker/types (foundation - no dependencies)
↓
@automaker/utils, @automaker/platform, etc.
↓
@automaker/server, @automaker/ui