Skip to content

Phase 1: Project Setup and Core Infrastructure #11

Closed

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.

Activity

  1. added theissue type on Jun 9, 2026
  2. coderabbitai commented on Jun 9, 2026

    @coderabbitai
    🔗 Related PRs

    nodesource/testkit#1 - feat: basic project initialization [merged]
    nodesource/ns-opencode#6 - feat: add OpenSpec initialization and configuration support [merged]
    #1 - Initial spec design [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  3. self-assigned this
    on Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions