Skip to content

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

@deepracticexs

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions