Back to list
jvdomino

domino-projects

by jvdomino

A comprehensive Claude Code plugin providing coverage of the Domino Data Lab platform for AI-assisted development.

1🍴 1📅 Jan 16, 2026

SKILL.md


name: domino-projects description: Work with Domino Projects including Git integration, DFS vs Git-based projects, collaboration, and version control. Covers project creation, Git provider setup (GitHub, GitLab, Bitbucket), branch management, collaborator permissions, and project settings. Use when creating projects, setting up Git repos, or managing team collaboration.

Domino Projects and Git Skill

Description

This skill helps users work with Domino Projects - including project creation, Git integration, version control, and collaboration features.

Activation

Activate this skill when users want to:

  • Create or configure a Domino project
  • Set up Git integration
  • Understand DFS vs Git-based projects
  • Collaborate with team members
  • Manage project settings and permissions

Project Types

Git-Based Projects

  • Code stored in external Git provider (GitHub, GitLab, Bitbucket)
  • Full Git workflow support
  • Better for teams familiar with Git
  • Access to Git provider features (PRs, issues)

Domino File System (DFS) Projects

  • Code stored in Domino's internal file system
  • Automatic versioning (Git under the hood)
  • Simpler for users unfamiliar with Git
  • Good for research and experimentation

Creating a Project

Via Domino UI

  1. Click New Project
  2. Enter project name
  3. Select project type:
    • Git-based: Connect to Git repository
    • DFS: Use Domino File System
  4. Configure settings
  5. Click Create

Via Python SDK

from domino import Domino

domino = Domino()

# Create DFS project
project = domino.project_create(
    project_name="my-project",
    owner_name="your-username"
)

print(f"Project ID: {project['id']}")

Git-Based Projects

Connecting to Git Repository

  1. Create project as Git-based
  2. Enter repository URL
  3. Configure authentication:
    • SSH Key: Add SSH public key to Git provider
    • HTTPS: Use personal access token

Git Credentials

# Add SSH key to Domino account
# Go to Account Settings > Git Credentials

# Or use HTTPS with token
https://username:token@github.com/org/repo.git

Working with Git in Workspaces

Sync Changes

Click Sync in workspace to push changes:

  1. Domino commits changes
  2. Pushes to configured branch
  3. Updates project state

Manual Git Commands

# Check status
git status

# Add and commit
git add .
git commit -m "Update model training"

# Push to remote
git push origin main

# Pull latest
git pull origin main

IDE Git Integration

  • VS Code: Use Source Control panel
  • JupyterLab: Use Git extension
  • RStudio: Use Git pane

Branch Management

# Create feature branch
git checkout -b feature/new-model

# Work on branch
git add .
git commit -m "Add new model"
git push origin feature/new-model

# Switch branches
git checkout main

Multi-Repository Support

Domino supports multiple Git repositories per project:

  1. Go to Project Settings > Repositories
  2. Add additional repositories
  3. Configure mount paths
  4. Enable/disable per execution
# Access code from multiple repos
# Repo 1: /mnt/code/main-repo/
# Repo 2: /mnt/code/shared-lib/
from shared_lib import utils

DFS Projects

How DFS Works

  • Files stored in Domino-managed Git
  • Automatic commits on sync
  • Version history tracked
  • Simplified workflow

Sync Files

  1. Work in workspace
  2. Click Sync when ready
  3. Enter commit message
  4. Files pushed to Domino

View History

  1. Go to Files in project
  2. Click History
  3. View all commits
  4. Restore previous versions

Project Structure

project/
├── README.md           # Project documentation
├── requirements.txt    # Python dependencies
├── data/               # Local data (small files)
├── src/                # Source code
│   ├── train.py
│   ├── evaluate.py
│   └── utils.py
├── notebooks/          # Jupyter notebooks
│   └── exploration.ipynb
└── tests/              # Unit tests
    └── test_model.py

Special Paths

  • /mnt/code/: Project files
  • /mnt/data/: Domino Datasets
  • /mnt/artifacts/: Output artifacts
  • /mnt/imported/: Imported project files

Collaboration

Project Roles

RolePermissions
OwnerFull control, delete project
AdminManage members, settings
ContributorEdit files, run executions
Launcher UserRun launchers only
Results ConsumerView results only

Adding Collaborators

  1. Go to Project Settings > Access
  2. Click Add Collaborator
  3. Search for user
  4. Assign role
  5. Click Add

Sharing Projects

  • Private: Only invited users
  • Organization: All org members can view
  • Public: Anyone in Domino instance

Project Settings

Environment

Set default compute environment:

  1. Go to Project Settings > Environment
  2. Select default environment
  3. Optionally allow overrides

Hardware Tier

Set default resources:

  1. Go to Project Settings > Hardware Tier
  2. Select default tier
  3. Set GPU preferences

Environment Variables

Add project-level variables:

API_KEY=your-api-key
MODEL_VERSION=v2.0
DEBUG=false

Access in code:

import os
api_key = os.environ.get('API_KEY')

Importing/Exporting Projects

Import Project

  1. Click New Project
  2. Select Import
  3. Choose source:
    • Git repository
    • ZIP file
    • Another Domino project

Export Project

# Download project files
domino download project-owner/project-name

Fork Project

  1. Go to project page
  2. Click Fork
  3. Creates copy in your account

Reproducibility

Execution Records

Every execution tracked:

  • Exact code version
  • Environment used
  • Hardware tier
  • Inputs/outputs
  • Start/end times

Reproduce Past Execution

  1. Go to Jobs or Workspaces
  2. Find execution to reproduce
  3. Click Reproduce
  4. Creates workspace with same settings

Environment Locking

Lock environment to specific revision:

# In project settings or via SDK
domino.project_update(
    project_name="my-project",
    environment_id="env-specific-revision"
)

Best Practices

1. Use Git for Code

Keep code in version control for:

  • Change tracking
  • Code reviews
  • Collaboration
  • Rollback capability

2. Separate Code and Data

  • Code: Git repository
  • Large data: Domino Datasets
  • Artifacts: /mnt/artifacts/

3. Document Projects

Include README with:

  • Project purpose
  • Setup instructions
  • How to run
  • Dependencies

4. Use Environments

Don't install packages ad-hoc; use:

  • Dockerfile instructions
  • requirements.txt
  • Environment configuration

5. Regular Commits

# Commit frequently with meaningful messages
git commit -m "Add data preprocessing step"
git commit -m "Fix model evaluation bug"

Troubleshooting

Git Authentication Failed

  • Verify credentials in Domino account settings
  • Check token hasn't expired
  • Ensure repository access permissions

Sync Conflicts

# Pull latest first
git pull origin main

# Resolve conflicts
git status
# Edit conflicting files
git add .
git commit -m "Resolve conflicts"

Files Not Appearing

  • Check file is in correct path
  • Verify sync completed
  • Refresh browser

Documentation Reference

Score

Total Score

70/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon