Document forum feature across site
- Add prominent forum CTA to community page - Add Get Help section to getting-started docs - Add forum link to footer Resources section - Update CLAUDE.md with web UI and forum architecture 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3efed0bf33
commit
2939dd806b
36
CLAUDE.md
36
CLAUDE.md
|
|
@ -78,3 +78,39 @@ providers:
|
||||||
```
|
```
|
||||||
|
|
||||||
The `mock` provider is built-in for testing without API calls.
|
The `mock` provider is built-in for testing without API calls.
|
||||||
|
|
||||||
|
## Web UI & Registry
|
||||||
|
|
||||||
|
SmartTools includes a web interface and tool registry:
|
||||||
|
|
||||||
|
### Web Modules (`src/smarttools/web/`)
|
||||||
|
|
||||||
|
- **app.py**: Flask app factory, registers blueprints
|
||||||
|
- **routes.py**: Main web routes (docs, tutorials, tools, etc.)
|
||||||
|
- **forum/**: Community forum blueprint
|
||||||
|
- **models.py**: Forum database schema (categories, topics, replies)
|
||||||
|
- **routes.py**: Forum routes (/forum, /forum/c/<slug>, /forum/t/<id>)
|
||||||
|
- **filters.py**: Jinja2 filters (timeago, markdown, etc.)
|
||||||
|
- **docs_content.py**: Documentation and tutorial content
|
||||||
|
|
||||||
|
### Registry Modules (`src/smarttools/registry/`)
|
||||||
|
|
||||||
|
- **app.py**: Registry API (tool publishing, search, downloads)
|
||||||
|
- **db.py**: SQLite schema and queries
|
||||||
|
|
||||||
|
### Key URLs
|
||||||
|
|
||||||
|
- `/forum` - Community forum
|
||||||
|
- `/docs` - Documentation
|
||||||
|
- `/tutorials` - Tutorial guides
|
||||||
|
- `/tools` - Tool registry browser
|
||||||
|
|
||||||
|
### Running the Web UI
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Development
|
||||||
|
python -m smarttools.web.app
|
||||||
|
|
||||||
|
# Production (example)
|
||||||
|
SMARTTOOLS_REGISTRY_DB=/path/to/db PORT=5050 python -m smarttools.web.app
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -81,12 +81,21 @@ output: "{summary}"</code></pre>
|
||||||
<li><a href="/docs/providers">Providers</a> - Configure AI providers</li>
|
<li><a href="/docs/providers">Providers</a> - Configure AI providers</li>
|
||||||
<li><a href="/tools">Browse Tools</a> - Discover community tools</li>
|
<li><a href="/tools">Browse Tools</a> - Discover community tools</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<h2 id="get-help">Get Help</h2>
|
||||||
|
<p>Stuck? Have questions? We've got you covered:</p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="/forum">Community Forum</a> - Ask questions, share projects, and connect with other users</li>
|
||||||
|
<li><a href="/forum/c/help">Help & Support</a> - Get help with installation, configuration, or usage</li>
|
||||||
|
<li><a href="https://gitea.brrd.tech/rob/SmartTools/issues" target="_blank">Report a Bug</a> - Found an issue? Let us know</li>
|
||||||
|
</ul>
|
||||||
""",
|
""",
|
||||||
"headings": [
|
"headings": [
|
||||||
("what-is-smarttools", "What is SmartTools?"),
|
("what-is-smarttools", "What is SmartTools?"),
|
||||||
("quick-start", "Quick Start"),
|
("quick-start", "Quick Start"),
|
||||||
("how-it-works", "How It Works"),
|
("how-it-works", "How It Works"),
|
||||||
("next-steps", "Next Steps"),
|
("next-steps", "Next Steps"),
|
||||||
|
("get-help", "Get Help"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@
|
||||||
<li><a href="{{ url_for('web.docs') }}" class="text-gray-400 hover:text-white text-sm">Documentation</a></li>
|
<li><a href="{{ url_for('web.docs') }}" class="text-gray-400 hover:text-white text-sm">Documentation</a></li>
|
||||||
<li><a href="{{ url_for('web.tutorials') }}" class="text-gray-400 hover:text-white text-sm">Tutorials</a></li>
|
<li><a href="{{ url_for('web.tutorials') }}" class="text-gray-400 hover:text-white text-sm">Tutorials</a></li>
|
||||||
<li><a href="{{ url_for('web.tools_browse') }}" class="text-gray-400 hover:text-white text-sm">Registry</a></li>
|
<li><a href="{{ url_for('web.tools_browse') }}" class="text-gray-400 hover:text-white text-sm">Registry</a></li>
|
||||||
|
<li><a href="{{ url_for('forum.index') }}" class="text-gray-400 hover:text-white text-sm">Forum</a></li>
|
||||||
<li><a href="{{ url_for('web.community') }}" class="text-gray-400 hover:text-white text-sm">Community</a></li>
|
<li><a href="{{ url_for('web.community') }}" class="text-gray-400 hover:text-white text-sm">Community</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,29 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
|
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
|
||||||
|
<!-- Forum CTA -->
|
||||||
|
<section class="mb-12">
|
||||||
|
<a href="{{ url_for('forum.index') }}"
|
||||||
|
class="block bg-indigo-600 rounded-lg p-6 hover:bg-indigo-700 transition-colors">
|
||||||
|
<div class="flex items-center justify-between">
|
||||||
|
<div class="flex items-center space-x-4">
|
||||||
|
<div class="w-12 h-12 bg-indigo-500 rounded-lg flex items-center justify-center">
|
||||||
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h2 class="text-xl font-bold text-white">Community Forum</h2>
|
||||||
|
<p class="text-indigo-100">Ask questions, share projects, and connect with other users</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
<!-- Community hubs -->
|
<!-- Community hubs -->
|
||||||
<section class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-12">
|
<section class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-12">
|
||||||
<div class="bg-white rounded-lg border border-gray-200 p-6">
|
<div class="bg-white rounded-lg border border-gray-200 p-6">
|
||||||
|
|
@ -136,6 +159,10 @@
|
||||||
<!-- Quick Links -->
|
<!-- Quick Links -->
|
||||||
<section class="mt-8 text-center">
|
<section class="mt-8 text-center">
|
||||||
<div class="flex flex-wrap items-center justify-center gap-4">
|
<div class="flex flex-wrap items-center justify-center gap-4">
|
||||||
|
<a href="{{ url_for('forum.index') }}"
|
||||||
|
class="inline-flex items-center px-4 py-2 text-sm font-medium text-white bg-indigo-600 rounded-md hover:bg-indigo-700">
|
||||||
|
Visit Forum
|
||||||
|
</a>
|
||||||
<a href="https://gitea.brrd.tech/rob/SmartTools#installation"
|
<a href="https://gitea.brrd.tech/rob/SmartTools#installation"
|
||||||
target="_blank" rel="noopener"
|
target="_blank" rel="noopener"
|
||||||
class="inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50">
|
class="inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue