如何通过一个脚本将整个项目提供给 Claude.ai

AI 人工智能领域的新星:Claude 全面解析 本文章的目的是对 Claude 进行全方位的深入剖析,使读者能够全面了解 Claude 的技术原理、应用场景、优势与挑战等方面。范围涵盖了 Claude 的核心概念、算法原理、数学模型、实际应用案例以及相关的工具和资源等,旨在为从事人工智能研究、开发、应用的专业人士以及对人工智能感兴趣的普通读者提供一个系统的知识体系。本文将按照以下结构展开:首先介绍 Claude 的背景信息,包括其发展历程和市场定位;接着深入探讨其核心概念与联系,通过示意图和流程图进行直观展示; 阅读详情
AI摘要

Claude.ai新项目功能可添加项目代码创建共享环境,提供更准确AI帮助,但目前只能上传文本文件。本文介绍使用自定义Bash脚本将整个项目添加到Claude.ai上下文的方法,包括脚本分析、适配流行框架及使用方式,能提升AI辅助开发能力。

除非你过去几周一直在山洞里编程,否则你可能听说过Claude.ai的新项目功能。这个改变游戏规则的功能允许你将项目代码添加到Claude.ai中,从而创建共享环境,以提供更准确、更个性化的 AI 帮助。作为一名开发人员和 AI 爱好者,我已经等待这种功能很久了。就易用性和用户体验而言,目前没有其他任何东西能与此实现相提并论。

挑战:文本文件的限制

问题在于:目前,您只能将文本文件(pdf、docx、csv、txt、html、odt、rtf 或 epub)上传到项目上下文。但是,嘿,我们是开发人员,对吧?我们的全部工作就是创造性地解决问题。(我是对的,还是对的?)

我的解决方案:自定义 Bash 脚本

在本文中,我将向您展示如何使用自定义脚本将整个项目添加到Claude.ai的上下文中。我将分解我最近一直在改进的工作流程,这使我的生活变得轻松很多。那么,让我们开始吧!(对于 TL;DR 人群,我有一个指向 repo 的链接,其中包含适用于各种框架的现成脚本。对于那些渴望复制粘贴的人,你的时间会到来的。请继续听我讲几段。)

Claude 的项目背景力量

在我们讨论细节之前,让我们先来谈谈为什么这如此棒:

  1. 个性化回应:Claude.ai了解您项目的特点,从结构到命名约定。

  2. 代码感知建议:不再是通用建议 - 获取真正适合您的代码库的建议。

  3. 更快地解决问题:有了完整的了解,Claude.ai将成为您的个人代码侦探。

  4. 缩短学习曲线:新团队成员可以比您说“入职”更快地上手。(如果您使用的是 Teams 计划,则可以共享项目并享受更强大的上下文限制。)

  5. 一致的文档:轻松检查整个项目的文档。

现实世界的影响:一位开发者的故事

让我给你描绘一下。我正在领导一个项目,使用 Astro 和 Svelte 实现动态组件,使用 TypeScript 实现可靠的类型安全,以及我们设计师信赖的自定义 Tailwind CSS 调色板。哦,别忘了使用 NanoStores 进行状态管理,因为为什么要让生活变得轻松,对吧?

有一天,我陷入了一个复杂的组件中,这个组件需要与我们的状态管理配合良好。在使用 Claude 之前,我会花上几个小时在文件之间切换。

克劳德之后?我问了一句,“我该如何将这个 UserProfile 组件与我们的 nanostores 设置集成?”轰!克劳德给出了一个代码片段,它不仅有效,而且符合我们项目的命名约定,甚至还建议进行性能调整。

本来需要半天时间才能解决的问题,15 分钟就能解决。最棒的是?解决方案太棒了,我几乎相信这是我写的。

剧本分析 www.cqzlsb.com

现在,让我们分解一下这个脚本:

  1. 创建复制目录
复制
复制
mkdir -p copy

这将创建一个copy目录。我知道,这是开创性的事情。

  1. 文件复制功能
复制
复制
copy_file() {
local src="$1"
local filename=$(basename "$src")
local dest="copy/${filename}.txt"
counter=1
while [ -e "$dest" ]; do
dest="copy/${filename}_${counter}.txt"
((counter++))
done
cp "$src" "$dest"
echo "Copied: $src to $dest"
}
export -f copy_file

此函数将文件复制到我们的新目录,并添加.txt扩展名。它就像文件复印机,但更精致。

  1. 忽略特定文件和目录
