Skip to content

Commit 00ae93d

Browse files
feat: create docs website (#1696)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
1 parent 667291f commit 00ae93d

File tree

209 files changed

+3634
-8
lines changed

Some content is hidden

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

209 files changed

+3634
-8
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Deploy Static Website to AWS
2+
3+
# Defines when the action will run.
4+
# This example triggers the workflow on push events to the main branch.
5+
on:
6+
push:
7+
branches: [master]
8+
9+
# Limit permissions for the GITHUB_TOKEN to adhere to the principle of least privilege.
10+
permissions:
11+
contents: read
12+
13+
# The jobs that will be executed by the workflow.
14+
jobs:
15+
deploy:
16+
# The type of runner that the job will run on.
17+
runs-on: ubuntu-latest
18+
19+
# Steps represent a sequence of tasks that will be executed as part of the job.
20+
steps:
21+
# Checks-out your repository under $GITHUB_WORKSPACE, so the job can access it.
22+
- uses: actions/checkout@v2
23+
24+
# Install MkDocs and any necessary plugins
25+
- name: Install MkDocs with plugins
26+
run: |
27+
pip install mkdocs
28+
pip install mkdocs-material
29+
pip install mkdocs-git-revision-date-localized-plugin
30+
31+
# Build your site using MkDocs
32+
- name: Build site with MkDocs
33+
run: |
34+
cd documentation
35+
mkdocs build --clean
36+
37+
# Deploy to AWS
38+
- name: Deploy to AWS
39+
uses: onramper/[email protected]
40+
with:
41+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
42+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
43+
domain: docs.myaltimate.com
44+
publish_dir: ./documentation/site

CLAUDE.md

Lines changed: 309 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,16 @@ src/
6262
### 1. dbt Integration Support
6363

6464
**Multiple Integration Types**:
65-
- **dbt Core**: Direct Python integration
66-
- **dbt Cloud**: API-based integration
67-
- **dbt Fusion**: Command-line integration
68-
- **Core Command**: CLI wrapper integration
65+
- **dbt Core**: Direct Python integration via Python bridge
66+
- **dbt Cloud**: API-based integration with dbt Cloud services
67+
- **dbt Fusion**: Command-line integration with dbt-fusion CLI
68+
- **Core Command**: CLI wrapper integration for dbt core
6969

7070
**Key Integration Files**:
71-
- `src/dbt_client/dbtCoreIntegration.ts`
72-
- `src/dbt_client/dbtCloudIntegration.ts`
73-
- `dbt_core_integration.py` (Python bridge)
71+
- `src/dbt_client/dbtCoreIntegration.ts` - dbt Core Python integration
72+
- `src/dbt_client/dbtCloudIntegration.ts` - dbt Cloud API integration
73+
- `src/dbt_client/dbtFusionCommandIntegration.ts` - dbt Fusion CLI integration
74+
- `dbt_core_integration.py` - Python bridge for Core integration
7475

7576
### 2. Language Server Features
7677

@@ -268,4 +269,304 @@ Uses VSCode's webview messaging system with typed message contracts. State is sy
268269
### 4. Python Bridge Pattern
269270
For dbt operations requiring Python, use the established bridge pattern with JSON serialization and error handling.
270271

271-
This architecture enables the extension to provide comprehensive dbt development support while maintaining modularity and extensibility for future enhancements.
272+
This architecture enables the extension to provide comprehensive dbt development support while maintaining modularity and extensibility for future enhancements.
273+
274+
---
275+
276+
# User Guide
277+
278+
## Core Features Overview
279+
280+
The dbt Power User extension accelerates dbt and SQL development by 3x through three key phases:
281+
282+
### 🔧 DEVELOP
283+
- **SQL Visualizer**: Visual query builder and analyzer
284+
- **Query Explanation**: AI-powered SQL query explanation
285+
- **Auto-generation**: Generate dbt models from sources or raw SQL
286+
- **Auto-completion**: IntelliSense for dbt models, macros, sources, and doc blocks
287+
- **Click to Run**: Execute models directly from editor
288+
- **Query Translation**: Translate SQL between different dialects
289+
- **Compiled SQL Preview**: View compiled dbt code before execution
290+
291+
### 🧪 TEST
292+
- **Query Results Preview**: Execute and analyze query results with export capabilities
293+
- **Test Generation**: AI-powered test generation for dbt models
294+
- **Column Lineage**: Detailed data lineage with code visibility
295+
- **Defer to Production**: Run models without rebuilding dependencies
296+
- **SQL Validation**: Validate SQL without execution
297+
- **Model Lineage**: Visual representation of model dependencies
298+
299+
### 🤝 COLLABORATE
300+
- **Documentation Generation**: AI-powered documentation creation
301+
- **Code Collaboration**: Discussion threads on code and documentation
302+
- **Project Governance**: Automated checks for code quality and standards
303+
- **SaaS UI Integration**: Web-based interface for dbt docs and lineage
304+
- **Query History & Bookmarks**: Track and share query executions
305+
- **Export Workflows**: Share lineage and documentation externally
306+
307+
## DataMates AI Integration
308+
309+
The extension includes **AI Teammates** through the DataMates Platform:
310+
- **Coaching**: Personalize AI teammates for specific requirements
311+
- **Query Assistance**: AI-powered query explanation and optimization
312+
- **Documentation**: Automated documentation generation
313+
- **Test Suggestions**: Smart test recommendations
314+
- **SQL Translation**: Cross-dialect SQL conversion
315+
316+
## Feature Availability
317+
318+
**Free Extension Features**:
319+
- SQL Visualizer, Model-level lineage, Auto-generation from sources
320+
- Auto-completion, Click to Run, Compiled SQL preview
321+
- Query results preview, Defer to production, SQL validation
322+
323+
**With Altimate AI Key** (free signup at [app.myaltimate.com](https://app.myaltimate.com)):
324+
- Column-level lineage, Query explanation AI, Query translation AI
325+
- Auto-generation from SQL, Test generation AI, Documentation generation AI
326+
- Code/documentation collaboration, Lineage export, SaaS UI
327+
- Project governance, Query history & bookmarks
328+
329+
---
330+
331+
# Installation and Setup
332+
333+
## Installation Methods
334+
335+
### Native Installation
336+
Install directly from [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=innoverio.vscode-dbt-power-user) or via VS Code:
337+
1. Open VS Code Extensions panel (`Ctrl+Shift+X`)
338+
2. Search for "dbt Power User"
339+
3. Click Install
340+
4. Reload VS Code if prompted
341+
342+
### Dev Container Installation
343+
Add to your `.devcontainer/devcontainer.json`:
344+
```json
345+
{
346+
"customizations": {
347+
"vscode": {
348+
"files.associations": {
349+
"*.yaml": "jinja-yaml",
350+
"*.yml": "jinja-yaml",
351+
"*.sql": "jinja-sql",
352+
"*.md": "jinja-md"
353+
},
354+
"extensions": [
355+
"innoverio.vscode-dbt-power-user"
356+
]
357+
}
358+
}
359+
}
360+
```
361+
362+
### Cursor IDE Support
363+
The extension is also available for [Cursor IDE](https://www.cursor.com/how-to-install-extension). Install the same way as VS Code.
364+
365+
## Required Configuration
366+
367+
### 1. dbt Integration Setup
368+
Configure how the extension connects to dbt:
369+
- **dbt Core**: For local dbt installations with Python bridge (default)
370+
- **dbt Cloud**: For dbt Cloud API integration
371+
- **dbt Fusion**: For dbt-fusion CLI integration
372+
- **dbt Core Command**: For CLI-based dbt core integration
373+
374+
Set via `dbt.dbtIntegration` setting.
375+
376+
#### dbt Fusion Integration
377+
dbt Fusion is a command-line interface that provides enhanced dbt functionality. When using fusion integration:
378+
- Requires dbt-fusion CLI to be installed in your environment
379+
- Extension automatically detects fusion installation via `dbt --version` output
380+
- Provides full feature support including query execution, compilation, and catalog operations
381+
- Uses JSON log format for structured command output parsing
382+
383+
### 2. Python Environment
384+
Ensure Python and dbt are properly installed and accessible. The extension will auto-detect your Python environment through the VS Code Python extension.
385+
386+
### 3. Optional: Altimate AI Key
387+
For advanced AI features, get a free API key:
388+
1. Sign up at [app.myaltimate.com/register](https://app.myaltimate.com/register)
389+
2. Add API key to `dbt.altimateAiKey` setting
390+
3. Set instance name in `dbt.altimateInstanceName` setting
391+
392+
## Project Setup
393+
1. Open your dbt project folder in VS Code
394+
2. Run the setup wizard: Select "dbt" in bottom status bar → "Setup Extension"
395+
3. The extension will auto-install dbt dependencies if enabled
396+
4. Verify setup via Command Palette → "dbt Power User: Diagnostics"
397+
398+
---
399+
400+
# Troubleshooting for Developers
401+
402+
## Quick Diagnostics
403+
404+
### 1. Setup Wizard
405+
Use the built-in setup wizard for automated issue detection:
406+
- Click "dbt" or "dbt is not installed" in bottom status bar
407+
- Select "Setup Extension"
408+
- Follow guided setup process
409+
410+
### 2. Diagnostics Command
411+
Run comprehensive system diagnostics:
412+
- Open Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`)
413+
- Type "diagnostics" → Select "dbt Power User: Diagnostics"
414+
- Review output for environment issues, Python/dbt installation status, and connection problems
415+
416+
### 3. Problems Panel
417+
Check VS Code Problems panel for dbt project issues:
418+
- View → Problems (or `Ctrl+Shift+M`)
419+
- Look for dbt-related validation errors
420+
421+
## Debug Logging
422+
423+
Enable detailed logging for troubleshooting:
424+
1. Command Palette → "Set Log Level" → "Debug"
425+
2. View logs: Output panel → "Log" dropdown → "dbt"
426+
3. Reproduce the issue to capture debug information
427+
428+
## Developer Tools
429+
For advanced debugging:
430+
- Help → Toggle Developer Tools
431+
- Check console for JavaScript errors and detailed logs
432+
433+
## Common Issues
434+
435+
**Extension not recognizing dbt project**:
436+
- Verify `dbt_project.yml` exists in workspace root
437+
- Check Python environment has dbt installed
438+
- Run diagnostics command for detailed analysis
439+
440+
**Python/dbt not found**:
441+
- Configure Python interpreter via VS Code Python extension
442+
- Verify dbt is installed in selected Python environment
443+
- Set `dbt.dbtPythonPathOverride` if using custom Python path
444+
445+
**Connection issues**:
446+
- Verify database connection in dbt profiles
447+
- Check firewall/network settings
448+
- Review connection details in diagnostics output
449+
450+
## Getting Help
451+
- Join [#tools-dbt-power-user](https://getdbt.slack.com/archives/C05KPDGRMDW) in dbt Community Slack
452+
- Contact support at [altimate.ai/support](https://www.altimate.ai/support)
453+
- Use in-extension feedback widgets for feature-specific issues
454+
455+
---
456+
457+
# Core Development Features
458+
459+
## Auto-completion and Navigation
460+
461+
### Model Auto-completion
462+
- **Smart IntelliSense**: Auto-complete model names with `ref()` function
463+
- **Go-to-Definition**: Navigate directly to model files
464+
- **Hover Information**: View model details on hover
465+
466+
### Macro Support
467+
- **Macro Auto-completion**: IntelliSense for custom and built-in macros
468+
- **Parameter Hints**: Auto-complete macro parameters
469+
- **Definition Navigation**: Jump to macro definitions
470+
471+
### Source Integration
472+
- **Source Auto-completion**: IntelliSense for configured sources
473+
- **Column Awareness**: Auto-complete source column names
474+
- **Schema Navigation**: Navigate to source definitions
475+
476+
### Documentation Blocks
477+
- **Doc Block Auto-completion**: IntelliSense for documentation references
478+
- **Definition Linking**: Navigate to doc block definitions
479+
480+
## Query Development
481+
482+
### SQL Compilation and Preview
483+
- **Compiled Code View**: See final SQL before execution
484+
- **Template Resolution**: Preview Jinja templating results
485+
- **Syntax Highlighting**: Enhanced SQL syntax highlighting for dbt files
486+
487+
### Query Execution
488+
- **Preview Results**: Execute queries with `Cmd+Enter` / `Ctrl+Enter`
489+
- **Result Analysis**: Export results as CSV, copy as JSON
490+
- **Query History**: Track executed queries
491+
- **Configurable Limits**: Set row limits for query previews (default: 500 rows)
492+
493+
### SQL Formatting
494+
- **Auto-formatting**: Integration with sqlfmt
495+
- **Custom Parameters**: Configure formatting rules
496+
- **Batch Processing**: Format multiple files
497+
498+
## AI-Powered Development
499+
500+
### Query Explanation
501+
- **Natural Language**: Get plain English explanations of complex SQL
502+
- **Step-by-step Analysis**: Breakdown of query logic
503+
- **Performance Insights**: Query optimization suggestions
504+
505+
### Code Generation
506+
- **Model from Source**: Generate base models from source tables
507+
- **Model from SQL**: Convert raw SQL to dbt models
508+
- **Test Generation**: AI-powered test suggestions
509+
- **Documentation Generation**: Auto-generate model documentation
510+
511+
### Query Translation
512+
- **Cross-dialect Support**: Translate SQL between database dialects
513+
- **Syntax Adaptation**: Handle dialect-specific functions and syntax
514+
515+
## Documentation
516+
517+
This is a MkDocs-based documentation site for the dbt Power User VSCode Extension by Altimate AI. The site uses the Material theme and is organized around user workflows: Develop, Test, and Collaborate.
518+
519+
### Development Commands
520+
521+
- **Install dependencies**: `pip install --requirement documentation/requirements.txt`
522+
- **Start development server**: `cd documentation; mkdocs serve` (serves at http://127.0.0.1:8000)
523+
- **Build site**: `cd documentation; mkdocs build`
524+
- **Deploy to GitHub Pages**: `cd documentation; mkdocs gh-deploy`
525+
526+
### Architecture
527+
528+
#### Content Organization
529+
- `documentation/docs/` contains all documentation content in Markdown format
530+
- Content is organized by feature areas: `setup/`, `develop/`, `test/`, `document/`, `govern/`, `discover/`, `teammates/`, `datamates/`, `arch/`
531+
- Images and assets are stored within feature-specific directories
532+
- `documentation/mkdocs.yml` contains all site configuration
533+
534+
#### Key Configuration Files
535+
- `documentation/mkdocs.yml`: Main site configuration including navigation, theme settings, and plugins
536+
- `documentation/requirements.txt`: Python dependencies for MkDocs and plugins
537+
- `documentation/docs/overrides/`: Custom theme overrides (currently empty)
538+
- `documentation/docs/javascripts/`: Custom JavaScript for enhanced functionality
539+
540+
#### Theme Configuration
541+
The site uses Material theme with:
542+
- Custom Altimate AI branding and colors
543+
- Google Analytics integration (G-LXRSS3VK5N)
544+
- Git revision date tracking via plugin
545+
- Built-in feedback system
546+
- Dark/light mode support
547+
548+
#### Navigation Structure
549+
Navigation follows a three-phase user journey:
550+
1. **Setup**: Installation and configuration
551+
2. **Develop**: Core development features
552+
3. **Test**: Testing and validation tools
553+
4. **Additional**: Documentation, collaboration, discovery, and AI features
554+
555+
### Working with Content
556+
557+
#### Adding New Pages
558+
1. Create `.md` files in the appropriate `docs/` subdirectory
559+
2. Update the `nav` section in `mkdocs.yml` to include the new page
560+
3. Follow existing naming conventions for consistency
561+
562+
#### Images and Assets
563+
- Store images in the same directory as the referencing markdown file
564+
- Use relative paths for image references
565+
- Common assets go in `docs/assets/`
566+
567+
#### Internal Links
568+
Use relative markdown links to reference other pages. The site has extensive cross-referencing between related features.
569+
570+
### Testing Changes
571+
572+
Always test locally with `mkdocs serve` before deploying. The development server provides live reload for content changes.

0 commit comments

Comments
 (0)