|
1 | 1 | # DeployStack Documentation |
2 | 2 |
|
3 | | -This repository contains the official documentation for the DeployStack ecosystem. Visit [deploystack.io](https://deploystack.io) to learn more about our platform. |
| 3 | +This repository contains the official documentation site for the [DeployStack](https://deploystack.io/docs/) ecosystem, built with [fumadocs](https://fumadocs.vercel.app/). Visit [deploystack.io](https://deploystack.io) to learn more about our platform. |
4 | 4 |
|
5 | | -## Project Structure |
| 5 | +## Technology Stack |
| 6 | + |
| 7 | +- **Framework**: Next.js 15 with App Router |
| 8 | +- **Documentation**: Fumadocs for modern docs experience |
| 9 | +- **Content**: MDX (Markdown + React components) |
| 10 | +- **Styling**: Tailwind CSS |
| 11 | +- **Language**: TypeScript |
6 | 12 |
|
7 | | -Key directories in this repository: |
| 13 | +## Project Structure |
8 | 14 |
|
9 | 15 | ```text |
10 | 16 | . |
11 | | -├── docs/ |
12 | | -│ ├── assets/ |
13 | | -│ │ └── images/ |
14 | | -│ ├── deploystack/ |
15 | | -│ ├── docker-to-iac/ |
16 | | -│ └── sidebar-links.json |
17 | | -└── markdown-rules/ |
| 17 | +├── docs/ # Documentation content (MDX files) |
| 18 | +│ ├── deploystack/ # DeployStack documentation |
| 19 | +│ ├── docker-to-iac/ # Docker-to-IaC documentation |
| 20 | +│ └── assets/ # Images and static assets |
| 21 | +├── app/ # Next.js app directory (fumadocs framework) |
| 22 | +├── lib/ # Documentation utilities & components |
| 23 | +└── source.config.ts # Fumadocs configuration |
| 24 | +``` |
| 25 | + |
| 26 | +**Note**: The `app/` directory contains the fumadocs framework setup and should not be modified for content changes. All documentation content goes in the `docs/` directory. |
| 27 | + |
| 28 | +## Development Setup |
| 29 | + |
| 30 | +```bash |
| 31 | +# Install dependencies |
| 32 | +npm ci |
| 33 | + |
| 34 | +# Start documentation development server (http://localhost:3000) |
| 35 | +npm run dev |
| 36 | + |
| 37 | +# Build documentation site for production |
| 38 | +npm run build |
| 39 | + |
| 40 | +# Start production server |
| 41 | +npm run start |
| 42 | + |
| 43 | +# Validate documentation quality |
| 44 | +npm run lint:md # Markdown linting |
| 45 | +npm run lint:links # Link validation |
18 | 46 | ``` |
19 | 47 |
|
20 | 48 | ## Contributing Guidelines |
21 | 49 |
|
22 | | -### Documentation Standards |
| 50 | +### Writing Documentation |
23 | 51 |
|
24 | | -1. Store all documentation files in the `./docs` directory |
25 | | -2. Place images in `./docs/assets/images` |
26 | | -3. Use absolute links for all references: |
27 | | - - Documentation: `/docs/docker-to-iac/index.md` |
| 52 | +1. **Content Format**: Write all documentation in MDX format (`.mdx` files) |
| 53 | +2. **Location**: Store all content in the `docs/` directory |
| 54 | +3. **Navigation**: Use `meta.json` files in each directory to control navigation structure |
| 55 | +4. **Assets**: Place images in `docs/assets/images/` with appropriate subdirectories |
| 56 | +5. **Links**: Use absolute paths for all references: |
| 57 | + - Documentation: `/docs/docker-to-iac/` |
28 | 58 | - Images: `/docs/assets/images/example.png` |
29 | 59 |
|
30 | | -### Adding New Content |
| 60 | +### Navigation Structure |
31 | 61 |
|
32 | | -When creating new documentation: |
| 62 | +Fumadocs automatically generates navigation from your file structure and `meta.json` files: |
33 | 63 |
|
34 | | -1. Add new pages to the appropriate subdirectory in `./docs` |
35 | | -2. Follow the established file naming conventions |
36 | | -3. Ensure all links are absolute paths |
37 | | -4. Include necessary sidebar entries in `sidebar-links.json` |
| 64 | +- Each directory can have a `meta.json` file to configure its appearance in navigation |
| 65 | +- File-based routing: `docs/deploystack/index.mdx` becomes `/docs/deploystack` |
| 66 | +- Nested directories create hierarchical navigation |
38 | 67 |
|
39 | | -### Asset Management |
| 68 | +### Adding New Content |
40 | 69 |
|
41 | | -For diagrams and architectural images (optional): |
| 70 | +1. Create new `.mdx` files in the appropriate `docs/` subdirectory |
| 71 | +2. Add or update `meta.json` files to control navigation |
| 72 | +3. Follow established naming conventions |
| 73 | +4. Ensure all links use absolute paths |
| 74 | +5. Test locally with `npm run dev` |
42 | 75 |
|
43 | | -1. Use [draw.io](https://app.diagrams.net/) for creating diagrams |
44 | | -2. Export as PNG with included diagram data for future editing |
45 | | -3. Place files in the appropriate subdirectory under `./docs/assets/images` |
| 76 | +### Asset Management |
46 | 77 |
|
47 | | -If you want to upload images, please minify them. |
| 78 | +For diagrams and images: |
| 79 | + |
| 80 | +1. Use [drow.io](https://app.diagrams.net/) for creating diagrams |
| 81 | +2. Export as PNG or WebP format |
| 82 | +3. Optimize images for web (compress file sizes) |
| 83 | +4. Place files in appropriate subdirectories under `docs/assets/images/` |
48 | 84 |
|
49 | 85 | ## Deployment Process |
50 | 86 |
|
51 | | -Our deployment process uses two main branches: |
| 87 | +Our deployment uses a two-branch workflow: |
52 | 88 |
|
53 | | -- `main`: Development branch |
54 | | -- `prod`: Production branch |
| 89 | +- **`main`**: Development branch for content updates and testing |
| 90 | +- **`prod`**: Production branch that deploys to [deploystack.io/docs](https://deploystack.io/docs) |
55 | 91 |
|
56 | 92 | ### Workflow |
57 | 93 |
|
58 | 94 | 1. Create feature branches from `main` |
59 | 95 | 2. Submit pull requests to `main` |
60 | 96 | 3. After approval and merge to `main`, changes are automatically validated |
61 | | -4. Merge to `prod` to deploy to [deploystack.io/docs](https://deploystack.io/docs) |
| 97 | +4. Merge to `prod` to deploy to production |
62 | 98 |
|
63 | 99 | ### Continuous Integration |
64 | 100 |
|
65 | 101 | The CI pipeline includes: |
66 | 102 |
|
67 | | -- Markdown linting |
68 | | -- Link validation |
69 | | -- Automatic versioning using semantic release |
| 103 | +- Markdown linting and validation |
| 104 | +- Link checking to prevent broken links |
| 105 | +- Automatic fumadocs build verification |
70 | 106 | - Production deployment triggers |
71 | 107 |
|
72 | | -## Development Setup |
73 | | - |
74 | | -```bash |
75 | | -# Install dependencies |
76 | | -npm ci |
77 | | - |
78 | | -# Run markdown linting |
79 | | -npm run lint:md |
80 | | - |
81 | | -# Check for dead links |
82 | | -npm run lint:links |
83 | | -``` |
84 | | - |
85 | | -## Release Process |
| 108 | +## Local Development |
86 | 109 |
|
87 | | -Releases are managed automatically through our CI/CD pipeline. When merging to the production branch: |
| 110 | +When running `npm run dev`, the documentation site will be available at `http://localhost:3000`. The fumadocs framework provides: |
88 | 111 |
|
89 | | -1. Changes are validated |
90 | | -2. Documentation is built |
91 | | -3. Content is deployed to [deploystack.io/docs](https://deploystack.io/docs) |
| 112 | +- Hot reloading for content changes |
| 113 | +- Automatic navigation generation |
| 114 | +- Built-in search functionality |
| 115 | +- Responsive design |
| 116 | +- Dark/light mode support |
92 | 117 |
|
93 | 118 | ## 💬 Need Help? |
94 | 119 |
|
95 | 120 | - 📚 Check our [Documentation](https://deploystack.io/docs) |
96 | 121 | - 🎯 Report issues on [GitHub](https://github.com/deploystackio/documentation/issues) |
97 | | -- 📧 Use Discord to chat with us at [https://discord.gg/UjFWwByB](https://discord.gg/UjFWwByB) |
| 122 | +- 📧 Join our Discord at [https://discord.gg/UjFWwByB](https://discord.gg/UjFWwByB) |
0 commit comments