复制
复制
IGNORE_FILES=".DS_Store|\.env|pnpm-lock.yaml"
IGNORE_DIRS="node_modules|dist|\.git"
export IGNORE_FILES IGNORE_DIRS

因为有些文件应该留在 Vegas... 我的意思是,您的本地机器。

  1. 复制根目录文件
复制
复制
find . -maxdepth 1 -type f \( -name ".gitignore" -o -name "tailwind.config.js" -o -name "tsconfig.json" -o -name ".prettierrc" -o -name "next.config.js" -o -name "package.json" -o -name "README.md" \) -exec bash -c 'copy_file "$0"' {} \;

这将从您的根目录中获取重要的配置文件。

  1. 从特定目录复制文件
复制
复制
find app components lib layouts components types -type f \( -name "*.js" -o -name "*.ts" -o -name "*.jsx" -o -name "*.tsx" -o -name "*.json" -o -name "*.md" \) -not -path "*/node_modules/*" -not -path "dist" -not -path "*/.git/*" -exec bash -c 'copy_file "$0"' {} \;

这就是奇迹发生的地方。它会复制你所有的项目文件,但不包括我们不需要的东西。

  1. 生成项目结构
复制
复制
tree -a -I "${IGNORE_DIRS}|${IGNORE_FILES}|copy" --dirsfirst > copy/MY_PROJECT_STRUCTURE.txt

这将为您的项目创建一个整洁的树形结构。它就像您的代码丛林的地图。项目结构文件看起来如下所示:

复制
复制
.
├── public
│   ├── fonts
│   │   ├── Satoshi-Variable.woff
│   │   ├── Satoshi-Variable.woff2
│   │   ├── Satoshi-VariableItalic.woff
│   │   ├── Satoshi-VariableItalic.woff2
│   │   └── fonts.css
│   ├── apple-touch-icon.png
│   ├── favicon-32x32.png
│   ├── favicon-48x48.png
│   ├── favicon.svg
├── src
│   ├── components
│   │   ├── astro
│   │   │   ├── AuthInitializer.astro
│   │   │   ├── ButtonLink.astro
│   │   │   ├── Carousel.astro
│   │   │   ├── Chip.astro
│   │   │   ├── Faqs.astro
...
# Rest of the folder...
  1. 完成消息
复制
复制
echo "Files have been copied to the 'copy' directory with .txt extension added."
echo "Project structure has been saved to copy/MY_PROJECT_STRUCTURE.txt"

因为谁不喜欢得到一点确认呢?

脚本运行完成后,copy你的项目文件夹中应该有一个如下所示的文件夹:

完整脚本

以下是完整且精彩的脚本:

复制
复制
mkdir -p copy

copy_file() {
local src="$1"
local filename=$(basename "$src")
local dest="copy/${filename}.txt"
counter=1
while [ -e "$dest" ]; do
dest="copy/${filename}_${counter}.txt"
((counter++))
done
cp "$src" "$dest"
echo "Copied: $src to $dest"
}
export -f copy_file

IGNORE_FILES=".DS_Store|\.env|pnpm-lock.yaml"
IGNORE_DIRS="node_modules|dist|\.git"
export IGNORE_FILES IGNORE_DIRS

find . -maxdepth 1 -type f \( -name ".gitignore" -o -name "tailwind.config.js" -o -name "tsconfig.json" -o -name ".prettierrc" -o -name "next.config.js" -o -name "package.json" -o -name "README.md" \) -exec bash -c 'copy_file "$0"' {} \;

find app components lib layouts components types -type f \( -name "*.js" -o -name "*.ts" -o -name "*.jsx" -o -name "*.tsx" -o -name "*.json" -o -name "*.md" \) -not -path "*/node_modules/*" -not -path "dist" -not -path "*/.git/*" -exec bash -c 'copy_file "$0"' {} \;

echo "Files have been copied to the 'copy' directory with .txt extension added."

tree -a -I "${IGNORE_DIRS}|${IGNORE_FILES}|copy" --dirsfirst > copy/MY_PROJECT_STRUCTURE.txt
echo "Project structure has been saved to copy/MY_PROJECT_STRUCTURE.txt"

不同的人有不同的想法,对吧?下面介绍如何针对不同的框架调整脚本:

对于 Astro 项目

复制
复制
# Add this to the file copying section
find src pages public -type f \( -name "*.astro" -o -name "*.md" -o -name "*.js" -o -name "*.ts" \) -not -path "*/node_modules/*" -exec bash -c 'copy_file "$0"' {} \;

