<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ugo</title>
    <description>The latest articles on DEV Community by Ugo (@ugo).</description>
    <link>https://dev.to/ugo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F673604%2Fd7692e37-7aa7-4e4a-9a41-0b1e9aabb742.jpeg</url>
      <title>DEV Community: Ugo</title>
      <link>https://dev.to/ugo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ugo"/>
    <language>en</language>
    <item>
      <title>Share Claude-created Documents Across Worktrees with dot-claude-sync</title>
      <dc:creator>Ugo</dc:creator>
      <pubDate>Sun, 16 Nov 2025 10:47:12 +0000</pubDate>
      <link>https://dev.to/ugo/share-claude-created-documents-across-worktrees-with-dot-claude-sync-cpc</link>
      <guid>https://dev.to/ugo/share-claude-created-documents-across-worktrees-with-dot-claude-sync-cpc</guid>
      <description>&lt;h1&gt;
  
  
  About dot-claude-sync
&lt;/h1&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Go-based CLI tool to synchronize &lt;code&gt;.claude&lt;/code&gt; directories across multiple projects/worktrees&lt;/li&gt;
&lt;li&gt;Flexible sync strategies with group management and priority system&lt;/li&gt;
&lt;li&gt;Dramatically improves Claude Code workflow in git worktree environments&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;My workflow with Claude Code involves having it create investigation documents and TODO lists first, which I then review before having it write code. I want these documents to be within the project so I don't have to open a separate editor to view them.&lt;/p&gt;

&lt;p&gt;However, placing them in the project root causes them to appear in git diffs, and setting up global ignore is cumbersome. Additionally, placing them at the root risks polluting Claude's context with unnecessary prompts. That's when I discovered the &lt;code&gt;.claude&lt;/code&gt; folder - a directory that Claude doesn't automatically read.&lt;/p&gt;

&lt;p&gt;I tried organizing documents in &lt;code&gt;.claude&lt;/code&gt; and found it worked well. For example, when fixing a dashboard, I create a folder like &lt;code&gt;.claude/custom-documents/dashboard-fix-XXX&lt;/code&gt; to consolidate all task-related content there.&lt;/p&gt;

&lt;p&gt;When working with Claude Code, you often save useful prompts, skills, and project context in the &lt;code&gt;.claude&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;However, when developing with git worktrees across multiple branches, &lt;code&gt;.claude&lt;/code&gt; isn't synced between worktrees since it's gitignored.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;dot-claude-sync&lt;/strong&gt; was developed to solve this problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Background and Challenges
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Using .claude with Claude Code
&lt;/h3&gt;

&lt;p&gt;When developing with Claude Code, it's useful to save the following in the &lt;code&gt;.claude&lt;/code&gt; directory as documentation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Task-specific prompts&lt;/li&gt;
&lt;li&gt;Frequently used skills and commands&lt;/li&gt;
&lt;li&gt;Implementation specifications and TODO lists&lt;/li&gt;
&lt;li&gt;Project context information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are &lt;strong&gt;not managed by git&lt;/strong&gt; (gitignored), allowing you to maintain Claude-specific long-term context without polluting the repository.&lt;/p&gt;

&lt;p&gt;While you can share with your team, individual documentation quality varies, and unorganized growth leads to context pollution.&lt;/p&gt;

&lt;p&gt;Therefore, it's better to manage personal documents individually and share skills through &lt;a href="https://code.claude.com/docs/plugins" rel="noopener noreferrer"&gt;Plugins&lt;/a&gt; on the marketplace.&lt;/p&gt;

&lt;h3&gt;
  
  
  Git Worktree Challenges
&lt;/h3&gt;

&lt;p&gt;Issues arise when using git worktrees:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;my-project/
├── main/           &lt;span class="c"&gt;# Main worktree&lt;/span&gt;
│   └── .claude/
│       └── prompts/useful-prompt.md
├── feature-a/      &lt;span class="c"&gt;# feature-a worktree&lt;/span&gt;
│   └── .claude/    &lt;span class="c"&gt;# Empty!&lt;/span&gt;
└── feature-b/      &lt;span class="c"&gt;# feature-b worktree&lt;/span&gt;
    └── .claude/    &lt;span class="c"&gt;# Empty!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Even if initially synced, &lt;code&gt;.claude&lt;/code&gt; contents diverge as you work across worktrees&lt;/li&gt;
