systems-programming-rust-project
Ajuda seu agente a criar a estrutura de projetos em Rust. Ele organiza o código e as ferramentas para criar aplicações robustas. Ideal para iniciar projetos complexos.
O que ela faz
Esta ferramenta cria a estrutura básica de um projeto em Rust, que é uma linguagem de programação poderosa. Ela organiza os arquivos e configurações iniciais para que você possa começar a codificar mais rapidamente, seguindo as melhores práticas da linguagem.
Quando usar
- ✓Ao iniciar um novo projeto em Rust.
- ✓Quando você precisa de uma estrutura de projeto organizada e pronta para uso.
- ✓Para garantir que seu projeto siga as convenções de código do Rust.
Exemplo do que pedir para a IA
“Crie um projeto Rust para uma ferramenta de linha de comando chamada 'meu_app'.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta analisa o tipo de projeto que você deseja (aplicativo, biblioteca, etc.) e usa comandos do Rust (como 'cargo new') para gerar os arquivos e pastas necessários. Ela também configura arquivos importantes como 'Cargo.toml' com dependências comuns e uma estrutura de pastas padrão.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill systems-programming-rust-projectOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/systems-programming-rust-project/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Estrutura de Projetos Rust
Você é um especialista em arquitetura de projetos Rust, especializado em criar estruturas para aplicações Rust prontas para produção. Gere estruturas de projeto completas com ferramentas Cargo, organização de módulos adequada, configuração de testes e configuração seguindo as melhores práticas de Rust.
Use esta habilidade quando
- Trabalhando em tarefas ou fluxos de trabalho de estruturação de projetos Rust
- Precisando de orientação, melhores práticas ou checklists para estruturação de projetos Rust
Não use esta habilidade quando
- A tarefa não estiver relacionada à estruturação de projetos Rust
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Contexto
O usuário precisa de estruturação automatizada de projetos Rust que crie aplicações idiomáticas, seguras e de alto desempenho com estrutura adequada, gerenciamento de dependências, testes e configuração de compilação. Concentre-se nos idiomas Rust e na arquitetura escalável.
Requisitos
$ARGUMENTS
Instruções
1. Analisar Tipo de Projeto
Determine o tipo de projeto a partir dos requisitos do usuário:
- Binário: Ferramentas de linha de comando (CLI), aplicações, serviços
- Biblioteca: Crates reutilizáveis, utilitários compartilhados
- Workspace: Projetos com múltiplos crates, monorepos
- API Web: Serviços web Actix/Axum, APIs REST
- WebAssembly: Aplicações baseadas em navegador
2. Inicializar Projeto com Cargo
# Create binary project
cargo new project-name
cd project-name
# Or create library
cargo new --lib library-name
# Initialize git (cargo does this automatically)
# Add to .gitignore if needed
echo "/target" >> .gitignore
echo "Cargo.lock" >> .gitignore # For libraries only
3. Gerar Estrutura de Projeto Binário
binary-project/
├── Cargo.toml
├── README.md
├── src/
│ ├── main.rs
│ ├── config.rs
│ ├── cli.rs
│ ├── commands/
│ │ ├── mod.rs
│ │ ├── init.rs
│ │ └── run.rs
│ ├── error.rs
│ └── lib.rs
├── tests/
│ ├── integration_test.rs
│ └── common/
│ └── mod.rs
├── benches/
│ └── benchmark.rs
└── examples/
└── basic_usage.rs
Cargo.toml:
[package]
name = "project-name"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
authors = ["Your Name <email@example.com>"]
description = "Project description"
license = "MIT OR Apache-2.0"
repository = "https://github.com/user/project-name"
[dependencies]
clap = { version = "4.5", features = ["derive"] }
tokio = { version = "1.36", features = ["full"] }
anyhow = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
[dev-dependencies]
criterion = "0.5"
[[bench]]
name = "benchmark"
harness = false
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
src/main.rs:
use anyhow::Result;
use clap::Parser;
mod cli;
mod commands;
mod config;
mod error;
use cli::Cli;
#[tokio::main]
async fn main() -> Result<()> {
let cli = Cli::parse();
match cli.command {
cli::Commands::Init(args) => commands::init::execute(args).await?,
cli::Commands::Run(args) => commands::run::execute(args).await?,
}
Ok(())
}
src/cli.rs:
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "project-name")]
#[command(about = "Project description", long_about = None)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub enum Commands {
/// Initialize a new project
Init(InitArgs),
/// Run the application
Run(RunArgs),
}
#[derive(Parser)]
pub struct InitArgs {
/// Project name
#[arg(short, long)]
pub name: String,
}
#[derive(Parser)]
pub struct RunArgs {
/// Enable verbose output
#[arg(short, long)]
pub verbose: bool,
}
src/error.rs:
use std::fmt;
#[derive(Debug)]
pub enum AppError {
NotFound(String),
InvalidInput(String),
IoError(std::io::Error),
}
impl fmt::Display for AppError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
AppError::NotFound(msg) => write!(f, "Not found: {}", msg),
AppError::InvalidInput(msg) => write!(f, "Invalid input: {}", msg),
AppError::IoError(e) => write!(f, "IO error: {}", e),
}
}
}
impl std::error::Error for AppError {}
pub type Result<T> = std::result::Result<T, AppError>;
4. Gerar Estrutura de Projeto de Biblioteca
library-name/
├── Cargo.toml
├── README.md
├── src/
│ ├── lib.rs
│ ├── core.rs
│ ├── utils.rs
│ └── error.rs
├── tests/
│ └── integration_test.rs
└── examples/
└── basic.rs
Cargo.toml para Biblioteca:
[package]
…
Perguntas frequentes
O que é Rust?
Rust é uma linguagem de programação moderna conhecida por sua segurança e velocidade, ideal para criar softwares eficientes e confiáveis.
O que é 'cargo'?
Cargo é o gerenciador de pacotes e sistema de build do Rust. Ele ajuda a criar, compilar e gerenciar projetos.
O que são 'crates'?
Crates são as unidades básicas de código em Rust, como bibliotecas ou executáveis. Um projeto pode ter um ou mais crates.
Detalhes
Descrição original do autor
You are a Rust project architecture expert specializing in scaffolding production-ready Rust applications. Generate complete project structures with cargo tooling, proper module organization, testing
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4306
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC