Thank you for your interest in improving the CTF Assistant documentation!
The documentation is organized as follows:
docs/
├── README.md # Main documentation homepage
├── commands/
│ └── ctftime.md # CTFTime commands reference
├── requirements.txt # Python dependencies for building docs
└── CONTRIBUTING.md # This file
- Python 3.x
- pip (Python package manager)
-
Install documentation dependencies:
pip install -r docs/requirements.txt
-
Serve the documentation locally:
npm run docs:serve # or directly: mkdocs serve -
Open your browser to
http://127.0.0.1:8000
The local server will auto-reload when you make changes to documentation files.
To build static HTML files:
npm run docs:build
# or directly:
mkdocs buildThe built site will be in the site/ directory.
All documentation is written in Markdown with support for:
- Code blocks with syntax highlighting
- Tables for structured data
- Admonitions for notes, warnings, tips
- Emoji using
:emoji_name:syntax - Internal links to other documentation pages
- Be Clear and Concise: Users should understand quickly
- Provide Examples: Show real command usage
- Include Screenshots: When applicable (not yet implemented)
- Use Consistent Formatting:
- Commands in code blocks:
`/ctftime current` - Parameters in italic:
*optional* - Important notes in bold:
**Note:**
- Commands in code blocks:
- Create a new
.mdfile in the appropriate directory - Update
mkdocs.ymlnavigation section:nav: - Home: README.md - Your New Page: path/to/page.md
- Build and test locally
- Submit a pull request
Documentation is automatically built and deployed via GitHub Actions when:
- Changes are pushed to the
mainbranch - Changes affect files in
docs/ormkdocs.yml
The workflow:
- Installs Python and MkDocs dependencies
- Builds the documentation with strict mode
- Deploys to GitHub Pages
See .github/workflows/docs.yml for details.
- Fork the repository
- Create a branch for your changes:
git checkout -b docs/improve-ctftime-section
- Make your changes following the style guide
- Test locally using
mkdocs serve - Commit with clear messages:
git commit -m "docs: improve CTFTime schedule command examples" - Push to your fork:
git push origin docs/improve-ctftime-section
- Open a Pull Request with:
- Clear description of changes
- Screenshots if visual changes
- Links to relevant issues
Found a problem with the documentation?
- Check existing issues
- Open a new issue with:
- Clear title (e.g., "Docs: Missing example for rebind command")
- Description of the problem
- Suggested improvement (if any)
- Affected page/section
When documenting commands, include:
- Syntax: The command format with parameters
- Parameters: List each parameter with type and description
- Permissions: Who can use the command
- Examples: At least 2-3 real-world examples
- What it does: Step-by-step explanation
- Use Cases: When to use this command
- Important Notes: Warnings, caveats, tips
Use fenced code blocks with language specification:
```bash
npm run docs:serve
```For Discord commands:
```
/ctftime schedule id:2584
```-
Internal links: Use relative paths
[CTFTime Commands](commands/ctftime.md)
-
External links: Use full URLs
[CTFTime.org](https://ctftime.org)
Use MkDocs admonitions for special notes:
!!! note
This is a note
!!! warning
This is a warning
!!! tip
This is a helpful tip- Open an issue for documentation questions
- Join the TCP1P Discord server
- Check the MkDocs documentation
Thank you for contributing! 🎉