对于 SvelteKit 项目

复制
复制
# Add this to the file copying section
find src routes static -type f \( -name "*.svelte" -o -name "*.js" -o -name "*.ts" \) -not -path "*/node_modules/*" -exec bash -c 'copy_file "$0"' {} \;

对于 Next.js 项目

复制
复制
# Add this to the file copying section
find pages api components styles -type f \( -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.css" \) -not -path "*/node_modules/*" -exec bash -c 'copy_file "$0"' {} \;

对于 Nuxt.js 项目

复制
复制
# Add this to the file copying section
find pages components layouts store -type f \( -name "*.vue" -o -name "*.js" -o -name "*.ts" \) -not -path "*/node_modules/*" -exec bash -c 'copy_file "$0"' {} \;

对于 Python 项目

复制
复制
# Add this to the file copying section
find . -type f \( -name "*.py" -o -name "*.ipynb" \) -not -path "*/venv/*" -not -path "*/.*" -exec bash -c 'copy_file "$0"' {} \;

请记住调整IGNORE_DIRS变量以包含您想要排除的特定于框架的目录,如.next、.nuxt或__pycache__。

如何使用脚本

  1. 将脚本保存到您的项目根目录。

  2. 运行它:bash script_name.sh

  3. 将目录内容上传copy到您的Claude.ai项目。

  4. 给自己倒杯好咖啡

  5. 开始与您的新项目意识 AI 伙伴聊天!

[!TIP] 将项目文件上传到Claude.ai(或任何地方)时,请注意不要包含敏感信息(如 API 密钥或密码)

关于“tree”命令的简要说明

我们的脚本使用“tree”命令生成项目结构文件。如果您使用的是 Mac 并且未安装它,则可以使用 Homebrew 轻松获取它:只需运行brew install tree。Windows 用户,您很幸运 - 它是内置的。没有“tree”?不用担心!该脚本仍然可以很好地转换您的代码文件,但您会错过那个为 Claude 提供一些额外上下文的漂亮项目结构文件。它就像您的代码圣代上的樱桃 - 有就好,但不是必需的。

结论

我已经使用Claude.ai的项目功能几个星期了,让我告诉你,它改变了游戏规则。这就像拥有一位对您的项目了如指掌的优秀开发人员。

我希望本文能帮助您增强 AI 辅助开发能力。如果您有任何疑问或想分享您的经验,请在下面发表评论。我很期待看到 Anthropic 的优秀团队接下来会推出什么!

祝您编码愉快,并且希望您的 Bug 永远对您有利!

Claude AI 评测 2024年将标志着人工智能新时代的开始,特别是大型语言模型(LLMs)的崛起。这些模型不仅应用于编写新网站、撰写电子邮件和制作演示文稿等任务,还能够通过键入或语音输入提供所需答案。最具代表性的两个模型是OpenAI的ChatGPT和Anthropic的Claude。Claude近来表现突出,尤其是2024年6月发布的Claude 3.5 Sonnet,其在广泛用途上的实用性和多功能性引发了业界的广泛关注。光年AI,智能分析,助力私域流量高效增长,开启AI时代的私域流量革命。 阅读详情

相关推荐

【AI智能体】Claude Code 高级编程技巧实战项目详解

Claude Code 高级编程技巧实战项目详解

congge 1万+

本地项目代码太多想喂给 AI?Code2Prompt 神器来了,一招搞定效率起飞!

Code2Prompt是一款能将本地代码项目打包成AI友好格式的神器工具。它通过递归扫描项目目录,将代码和结构整合为易读的Markdown文件,支持添加行号、排除指定文件类型等功能。安装只需一行pip命令,使用时可自定义输出路径和文件名。该工具极大提升了与AI协作分析、调试代码的效率,避免手动复制粘贴的繁琐,是开发者与AI交互的得力助手。

rockmelodies的博客 2419

【AI编程】Claude Code 最强AI 编程利器项目实战详解

Claude Code 最强AI 编程利器项目实战详解

congge 7399

Claude附件功能更新:支持上传PDF、图片和代码文件

Claude是Anthropic公司基于"有益、诚实、无害"AI研究理念开发的下一代人工智能助手…Claude附件功能(即独立完整、可供重复使用或编辑的重要内容模块,如文档、代码或图表)已完成更新。用户现可向支持AI数据处理的应用上传PDF、图片及代码文件等多种格式。该更新已覆盖所有套餐计划,包括团队版和企业版。

心雨楼 1247

Claude 如何革新 AI 人工智能领域

本文旨在全面解析Claude AI模型的技术特点及其对人工智能领域的革新性影响。我们将重点关注Claude在模型架构、训练方法、安全机制等方面的创新,并探讨这些创新如何推动整个AI行业的发展。文章首先介绍Claude的基本背景,然后深入分析其核心技术,接着探讨实际应用案例,最后展望未来发展趋势。我们将采用从理论到实践的递进式结构,确保内容的系统性和实用性。:Claude采用的一种训练方法,通过"宪法"原则指导模型行为模型对齐:确保AI系统行为与人类价值观和意图保持一致的技术Few-shot学习。

AI智能探索者的博客 883

AI人工智能领域,Claude如何脱颖而出

本文的目的是深入剖析Claude在AI人工智能领域脱颖而出的原因。我们将从Claude的技术特点、性能表现、应用场景等多个角度进行探讨,让读者清晰地了解Claude的优势所在。范围涵盖Claude的核心算法、与其他AI产品的对比、实际应用案例等方面。本文将首先介绍与Claude相关的核心概念,包括AI、自然语言处理等。接着,详细阐述Claude的核心算法原理和具体操作步骤。然后,通过数学模型和公式进一步解释其工作机制,并结合实际案例进行说明。之后,探讨Claude的实际应用场景、工具和资源推荐。

AI大模型应用之禅 912

Claude:认识与部署10k⭐项目 Claude Engineer v3

Claude Engineer v3 是一个让 Claude AI 自动为你创建工具、执行任务并不断改进的框架。你只需要描述你的需求,Claude 就能为你生成工具并自动执行任务。随着使用次数的增加,Claude 会越来越聪明,工具会根据你的反馈不断优化和改进,帮助你完成复杂的任务。这个系统非常适合那些需要自动化任务、处理大量文件或进行数据分析的场景,你可以通过简单的对话与 Claude 互动,而不需要编写复杂的代码。

m0_74331272的博客 1477

连接HP C7000 OA管理口操作文档

必备工具:1台便携式笔记本电脑、1根网线 2、 在C7000机箱背面找到 OA管理模块,如图:图标1和2为OA主备管理模块 将网线一端接至左边的OA管理网口,另一端接至便携式笔记本电脑网口,如图下位置: 在C7000液晶面板下查看OA管理口地址,如图,按下液晶面板的OK按钮 然后按下▼按钮调至Enclosure Info这一项后,按下OK按钮,输出界面如图:可以看到当前Active的OA管理口IP地址 比如显示地址为172.16.25.30,则个人笔记本电脑则配置172.16...

马晓援的博客 6013

AI一键注释代码、阅读整个项目、转换编程语言。已开源!

首先需要选中一个文件点击添加注释注释添加完成(如果对于注释不满意可以多点几次添加注释)

吻等离子的博客 1万+

Centos7配置阿里云镜像源的教程

查看你的Centos版本,版本过低会导致安装失败,验证网络是否可以连接阿里云镜像,使用阿里云是需要网络的。# wget命令下载: wget [options] [url]# curl命令下载: curl [options] [url]我上面这个图片由于电脑问题是还没有加载完的。删除原来或者之前的yun源。

lyhshs的博客 2261

保姆级教程:在RK3576上配置USB网卡从零到外网访问(附udev规则详解)

本文提供了在RK3576开发板上配置USB网卡的完整教程,涵盖从内核驱动、udev规则到网络路由的全流程。重点讲解了如何利用USB Gadget功能实现高速网络连接,并构建稳定的算力集群,确保多设备间通信及外网访问。

grass的博客 460

新手如何快速利用Claude Code开发项目并部署上线

然后是权限管理问题,用过CC的朋友的都知道,CC在任务执行过程中,遇到一些文件读写、Bash命令、数据库操作、依赖库安装等操作时,经常会停下来要求你进行人工确认,非常耽误开发进度。可以先描述一下你的开发需求,比如做一个什么的网站,有哪些功能,面向什么样的用户,希望用什么框架等等。所以先别急着跟CC聊需求,在正式开干之前,我们需要进行一些信息配置,给CC输入一些基本的上下文信息,来让CC了解我们的开发习惯和使用偏好。中间过程可以深度与CC讨论,深化相关需求,最后形成一份需求清单后,就可以直接让CC开干。

weixin_37737254的博客 1853

Wonderware Intouch 2014R2 SP1 安装教程

下载Wonderware System Platform 2014R2 SP1 and Intouch 2014R2 SP1的安装压缩包,如下 软件的下载连接地址如下: https://pan.baidu.com/s/1a2GnI_nfT3vK1l49B94FIQ, 提取码:6ec6 或者直接微信扫描下面的二维码 管理员运行下面的setup.exe可执行程序, 进入安装,选择Product Based Selection, 自定义选择需要安装的程序,如下: 普通的Into

工控先生 3万+

我用一个MCP工具让Claude帮我管理了整个项目!

摘要: 本文是一篇实战指南,手把手教你从零开发MCP服务器,为AI应用(如Claude)添加自定义功能。通过构建文件管理工具,你将掌握环境配置、工具开发、安全防护及部署集成的全流程。文章涵盖: 开发价值:解决个性化需求、提升AI协作效率、创造商业价值。 技术实战:使用TypeScript搭建MCP服务器,实现文件读写、目录管理等核心功能,强调安全性与错误处理。 部署集成:配置Claude Desktop和Cursor编辑器,使AI能直接调用工具。 最佳实践:代码组织、性能优化及扩展方向(如数据库集成)。 通

Q2024107的博客 1240

使用amp训练出现Detected call of lr_scheduler.step() before optimizer.step().

这个警告是怎么产生的?是由于在算梯度的时候出现了nan,所以这一次更新会跳过,但是参数仍旧会更新所以出现了问题,按下面的做法加一个判断就行了。但是在使用amp进行混合精度训练出现的一个warning,调换代码顺序也不work。正常在训练的时候,对于优化器和参数更新的顺序这样就可以了。

weixin_46214675的博客 1306

03、AC分析

本节我们将对之前的BUCK电路进行AC分析! 首先,我们之前的BUCK电路是开环电路,现在我们把它设计成闭环电路!电路图如下: 我们对闭环BUCK电路先瞬态仿真一下,波形如下: 然后在电路中加入小信号和波特图进行AC仿真 原理图如下: 增益为0时所对应的相位裕度为56°,这个相位裕度一定要大于0°,大于45°则比较稳定! ...

soumns丶涛的博客 3519

CLAUDE.md 实战:让 AI 记住你整个项目的“潜规则“

简单说,CLAUDE.md就是你给 AI 写的一份项目入职手册。想象一下,一个新同事入职第一天,你会怎么带他?"我们项目用 React + TypeScript,状态管理用 Zustand,样式方案是 Tailwind,包管理器用 pnpm。代码提交前跑。组件命名用 PascalCase,文件名用 kebab-case。我们的 API 全走/api/v2前缀,鉴权用 JWT。有问题先看docs/目录。你不可能每次带新人都从头讲一遍吧?写成文档,放在那,人来了自己看就行。CLAUDE.md。

LuckyWinty的博客 713

QGis二次开发 —— 1.1、ubuntu24.04下搭建QGis3.40.12二次开发环境(附:全部问题解决方法)

QGis二次开发 —— 1.1、ubuntu24.02下搭建QGis3.40.12二次开发环境(附:全部问题解决方法)

252

Claude_api:轻松接入Anthropic Claude AI的强大功能

Claude_api:轻松接入Anthropic Claude AI的强大功能 项目介绍 Claude_api 是一个开源项目,为开发者提供了一种便捷的方式,通过非官方API与Anthropic的Claude AI进行交互。它允许用户尝试与Claude AI进行对话,进行各种实验,并在官方API推出之前先行体验其功能。这一项目为开发者节省了大量的时间和精力,特别是在测试和开发阶段。 项目技术分析 ...

gitblog_00774的博客 1025

【我的Android进阶之旅】解决android应用使用android:persistent属性带来的系统Launcher应用必须重启设备才生效的问题,大幅度提升开发效率

一、问题描述 我们在开发系统级别应用,比如Launcher桌面的时候,会发现有个问题:每次Launcher修改完代码,重新编译之后,安装到android设备上之后,必须重启才会生效。否则就是使用了之前的Launcher版本的内容。而每次重启设备得一分钟左右,太慢了,太影响效率了! 1.1 痛点 每次更新完代码,重新安装之后,必须重启设备才会生效。效率太TM低了! 二、分析问题 经过一轮代码排查,最终发现是因为src\main\AndroidManifest.xml文件中,定义application使用了an

字节卷动 1713

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 如期而至!JetBrains全新UI正式官宣标配!
下一篇: Claude AI:推进人工智能前沿
Leonardo●da●Vinci
博客等级 码龄5年 73粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值