code: def generate_sample_cdk_tsc_module(env_root, module_dir=None):
      
      if module_dir is None:
          module_dir = os.path.join(env_root, 'sampleapp.cdk')
      generate_sample_module(module_dir)
      for i in ['.npmignore', 'cdk.json', 'package.json', 'runway.module.yml',
                'tsconfig.json', 'README.md']:
          shutil.copyfile(
              os.path.join(ROOT,
                           'templates',
                           'cdk-tsc',
                           i),
              os.path.join(module_dir, i),
          )
      for i in [['bin', 'sample.ts'], ['lib', 'sample-stack.ts']]:
          os.mkdir(os.path.join(module_dir, i[0]))
          shutil.copyfile(
              os.path.join(ROOT,
                           'templates',
                           'cdk-tsc',
                           i[0],
                           i[1]),
              os.path.join(module_dir, i[0], i[1]),
          )
      with open(os.path.join(module_dir, '.gitignore'), 'w') as stream:
          stream.write('*.js\n')
          stream.write('*.d.ts\n')
          stream.write('node_modules\n')
      LOGGER.info("Sample CDK module created at %s", module_dir)
      LOGGER.info('To finish its setup, change to the %s directory and execute '
                  '"npm install" to generate its lockfile.', module_dir)
docs: Generate skeleton CDK TS sample module.