Markdown Converter
Agent skill for markdown-converter
This is a monorepo, based on [TurboRepo](https://turborepo.build), containing several
Sign in to like and favorite skills
This is a monorepo, based on TurboRepo, containing several applications and shareable packages primarily built by Craig McClanahan. Source code is stored on GitHub.
This monorepo follows the recommended organization from TurboRepo. Of particular note - the version numbers for all external dependencies MUST be stored in
pnpm-workspace.yaml at the top level. This allows
the package.json file in the various apps and packages to declare
a dependency with a value like catalog:tanstack instead of an actual
version number. In this way, all apps and packages that use the same
dependency will be picking up the same version, and updating to a new
version is very simple.
TODO: list the apps and packages?
package.json filesdependencies), alphabetize the sub-elements as well.name element for an app MUST be the same as the name of the directory for that app.name element for a package MUST be @repo/{name}, where {name} is the directory for that package.page.tsx file for a Next.js endpoint).src directory of the owning app or package,
except for configuration files that must be at the top level.src directory, modules SHOULD be organized into subdirectories
by type and/or purpose if there are many of them.Each module SHOULD have the following elements:
"use client" or "use server" at the top, for client side React components or React Server Actions, respectively.packages directory of this repo).
Imports MUST be in ascending order based on the name after "from".{name}Props type at the top of the
Public Objects section, above the function itself. Each defined property SHOULD have a
short (// ...) comment above it, which improves developer experience in IDEs. Use [...]
to describe default values if an optional property is not passed. Available
properties SHOULD be sorted alphabetically.{name}Props type to be exported is optional, because Typescript will implicitly export it because of its use in the
component declaration itself.export function {Name} (React requires upper case for component names).{name}Props values.An example of a component declaration might look like this for a DataTable component:
type DataTableProps<TData> = { // Show pagination controls? [false] showPagination?: boolean; // The Tanstack Table we are displaying table: TanstackTable<TData> } export function DataTable<TData>( { showPagination, table, }: DataTableProps<TData>) { // functional logic of this component }
In this particular case, the component itself (and therefore its properties) is generified
by the