tsconfig.json
This commit is contained in:
parent
b2d7c72fee
commit
a3f36a0c98
54
CLAUDE.md
54
CLAUDE.md
|
|
@ -232,13 +232,46 @@ A tool is just an app that is displayed in a tab and an iframe on each app's pag
|
||||||
|
|
||||||
### Minimal Tool Structure
|
### Minimal Tool Structure
|
||||||
|
|
||||||
A tool needs three files at minimum:
|
A tool needs four files at minimum:
|
||||||
|
|
||||||
**.npmrc**
|
**.npmrc**
|
||||||
```
|
```
|
||||||
registry=https://npm.nose.space
|
registry=https://npm.nose.space
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**tsconfig.json**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"lib": ["ESNext"],
|
||||||
|
"target": "ESNext",
|
||||||
|
"module": "Preserve",
|
||||||
|
"moduleDetection": "force",
|
||||||
|
"jsx": "react-jsx",
|
||||||
|
"jsxImportSource": "hono/jsx",
|
||||||
|
"allowJs": true,
|
||||||
|
"moduleResolution": "bundler",
|
||||||
|
"allowImportingTsExtensions": true,
|
||||||
|
"verbatimModuleSyntax": true,
|
||||||
|
"noEmit": true,
|
||||||
|
"strict": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"noFallthroughCasesInSwitch": true,
|
||||||
|
"noUncheckedIndexedAccess": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"noUnusedLocals": false,
|
||||||
|
"noUnusedParameters": false,
|
||||||
|
"noPropertyAccessFromIndexSignature": false,
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
"$*": ["src/server/*"],
|
||||||
|
"#*": ["src/client/*"],
|
||||||
|
"@*": ["src/shared/*"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
**package.json**
|
**package.json**
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|
@ -516,12 +549,13 @@ watch(APPS_DIR, { recursive: true }, (_event, filename) => {
|
||||||
### Checklist for New Tools
|
### Checklist for New Tools
|
||||||
|
|
||||||
1. [ ] `.npmrc` contains `registry=https://npm.nose.space`
|
1. [ ] `.npmrc` contains `registry=https://npm.nose.space`
|
||||||
2. [ ] `package.json` has `toes.tool: true` and `toes.icon`
|
2. [ ] `tsconfig.json` matches the exact config shown above (do not improvise)
|
||||||
3. [ ] `scripts.toes` uses `bun run --watch index.tsx`
|
3. [ ] `package.json` has `toes.tool: true` and `toes.icon`
|
||||||
4. [ ] Dependencies include `@because/forge`, `@because/hype`, `@because/toes`
|
4. [ ] `scripts.toes` uses `bun run --watch index.tsx`
|
||||||
5. [ ] Import `baseStyles`, `ToolScript`, `theme` from `@because/toes/tools`
|
5. [ ] Dependencies include `@because/forge`, `@because/hype`, `@because/toes`
|
||||||
6. [ ] Layout body includes `<ToolScript />`
|
6. [ ] Import `baseStyles`, `ToolScript`, `theme` from `@because/toes/tools`
|
||||||
7. [ ] Styles served at `/styles.css` with `baseStyles + stylesToCSS()`
|
7. [ ] Layout body includes `<ToolScript />`
|
||||||
8. [ ] Main route handles missing `?app` parameter gracefully
|
8. [ ] Styles served at `/styles.css` with `baseStyles + stylesToCSS()`
|
||||||
9. [ ] Uses `APPS_DIR/<app>/current` for file paths
|
9. [ ] Main route handles missing `?app` parameter gracefully
|
||||||
10. [ ] Exports `app.defaults` as default export
|
10. [ ] Uses `APPS_DIR/<app>/current` for file paths
|
||||||
|
11. [ ] Exports `app.defaults` as default export
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user