Skip to content

Conversation

@galligan
Copy link
Contributor

  • package.json with bin entry and @outfitter deps
  • TypeScript config for Bun CLI
  • Program definition using @outfitter/cli
  • Biome config and README

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

This was referenced Jan 23, 2026
Copy link
Contributor Author

galligan commented Jan 23, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@greptile-apps
Copy link

greptile-apps bot commented Jan 23, 2026

Greptile Summary

  • Introduces a complete CLI project template in templates/cli/ directory with scaffolding files including package.json, TypeScript config, program definition, and development tooling
  • Implements template structure using mustache-style placeholders ({{projectName}}, {{binName}}, {{description}}) for dynamic project generation
  • Establishes integration with @outfitter/cli, @outfitter/contracts, @outfitter/config, and @outfitter/logging packages following the monorepo's architecture tiers

Important Files Changed

Filename Overview
templates/cli/tsconfig.json.template TypeScript config template with conflicting noEmit and declaration options; missing project strictness settings
templates/cli/src/program.ts.template CLI program template using dual logging approach (structured + console) which creates redundant output

Confidence score: 3/5

  • This PR has some configuration issues that should be addressed before merging to ensure proper functionality
  • Score reflects conflicting TypeScript compiler options (noEmit with declaration generation) and missing strictness settings that don't align with the monorepo's base configuration standards
  • Pay close attention to templates/cli/tsconfig.json.template for compiler option conflicts and templates/cli/src/program.ts.template for the dual logging approach

Sequence Diagram

sequenceDiagram
    participant User
    participant CLI as "CLI Entry Point"
    participant Program as "CLI Program"
    participant Command as "Command Builder"
    participant Logger as "Logger"
    participant Console as "Console"

    User->>CLI: "Execute binary (e.g., hello World)"
    CLI->>Program: "createCLI(config)"
    Program->>Program: "new Command()"
    Program->>CLI: "return CLI instance"
    CLI->>Program: "register(command)"
    Command->>Command: "command('hello [name]')"
    Command->>Command: "description('Say hello')"
    Command->>Command: "action(handler)"
    Program->>Program: "addCommand(built command)"
    CLI->>Program: "parse(process.argv)"
    Program->>Program: "parseAsync(argv)"
    Program->>Command: "execute action handler"
    Command->>Logger: "logger.info`Hello, ${name}!`"
    Command->>Console: "console.log(`Hello, ${name}!`)"
    Console->>User: "Hello, World!"
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

8 files reviewed, 3 comments

Edit Code Review Agent Settings | Greptile

@galligan galligan changed the base branch from graphite-base/92 to fix/cli-confirm January 23, 2026 23:17
@galligan
Copy link
Contributor Author

Addressed greptile notes: aligned CLI tsconfig with the basic template (schema, lib/types, stricter options; removed conflicting noEmit) and removed the extra console.log in program template to avoid duplicate output. Restacked and resubmitted.

@galligan
Copy link
Contributor Author

templates/cli/tsconfig.json.template now includes exactOptionalPropertyTypes and noPropertyAccessFromIndexSignature; console/log duplication has already been removed from the CLI program template.

Copy link
Contributor Author

Merge activity

  • Jan 24, 1:54 PM UTC: A user started a stack merge that includes this pull request via Graphite.

@galligan galligan changed the base branch from fix/cli-confirm to graphite-base/92 January 24, 2026 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants