Skip to content

Commit 8478d99

Browse files
committed
merge with docs repository
1 parent 6cdede2 commit 8478d99

File tree

1,110 files changed

+66749
-74
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,110 files changed

+66749
-74
lines changed

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ __platform-packages
3131
stacktape-project
3232
compiled-template.yaml
3333
scripts/simon
34-
console-app/
35-
34+
docs/node_modules
35+
docs/.next
36+
docs/public/_timestamps.json
3637

3738
# Ignore Gradle project-specific cache directory
3839
.gradle

cspell.config.json

Lines changed: 95 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,100 @@
482482
"ystep",
483483
"YWPXYIM",
484484
"Zipball",
485-
"zustand"
485+
"zustand",
486+
"aidocs",
487+
"algoliasearch",
488+
"amazonlinux",
489+
"apexcharts",
490+
"apiref",
491+
"Archivation",
492+
"autocapture",
493+
"awslogs",
494+
"binpack",
495+
"Buildpack",
496+
"buildpacks",
497+
"bunx",
498+
"calcom",
499+
"Children",
500+
"Cooldown",
501+
"dashcase",
502+
"datapoint",
503+
"datapoints",
504+
"datasource",
505+
"dyno",
506+
"entryfile",
507+
"esbuild",
508+
"expressjs",
509+
"failovers",
510+
"Fanout",
511+
"Fargate",
512+
"frontends",
513+
"frontmatter",
514+
"gatsbyjs",
515+
"hackernews",
516+
"Healthcheck",
517+
"Hookable",
518+
"instantsearch",
519+
"internalservice",
520+
"jdbc",
521+
"Laravel",
522+
"leftbar",
523+
"lockfiles",
524+
"medior",
525+
"MTLS",
526+
"multizone",
527+
"mydomain",
528+
"mypassword",
529+
"nestjs",
530+
"nextjs",
531+
"nixpacks",
532+
"Nuxt",
533+
"nuxtjs",
534+
"OIDC",
535+
"opensearch",
536+
"overridden",
537+
"OWASP",
538+
"Pagerduty",
539+
"paketo",
540+
"paketobuildpacks",
541+
"pipenv",
542+
"plausible",
543+
"preflighted",
544+
"prismjs",
545+
"privateapi",
546+
"Pupeteer",
547+
"querystring",
548+
"Quickstart",
549+
"quickstarts",
550+
"Referenceable",
551+
"revalidates",
552+
"runtimes",
553+
"SASL",
554+
"scrollspy",
555+
"Segoe",
556+
"sharded",
557+
"SIGKILL",
558+
"SIGTERM",
559+
"siteimage",
560+
"slugify",
561+
"socketio",
562+
"spinkit",
563+
"sqlserver",
564+
"stacktape",
565+
"taze",
566+
"tippyjs",
567+
"Tocs",
568+
"transpiles",
569+
"uncategorized",
570+
"unmature",
571+
"Upstash",
572+
"useb",
573+
"userbase",
574+
"userpool",
575+
"userpools",
576+
"Webservice",
577+
"xlabel",
578+
"xlarge",
579+
"ylabel"
486580
]
487581
}

docs/.resources.json

Lines changed: 305 additions & 0 deletions
Large diffs are not rendered by default.

docs/CLAUDE.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Project Overview
6+
7+
This is a Next.js documentation site for Stacktape, a cloud deployment platform. More about Stacktape is in
8+
[about-stacktape](./about-stacktape.md). The site uses MDX for content, TypeScript for the codebase, and runs on port
9+
9001 in development. It features dynamic documentation generation from YAML code snippets and schema files.
10+
11+
## Architecture
12+
13+
### Content Structure
14+
15+
- **docs/**: Primary MDX documentation files organized by category
16+
- **getting-started/**: Introduction and setup guides
17+
- **compute-resources/**: Lambda functions, web services, batch jobs
18+
- **database-resources/**: DynamoDB, RDS, Redis, OpenSearch
19+
- **other-resources/**: Load balancers, CDNs, buckets, etc.
20+
- **security-resources/**: Authentication, firewalls, bastions
21+
- **3rd-party-resources/**: MongoDB Atlas, Upstash integrations
22+
- **configuration/**: Deployment config, hooks, overrides
23+
- **cli/**: CLI command documentation
24+
- **sdk/**: SDK method documentation
25+
- **user-guides/**: How-to guides and tutorials
26+
27+
- **code-snippets/**: YAML configuration examples referenced by docs
28+
- **intermediate-mdx/**: MD files generated from this documentation for Context7 integration (irrelevant for this
29+
project itself)
30+
- **@generated/**: Stacktape core project exports JSON schema for Stacktape configuration, CLI commands and SDK methods.
31+
From those, certain parts of this documentation are generated. This directory includes the exported schemas.
32+
33+
## Documentation navigation groups
34+
35+
The documentation pages are grouped into groups:
36+
37+
- **Getting Started** - (/getting-started)
38+
- **CLI** - (/cli)
39+
- **SDK** - (/sdk)
40+
- **Compute resources** - (/compute-resources)
41+
- **Database resources** - (/database-resources)
42+
- **Security resources** - (/security-resources)
43+
- **Other Resources** - (/other-resources)
44+
- **3rd party resources** - (/3rd-party-resources)
45+
- **Extending Stacktape** - (/extending)
46+
- **User Guides** - (/user-guides)
47+
- **Configuration** - (/configuration)
48+
- **Migration guides** - (/migration-guides)
49+
50+
### Key Components
51+
52+
- **Dynamic routing**: Uses `[[...slug]].tsx` for catch-all documentation routes
53+
- **MDX processing**: Custom remark/rehype plugins for code embedding
54+
55+
### Auto-generation scripts
56+
57+
- **generate-cli-pages.ts**: Auto-generates CLI command documentation from CLI commands JSON schema
58+
- **generate-sdk-pages.ts**: Auto-generates SDK method documentation from SDK methods JSON schema
59+
- **generate-yaml-examples/**: Generates YAML examples API reference. For example, Web Service API docs to
60+
[web-service](./docs/compute-resources/api-reference/web-service.mdx)
61+
62+
### MDX components
63+
64+
This project uses many different custom MDX components. They are defined in **src/components/Mdx/index.ts**. Some of
65+
them might need an explanation:
66+
67+
- **Jargon** - words (terms), delimited by `_`, e.g. `_Term that users my not understand_` are rendered as <Jargon />
68+
component. When user hovers over them, it shows their description (explanation). These descriptions are defined in
69+
**docs/jargon.yml**
70+
- **PropertiesTable**, e.g. `<PropertiesTable definitionName="..." searchForReferencesInDefinition="..." />` expandable
71+
table that show multiple properties of the specified definition from the Stacktape config schema (in
72+
@generated/current-config-schema.json)
73+
- **PropDescription**, e.g. `<PropDescription definitionName="..." propertyName="..." descType="ld or sd" />` simple
74+
text extracting description from JSON schema field from the Stacktape config schema (in
75+
@generated/current-config-schema.json)
76+
- **Referenced code snippets**, e.g. `embed:lambda-functions/event-schedule.stp.yml` these use the same <CodeBlock>
77+
component to render the as inline snippets, but take their content from the **code-snippets/** directory.
78+
79+
## Code rules
80+
81+
- To interact with file system, always use `fs-extra` package
82+
- To import packages, always use import only part of the package, e.g. `import { readFile } from 'fs-extra'`
83+
- React component should use function keyword, e.g. `function MyComponent() {}`
84+
- Prefer using inline types to type functions, e.g. `const myFunc = ({ property }:{ property: string }) => { ... }`
85+
- To write helper functions, prefer arrow functions, e.g. `const myFunc = () => {}`
86+
- Only use classes when necessary. Prefer writhing procedural/functional code. E.g. just write 3 arrow functions,
87+
instead of a class with 3 methods.
88+
- Prefer typescript types over interfaces.
89+
- Always use emotion css-in-js for styling in React components. Use css prop with object-based styles, e.g.
90+
`<div css={{ color: 'red' }}></div>`
91+
- Use emotion even for global styles, e.g. `<Global styles={{ color: 'red' }} />`
92+
93+
## Terminal rules
94+
95+
- Always use `bun` to run scripts. Not `node`, not `npm`, not `yarn`.
96+
- To run scripts in `package.json` always use `bun run <<script:name>>`.
97+
- To run scripts not in `package.json` use `bun run <<script-name.ts>>`.
98+
- Always run scripts from root project directory

0 commit comments

Comments
 (0)