Skip to content

Feature: nodespec create project - Initialize monorepo with NodeSpec standards #2

Description

@deepracticexs

User Story

As a developer, I want to run a single command to initialize a new monorepo project with all NodeSpec standards pre-configured, so that I can start building immediately without manual setup.

Expected Behavior

nodespec create project DeepracticeAccount

Should create a production-ready monorepo with:

Project Structure

DeepracticeAccount/
├── domains/      # Business logic layer
├── packages/     # Infrastructure layer  
├── configs/      # Configuration standards
├── apps/         # Application layer
├── services/     # Service layer
├── tools/        # Development tools
├── package.json
├── pnpm-workspace.yaml
├── turbo.json
├── tsconfig.json
├── lefthook.yml
├── commitlint.config.js
├── .gitignore
├── .npmrc
├── .nvmrc
├── .editorconfig
└── README.md

Pre-configured Standards

All @deepracticex/* configs should be automatically set up:

  • ✅ ESLint (@deepracticex/eslint-config)
  • ✅ Prettier (@deepracticex/prettier-config)
  • ✅ TypeScript (@deepracticex/typescript-config)
  • ✅ Commitlint (@deepracticex/commitlint-config)
  • ✅ Vitest (@deepracticex/vitest-config)
  • ✅ Cucumber (@deepracticex/cucumber-config)
  • ✅ tsup (@deepracticex/tsup-config)

Immediate Usability

After command completion:

cd DeepracticeAccount
pnpm install     # Works immediately
git init         # Git hooks auto-configured
pnpm test        # Testing ready
pnpm build       # Build pipeline ready

Acceptance Criteria

  • Command successfully creates all directory structure
  • All config files are generated with correct content
  • pnpm install works without errors
  • Git hooks (lefthook) are functional
  • Commitlint validates commit messages
  • All configs reference correct @deepracticex/* packages
  • Generated README includes project-specific instructions
  • Zero manual configuration needed

Design Questions to Discuss

  1. Interactive vs Non-interactive

    • Prompt for project details (name, description, author)?
    • Or accept all via CLI flags?
  2. Template Source

    • Embedded templates in CLI?
    • Separate template repository?
    • Generate from code?
  3. Customization Level

    • Support different project types (API, CLI, Library)?
    • Or single opinionated template?
  4. Git Initialization

    • Auto git init?
    • Auto create first commit?
    • Or leave to user?
  5. Package Manager

    • Auto run pnpm install?
    • Or just generate files?
  6. Error Handling

    • What if directory already exists?
    • What if offline (can't fetch templates)?

Related

This is the first feature for Issue #1 - building CLI with DeepracticeAccount as the real-world test case.

Notes

This is a requirements issue - the specific design and implementation details need discussion before development.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions