Skip to content

Phase 1: Project Setup and Core Infrastructure #11

Description

@Cesar-M-Diaz

Phase 1: Project Setup and Core Infrastructure

Set up the monorepo structure, core package scaffold, bundle descriptor schema, and shared utilities.

Tasks

  • Task 1: Initialize monorepo structure — Set up npm workspace monorepo with packages directory structure. Create root package.json with workspace configuration, tsconfig.json for TypeScript, and basic project files (README, .gitignore, .npmrc).

    • Depends on: None
    • Files: package.json, tsconfig.json, .gitignore, .npmrc, README.md
    • Testing: Run npm install to verify workspace setup. Check that packages/ directory structure is recognized.
  • Task 2: Create core package scaffold — Initialize packages/core with package.json, tsconfig.json, and directory structure for auth, skills, mcp, and harnesses modules. Set up build script to compile TypeScript to dist/.

    • Depends on: Task 1
    • Files: packages/core/package.json, packages/core/tsconfig.json, packages/core/src/index.ts, directories for auth/skills/mcp/harnesses/utils
    • Testing: Run npm run build in packages/core. Verify dist/ is created with compiled JavaScript.
  • Task 3: Define bundle descriptor schema and types — Create TypeScript interfaces for BundleDescriptor, SkillRef, McpServerRef, and Credentials. Create JSON Schema for bundle.json validation. Create bundle.json with all 14 skills and 3 MCP servers.

    • Depends on: Task 2
    • Files: packages/core/src/types.ts, packages/core/src/schemas/bundle.schema.json, packages/core/src/validate.ts, bundle.json
    • Testing: Write unit test to validate bundle.json against schema. Test validation with invalid bundle (missing required fields).
  • Task 4: Implement utility functions — Create shared utilities for file operations (atomic write, ensure directory), path resolution (expand ~, resolve relative paths), and JSON/TOML parsing/writing. Path resolution must use os.homedir() + path.join() for ~ expansion. Atomic write must handle Windows.

    • Depends on: Task 2
    • Files: packages/core/src/utils/fs.ts, packages/core/src/utils/path.ts, packages/core/src/utils/config.ts
    • Testing: Unit tests for each utility function. Test edge cases (missing files, permission errors, invalid JSON). Test path resolution on both Unix-style and Windows-style paths.

Metadata

Metadata

Assignees

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions