Build, Deploy and Integrate via Praxis
Build custom web components powered by Facets APIs, deploy them to GitHub Pages, and integrate them directly into your Facets dashboard — all through a single conversation with Praxis.
Overview
Praxis enables you to create custom web components that extend your Facets experience. Instead of writing code manually, you describe what you need in plain language. Praxis handles the entire lifecycle:
- Build — Scaffolds a web component application using Facets APIs
- Deploy — Publishes it to GitHub Pages for hosting
- Integrate — Provides a URL you can embed as a web component in Facets
Prerequisites
Before you begin, ensure the following are in place:
| Requirement | Details |
|---|---|
| Facets Account | Active account with access to the Facets platform |
| GitHub PAT | A GitHub Personal Access Token with repo and pages permissions, registered in Praxis |
| GitHub Repository | Praxis will create one, or you can provide an existing repository |
| Facets API Access | The APIs your web component will consume must be accessible from your environment |
Setting Up Your GitHub PAT
If you haven't registered a GitHub PAT with Praxis yet, simply tell Praxis:
"I need to set up my GitHub PAT"
Praxis will guide you through a secure flow to register your token. The token is encrypted and never visible to the agent.
Workflow
Step 1: Describe Your Web Component
Start a conversation with Praxis and describe the web component you need. Be specific about:
- What it should display — tables, charts, dashboards, forms, etc.
- Which Facets data it should use — environments, resources, releases, costs, etc.
- Any interactions — filters, drill-downs, actions, etc.
Example prompts:
"Build me a web component that displays a release history timeline for a selected project and environment"
"Create a web component that lists all resources in an environment with their health status"
Praxis will ask clarifying questions if needed — such as preferred UI framework, chart libraries, or specific API fields to include.
Step 2: Praxis Builds the Application
Once the requirements are clear, Praxis will:
- Scaffold the project — Create a web component application (typically using Lit, Stencil, or vanilla Web Components)
- Integrate Facets APIs — Wire up API calls to fetch the data your component needs
- Add configuration — Set up build tooling, bundling, and GitHub Pages deployment configuration
- Push to GitHub — Commit the code to a repository (new or existing) under your GitHub account
You'll see the progress as Praxis works through each step. You can review the generated code and request changes at any point.
Step 3: Praxis Deploys to GitHub Pages
After the code is pushed, Praxis will:
- Configure GitHub Pages — Enable Pages on the repository, set the source branch/directory
- Trigger the build — Run the GitHub Actions workflow (or direct deployment) to publish the component
- Verify deployment — Confirm the component is live and accessible
Once complete, Praxis will provide you with the GitHub Pages URL where your web component is hosted.
Example output:
Your web component is live at:
https://<your-org>.github.io/<repo-name>/
You can use this URL to integrate it into Facets.
Step 4: Integrate into Facets
Use the GitHub Pages URL to register your web component within the Facets platform. This allows the component to appear directly inside your Facets dashboard.
To integrate:
- Navigate to your Facets Dashboard
- Go to Settings → Web Components (or the relevant integration section)
- Click Add Web Component
- Provide the following:
- Name — A display name for your component
- URL — The GitHub Pages URL provided by Praxis
- Configuration — Any parameters the component accepts (e.g., project ID, environment name)
- Save and the component will be available in your dashboard
Alternatively, you can ask Praxis to handle the integration:
"Integrate my web component into Facets using the URL https://my-org.github.io/cost-dashboard/"
Updating Your Web Component
Need to make changes after deployment? Just tell Praxis:
"Update my cost pie chart to also include a bar chart view"
Praxis will:
- Pull the existing repository
- Apply the requested changes
- Push and redeploy to GitHub Pages
The URL remains the same — your Facets integration updates automatically.
Troubleshooting
| Issue | Resolution |
|---|---|
| GitHub Pages not loading | Ensure your repository is public, or GitHub Pages is enabled for private repos in your GitHub plan. Ask Praxis to verify the Pages configuration. |
| API data not appearing | Check that your Facets API credentials are configured in the component. Ask Praxis to review the API integration. |
| Component not rendering in Facets | Verify the URL is correct and accessible from your browser. Ensure the component is properly registered in Facets settings. |
| PAT permission errors | Your GitHub PAT needs repo and pages scopes. Ask Praxis to help you update your PAT. |
| Build failures | Ask Praxis to check the GitHub Actions logs and fix any build issues. |
Updated about 2 hours ago