&lt;li&gt;Each worktree requires separate setup&lt;/li&gt;
&lt;li&gt;Manual copying of useful prompts between worktrees&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  dot-claude-sync Solution
&lt;/h2&gt;

&lt;p&gt;dot-claude-sync manages projects through &lt;strong&gt;groups&lt;/strong&gt; and controls sync strategy with a &lt;strong&gt;priority system&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Basic Usage
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. Installation
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Go install&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/yugo-ibuki/dot-claude-sync@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Short alias version (&lt;code&gt;dcs&lt;/code&gt; command) also available&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/yugo-ibuki/dot-claude-sync/cmd/dcs@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After installation, you can use the &lt;code&gt;dot-claude-sync&lt;/code&gt; command (or &lt;code&gt;dcs&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;:::message&lt;br&gt;
&lt;code&gt;$GOPATH/bin&lt;/code&gt; (usually &lt;code&gt;~/go/bin&lt;/code&gt;) must be in your PATH.&lt;br&gt;
:::&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build from source&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/yugo-ibuki/dot-claude-sync.git
&lt;span class="nb"&gt;cd &lt;/span&gt;dot-claude-sync
go build                    &lt;span class="c"&gt;# Generates dot-claude-sync binary&lt;/span&gt;
go build &lt;span class="nt"&gt;-o&lt;/span&gt; dcs ./cmd/dcs   &lt;span class="c"&gt;# Generates dcs alias binary&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  2. Initial Setup (Interactive)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dot-claude-sync init
&lt;span class="c"&gt;# or short version&lt;/span&gt;
dcs init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Running this command starts an interactive setup:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Enter group name&lt;/strong&gt;: Choose a name for your project group (e.g., &lt;code&gt;my-app&lt;/code&gt;, &lt;code&gt;web-projects&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enter project paths&lt;/strong&gt;: Input paths to &lt;code&gt;.claude&lt;/code&gt; directories to sync

&lt;ul&gt;
&lt;li&gt;Multiple paths supported (empty line to finish)&lt;/li&gt;
&lt;li&gt;Relative paths with &lt;code&gt;~&lt;/code&gt; supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-create config file&lt;/strong&gt;: Creates &lt;code&gt;~/.config/dot-claude-sync/config.yaml&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example execution&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;dot-claude-sync init
Enter group name: my-app
Enter project paths &lt;span class="o"&gt;(&lt;/span&gt;empty line to finish&lt;span class="o"&gt;)&lt;/span&gt;:
Path 1: ~/projects/my-app/main/.claude
Path 2: ~/projects/my-app/feature-a/.claude
Path 3: ~/projects/my-app/feature-b/.claude
Path 4: &lt;span class="o"&gt;[&lt;/span&gt;Enter]

Configuration file created: ~/.config/dot-claude-sync/config.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3. Auto-detect Worktrees (Optional)
&lt;/h4&gt;

&lt;p&gt;Instead of manual path entry, use the &lt;code&gt;detect&lt;/code&gt; command to auto-detect worktrees:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dot-claude-sync detect ~/projects/my-app &lt;span class="nt"&gt;--group&lt;/span&gt; my-app
&lt;span class="c"&gt;# or&lt;/span&gt;
dcs detect ~/projects/my-app &lt;span class="nt"&gt;--group&lt;/span&gt; my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Runs &lt;code&gt;git worktree list&lt;/code&gt; to detect worktrees&lt;/li&gt;
&lt;li&gt;Checks if &lt;code&gt;.claude&lt;/code&gt; directory exists in each worktree&lt;/li&gt;
&lt;li&gt;Automatically adds to config file if found&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4. View Configuration
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dot-claude-sync list
&lt;span class="c"&gt;# or&lt;/span&gt;
dcs list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;View current configuration showing group names and project paths.&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Run Sync
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dot-claude-sync push my-app
&lt;span class="c"&gt;# or&lt;/span&gt;
dcs push my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Syncs &lt;code&gt;.claude&lt;/code&gt; directories across all projects in the specified group.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Safe execution (dry-run mode)&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dot-claude-sync push my-app &lt;span class="nt"&gt;--dry-run&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
dcs push my-app &lt;span class="nt"&gt;--dry-run&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Previews what will happen without actually copying files. Recommended for first run with &lt;code&gt;--dry-run&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuration File Example
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;~/.config/dot-claude-sync/config.yaml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;my-app&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;main&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/projects/my-app/main/.claude&lt;/span&gt;
      &lt;span class="na"&gt;feature-a&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/projects/my-app/feature-a/.claude&lt;/span&gt;
      &lt;span class="na"&gt;feature-b&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/projects/my-app/feature-b/.claude&lt;/span&gt;
    &lt;span class="na"&gt;priority&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;main&lt;/span&gt;  &lt;span class="c1"&gt;# Highest priority (master configuration)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Running &lt;code&gt;dot-claude-sync push my-app&lt;/code&gt; with this configuration:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Collects files from all project &lt;code&gt;.claude&lt;/code&gt; directories&lt;/li&gt;
&lt;li&gt;When duplicate filenames exist, uses file from highest priority project (main)&lt;/li&gt;
&lt;li&gt;Distributes collected files to all projects&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔍 detect - Auto-detect Worktrees
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dot-claude-sync detect ~/projects/my-app &lt;span class="nt"&gt;--group&lt;/span&gt; my-app
&lt;span class="c"&gt;# or&lt;/span&gt;
dcs detect ~/projects/my-app &lt;span class="nt"&gt;--group&lt;/span&gt; my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Batch adds multiple worktree &lt;code&gt;.claude&lt;/code&gt; directories to configuration in git worktree environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Runs &lt;code&gt;git worktree list&lt;/code&gt; in specified directory&lt;/li&gt;
&lt;li&gt;Checks if &lt;code&gt;.claude&lt;/code&gt; directory exists in each detected worktree&lt;/li&gt;
&lt;li&gt;Automatically adds to config file (&lt;code&gt;~/.config/dot-claude-sync/config.yaml&lt;/code&gt;) if found&lt;/li&gt;
&lt;li&gt;Uses worktree branch name as alias (e.g., &lt;code&gt;main&lt;/code&gt;, &lt;code&gt;feature-a&lt;/code&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Benefits&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No manual entry of worktree paths&lt;/li&gt;
&lt;li&gt;Quick response to worktree configuration changes (add/remove)&lt;/li&gt;
&lt;li&gt;Reduces typo and path error risks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example execution&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Detect worktrees in ~/projects/my-app and add to my-app group&lt;/span&gt;
dcs detect ~/projects/my-app &lt;span class="nt"&gt;--group&lt;/span&gt; my-app

&lt;span class="c"&gt;# After execution, config.yaml is auto-updated:&lt;/span&gt;
&lt;span class="c"&gt;# groups:&lt;/span&gt;
&lt;span class="c"&gt;#   my-app:&lt;/span&gt;
&lt;span class="c"&gt;#     paths:&lt;/span&gt;
&lt;span class="c"&gt;#       main: ~/projects/my-app/main/.claude&lt;/span&gt;
&lt;span class="c"&gt;#       feature-a: ~/projects/my-app/feature-a/.claude&lt;/span&gt;
&lt;span class="c"&gt;#       feature-b: ~/projects/my-app/feature-b/.claude&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Use cases&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quick setup of worktree environment in new project&lt;/li&gt;
&lt;li&gt;Update configuration when adding new worktree to existing project&lt;/li&gt;
&lt;li&gt;Easy reproduction of same worktree structure by team members&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📤 push - Run Sync
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dcs push my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Collects &lt;code&gt;.claude&lt;/code&gt; files from all projects in group and distributes based on priority.&lt;/p&gt;

&lt;h3&gt;
  
  
  💾 backup - Create Backup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dcs backup my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Creates timestamped backups of &lt;code&gt;.claude&lt;/code&gt; directories for all projects in group.&lt;br&gt;
Backups are saved to &lt;code&gt;~/.local/share/dot-claude-sync/backups/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use cases&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Safety before first sync&lt;/li&gt;
&lt;li&gt;Protection before major changes&lt;/li&gt;
&lt;li&gt;Regular backup operations&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  🗑️ rm - Batch Delete
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dcs &lt;span class="nb"&gt;rm &lt;/span&gt;my-app prompts/old-prompt.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Deletes specified file from all projects in group.&lt;/p&gt;
&lt;h3&gt;
  
  
  📝 mv - Batch Rename
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dcs &lt;span class="nb"&gt;mv &lt;/span&gt;my-app old-name.md new-name.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Renames/moves files in all projects in group.&lt;/p&gt;
&lt;h3&gt;
  
  
  ⚙️ config - Configuration Management
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Add group&lt;/span&gt;
dcs config add-group new-group

&lt;span class="c"&gt;# Add project&lt;/span&gt;
dcs config add-project my-app feature-c ~/projects/my-app/feature-c/.claude

&lt;span class="c"&gt;# Set priority&lt;/span&gt;
dcs config set-priority my-app main feature-a feature-b feature-c
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Edit configuration file directly from command line.&lt;/p&gt;
&lt;h2&gt;
  
  
  Command Aliases
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;dot-claude-sync&lt;/code&gt; and &lt;code&gt;dcs&lt;/code&gt; provide identical functionality. Both aliases work for all commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# These work exactly the same&lt;/span&gt;
dot-claude-sync init
dcs init

dot-claude-sync push my-app
dcs push my-app

dot-claude-sync list
dcs list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;dcs&lt;/code&gt; is recommended for daily use due to its shorter length.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Case 1: Quick Worktree Environment Setup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Auto-detect and add worktree .claude directories&lt;/span&gt;
dcs detect ~/projects/my-app &lt;span class="nt"&gt;--group&lt;/span&gt; my-app

&lt;span class="c"&gt;# Create backup (for safety)&lt;/span&gt;
dcs backup my-app

&lt;span class="c"&gt;# Start syncing immediately&lt;/span&gt;
dcs push my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Case 2: Distribute Shared Configuration
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;web-projects&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;shared&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/projects/shared-config/.claude&lt;/span&gt;  &lt;span class="c1"&gt;# Shared config master&lt;/span&gt;
      &lt;span class="na"&gt;frontend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/projects/frontend/.claude&lt;/span&gt;
      &lt;span class="na"&gt;backend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/projects/backend/.claude&lt;/span&gt;
    &lt;span class="na"&gt;priority&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;shared&lt;/span&gt;  &lt;span class="c1"&gt;# Highest priority&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Distribute shared project settings to all projects&lt;/span&gt;
dcs push web-projects
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Case 3: Client Project Template Management
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;clients&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;template&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/templates/client/.claude&lt;/span&gt;
      &lt;span class="na"&gt;client-a&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/clients/a/.claude&lt;/span&gt;
      &lt;span class="na"&gt;client-b&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;~/clients/b/.claude&lt;/span&gt;
    &lt;span class="na"&gt;priority&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;template&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Deploy template project settings to each client project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Global Options
&lt;/h2&gt;

&lt;p&gt;All commands support the following options:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nt"&gt;--config&lt;/span&gt; &amp;lt;path&amp;gt;   &lt;span class="c"&gt;# Specify configuration file path&lt;/span&gt;
&lt;span class="nt"&gt;--dry-run&lt;/span&gt;         &lt;span class="c"&gt;# Preview execution (no actual changes)&lt;/span&gt;
&lt;span class="nt"&gt;--verbose&lt;/span&gt;         &lt;span class="c"&gt;# Output detailed logs&lt;/span&gt;
&lt;span class="nt"&gt;--force&lt;/span&gt;           &lt;span class="c"&gt;# Skip confirmation prompts&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Usage examples&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Safe confirmation with dry-run&lt;/span&gt;
dcs push my-app &lt;span class="nt"&gt;--dry-run&lt;/span&gt;

&lt;span class="c"&gt;# Execute with detailed logs&lt;/span&gt;
dcs push my-app &lt;span class="nt"&gt;--verbose&lt;/span&gt;

&lt;span class="c"&gt;# Use custom configuration file&lt;/span&gt;
dcs push my-app &lt;span class="nt"&gt;--config&lt;/span&gt; ~/custom-config.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;dot-claude-sync is a small tool that improves Claude Code workflow in git worktree environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommended for&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Users working with git worktrees&lt;/li&gt;
&lt;li&gt;Those wanting shared .claude settings across multiple projects&lt;/li&gt;
&lt;li&gt;Anyone looking to streamline prompt and skill management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're interested, please give it a try!&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/yugo-ibuki/dot-claude-sync" rel="noopener noreferrer"&gt;https://github.com/yugo-ibuki/dot-claude-sync&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Installation:

&lt;ul&gt;
&lt;li&gt;Main: &lt;code&gt;go install github.com/yugo-ibuki/dot-claude-sync@latest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Alias: &lt;code&gt;go install github.com/yugo-ibuki/dot-claude-sync/cmd/dcs@latest&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>tooling</category>
      <category>claude</category>
      <category>document</category>
    </item>
    <item>
      <title>CVE Search Tools</title>
      <dc:creator>Ugo</dc:creator>
      <pubDate>Sun, 29 Sep 2024 06:34:51 +0000</pubDate>
      <link>https://dev.to/ugo/cve-search-tools-44oe</link>
      <guid>https://dev.to/ugo/cve-search-tools-44oe</guid>
      <description>&lt;h2&gt;
  
  
  API
&lt;/h2&gt;

&lt;h3&gt;
  
  
  National Vulnerability Database (NVD) API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://nvd.nist.gov/developers/vulnerabilities" rel="noopener noreferrer"&gt;NVD Vulnerabilities&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;NIST (National Institute of Standards and Technology)&lt;/td&gt;
&lt;td&gt;API key required, usage restrictions apply&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Official and highly reliable&lt;/li&gt;
&lt;li&gt;Provides both CVSSv2 and v3 scores&lt;/li&gt;
&lt;li&gt;Free to use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-YYYY-XXXXXXX&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  CIRCL CVE Search API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.circl.lu/services/cve-search/" rel="noopener noreferrer"&gt;CIRCL CVE Search&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CIRCL (Computer Incident Response Center Luxembourg)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open source, can be self-hosted&lt;/li&gt;
&lt;li&gt;Provides both CVSSv2 and v3 scores&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://cve.circl.lu/api/cve/CVE-YYYY-XXXXXXX&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Vulners API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://vulners.com/docs/api_reference/api/" rel="noopener noreferrer"&gt;Vulners API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Vulners&lt;/td&gt;
&lt;td&gt;Paid plans available, limited free usage possible&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extensive vulnerability database&lt;/li&gt;
&lt;li&gt;Provides CVSSv2 and v3 scores&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://vulners.com/api/v3/search/lucene/?query=CVE-YYYY-XXXXXXX&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Red Hat Security Data API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://docs.redhat.com/en/documentation/red_hat_security_data_api/1.0" rel="noopener noreferrer"&gt;Red Hat Security Data API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Red Hat&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Specialized in CVEs related to Red Hat products&lt;/li&gt;
&lt;li&gt;Provides CVSSv2 and v3 scores&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://access.redhat.com/labs/securitydataapi/cve/CVE-YYYY-XXXXXXX.json&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  MITRE CVE API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://cve.mitre.org/cve/search_cve_list.html" rel="noopener noreferrer"&gt;MITRE CVE Search&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;MITRE Corporation&lt;/td&gt;
&lt;td&gt;CVSS scores often not included&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Official source of CVE data&lt;/li&gt;
&lt;li&gt;Provides basic CVE information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-XXXXXXX&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  VulDB API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://vuldb.com/?kb.api" rel="noopener noreferrer"&gt;VulDB API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;VulDB&lt;/td&gt;
&lt;td&gt;Paid service&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides extensive vulnerability information&lt;/li&gt;
&lt;li&gt;Includes CVSS scores, affected products, and remediation information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://vuldb.com/?kb.api&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Shodan API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://developer.shodan.io/api" rel="noopener noreferrer"&gt;Shodan API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Shodan&lt;/td&gt;
&lt;td&gt;Primarily paid, limited free plan available&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides vulnerability information for internet-connected devices&lt;/li&gt;
&lt;li&gt;Offers information on actual vulnerable systems associated with CVEs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://api.shodan.io/shodan/host/CVE-YYYY-XXXXXXX&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  OpenCVE API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/opencve/opencve" rel="noopener noreferrer"&gt;OpenCVE API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;OpenCVE (Open source project)&lt;/td&gt;
&lt;td&gt;Community-driven project&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collects and provides CVE information as an API&lt;/li&gt;
&lt;li&gt;Can be self-hosted&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://opencve.io/api/cve/CVE-YYYY-XXXXXXX&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  NIST National Checklist Program Repository API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://nvd.nist.gov/ncp/repository" rel="noopener noreferrer"&gt;NIST NCP Repository&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;NIST&lt;/td&gt;
&lt;td&gt;Rich in information related to U.S. government systems&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides security configuration checklists and CVE information&lt;/li&gt;
&lt;li&gt;Focuses on U.S. government systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://nvd.nist.gov/ncp/repository/CVE-YYYY-XXXXXXX&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Cybersecurity and Infrastructure Security Agency (CISA) API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;CISA API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;U.S. Cybersecurity and Infrastructure Security Agency&lt;/td&gt;
&lt;td&gt;No specific restrictions mentioned, but it's recommended to check before use&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides vulnerability information related to critical infrastructure&lt;/li&gt;
&lt;li&gt;Focuses on CVEs deemed important from the U.S. government perspective&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://www.cisa.gov/known-exploited-vulnerabilities-catalog&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ExploitDB API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://www.exploit-db.com" rel="noopener noreferrer"&gt;ExploitDB API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Offensive Security&lt;/td&gt;
&lt;td&gt;No specific restrictions mentioned, but it's recommended to check before use&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides information on publicly available exploit code and related CVEs&lt;/li&gt;
&lt;li&gt;Aimed at penetration testers and security researchers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://www.exploit-db.com/api&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Rapid7 Open Data API
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://opendata.rapid7.com/" rel="noopener noreferrer"&gt;Rapid7 Open Data API&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Rapid7&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides data on vulnerabilities, attacks, and other security-related information&lt;/li&gt;
&lt;li&gt;Offers detailed technical information related to CVEs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Example&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://opendata.rapid7.com/&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  OSS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  OpenCVE
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/opencve/opencve" rel="noopener noreferrer"&gt;OpenCVE&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;opencve&lt;/td&gt;
&lt;td&gt;v1 will soon be closed, and v2 will be released&lt;/td&gt;
&lt;td&gt;~1800&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OSS for collecting, analyzing, and displaying CVE information&lt;/li&gt;
&lt;li&gt;Provides Web interface and REST API&lt;/li&gt;
&lt;li&gt;Written in Python&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  CVE-Search
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/cve-search/cve-search" rel="noopener noreferrer"&gt;CVE-Search&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;cve-search&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;~2300&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imports CVE, CPE, and CWE data and makes it searchable&lt;/li&gt;
&lt;li&gt;Uses MongoDB to store data&lt;/li&gt;
&lt;li&gt;Written in Python, provides Web interface and API&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Dependency-Track
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/DependencyTrack/dependency-track" rel="noopener noreferrer"&gt;Dependency-Track&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;DependencyTrack&lt;/td&gt;
&lt;td&gt;No specific restrictions mentioned, but it's recommended to check before use&lt;/td&gt;
&lt;td&gt;~2600&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Component analysis platform for software supply chain&lt;/li&gt;
&lt;li&gt;Provides vulnerability data including CVE information&lt;/li&gt;
&lt;li&gt;Written in Java&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  nvdtools
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/facebookincubator/nvdtools" rel="noopener noreferrer"&gt;nvdtools&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Facebook&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vulnerability database written in Go&lt;/li&gt;
&lt;li&gt;Parses NVD data and provides it in a user-friendly format&lt;/li&gt;
&lt;li&gt;Offers both CLI tools and libraries&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  OWASP Dependency-Check
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/jeremylong/DependencyCheck" rel="noopener noreferrer"&gt;OWASP Dependency-Check&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Individual&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;~6300&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scans project dependencies and detects known vulnerabilities&lt;/li&gt;
&lt;li&gt;Uses NVD database&lt;/li&gt;
&lt;li&gt;Written in Java but supports many languages and build tools&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Grype
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/anchore/grype" rel="noopener noreferrer"&gt;Grype&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Anchore&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;~8500&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vulnerability scanner for container images and filesystems&lt;/li&gt;
&lt;li&gt;Uses multiple vulnerability databases&lt;/li&gt;
&lt;li&gt;Written in Go&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  VulnerableCode
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Official Website&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/nexB/vulnerablecode" rel="noopener noreferrer"&gt;VulnerableCode&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Individual&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;~500&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aggregates vulnerability data from multiple sources&lt;/li&gt;
&lt;li&gt;Provides REST API and Web UI&lt;/li&gt;
&lt;li&gt;Written in Python/Django&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Thinking of how we should follow AI.</title>
      <dc:creator>Ugo</dc:creator>
      <pubDate>Sun, 19 May 2024 06:32:34 +0000</pubDate>
      <link>https://dev.to/ugo/thinking-of-how-we-should-follow-ai-3e19</link>
      <guid>https://dev.to/ugo/thinking-of-how-we-should-follow-ai-3e19</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;The emergence of GitHub Copilot Workspace (GCW) is expected to have a significant impact on the future of engineering work. Even the introduction of GitHub Copilot, a plugin that offers AI-powered code suggestions, has already brought substantial changes, which is evident from its current usage.&lt;/p&gt;

&lt;p&gt;I have my own thoughts on this matter and would like to share them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Background Information about GCW
&lt;/h2&gt;

&lt;p&gt;For example, suppose you want to prepare some mock data. Ordinarily, you would have to painstakingly create arrays, generate data, and consider the content of the mock data by yourself. However, with GitHub Copilot, you can simply write a comment like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Describe data that fits the following content:
// - Number of data: 100
// - Data structure: {name: string, age: number, address: string}
// - Names should be fictional general names
// - Ages should be random numbers between 20 and 50
// - Addresses should be real addresses but up to the city level
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copilot will then automatically generate 100 data points that meet your specifications. You can also easily modify the generated data by simply providing a comment like "change this and that, and recreate the data with these changes" to the data generated above, and it will regenerate it for you.&lt;/p&gt;

&lt;p&gt;This reduces the human workload to less than one-tenth. Additionally, providing specifications generates corresponding code and tests, showcasing a significant shift in engineering work.&lt;/p&gt;

&lt;p&gt;According to GitHub Articles that say GCW is evolving even further, it is said to go beyond code-level and data creation, understanding the context of the project and creating code.&lt;/p&gt;

&lt;p&gt;For example, you can create an issue with specifications and GCW will generate code that meets those specifications and even allow you to check its functionality. We can expect it to be quite powerful, if you actually use it once.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Future of Engineering Work
&lt;/h2&gt;

&lt;p&gt;So, how will the work of engineers change as a result of these developments? I believe that the job of an engineer will not disappear, but the definition of the job will change.&lt;/p&gt;

&lt;p&gt;The current work of engineers like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Defining specifications&lt;/li&gt;
&lt;li&gt;Writing code&lt;/li&gt;
&lt;li&gt;Ensuring quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This will transform dramatically to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Determine the direction of the product&lt;/li&gt;
&lt;li&gt;Breaking down into specifications&lt;/li&gt;
&lt;li&gt;Having AI make adjustments and works with the prompt you write&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, the problem here is, how far should we go with these revisions and specifications?, what level of engineering skills are required to do so?, and where can these skills be acquired?&lt;/p&gt;

&lt;p&gt;From the current perspective, everything is unknown. The way we work will change drastically.&lt;/p&gt;

&lt;p&gt;For now, if you want to consider API interfaces, you need to enforce those interfaces with libraries, and you also need to consider library selection and need to think of how you should operate it. To make these decisions, you need operational experience and experience with failures.&lt;/p&gt;

&lt;p&gt;However, if you use AI (GCW), the interfaces will not be operated by us. If they are misoperated, it means that the specifications are wrong. In other words, there is no need to think about a mechanism to enforce them. Even if you manage interfaces with documents, AI can complement them so that there are no omissions or mistakes in changes.&lt;/p&gt;

&lt;p&gt;Today, there are still many experienced engineers and the AI era has just begun, so there are many people with a refined sense of direction and land sense. However, in 3-4 years, a new generation of engineers who do not need this sense of direction will emerge. In 10 years, more engineering skills have rusted because they were no longer needed.&lt;/p&gt;

&lt;p&gt;The definition of an engineer will shift from “an engineer checks what AI generates” to a new role. While some may think that the job of engineers will not disappear because they will verify AI outputs, the skills needed to judge whether these outputs are correct.&lt;/p&gt;

&lt;p&gt;Currently, we manage with the wisdom of those without AI, but people who have a kind of experience will gradually disappear and those kind of experiences become unnecessary. Finally, a new definition of engineering will emerge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Many engineers say they are afraid of their jobs being taken over by AI.&lt;/p&gt;

&lt;p&gt;I am one of them.&lt;/p&gt;

&lt;p&gt;I have tried to put into words my thoughts on where that fear comes from.&lt;/p&gt;

&lt;p&gt;Not only engineers but everyone will face unknown world in the future. The year 2023 seems to have become a turning point for this world. We need to think about what skills will be required for  this new world and what abilities we should pass on to the next generation, and adapt our work styles accordingly.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>career</category>
    </item>
  </channel>
</rss>
