Skip to content
Back to skills

Repo Init Majiayu000

BSecurity

Initialize a new repository with standard scaffolding - git, gitignore, CLAUDE.md, justfile, mise, and beads. Use when starting a new project or setting up an existing repo for Claude Code workflows.

  • 57 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 17, 2026
developmenttypescriptpythonrustgobashnodegitapidatabase

Works with

  • claude code
  • vscode
  • cli
  • api

Security analysis

B88/100
  • criticalSends environment variables or credentials to an external URL

Pro shows the line behind each finding and how to fix it

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill repo-init-majiayu000 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Repo Init Majiayu000?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Repo Init Majiayu000
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-repo-init-majiayu000/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-repo-init-majiayu000)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: repo-init
description: Initialize a new repository with standard scaffolding - git, gitignore, CLAUDE.md, justfile, mise, and beads. Use when starting a new project or setting up an existing repo for Claude Code workflows.
---

# Repository Initialization

Scaffold a new or existing repository with standard project infrastructure.

**Related skills:**
- **just-pro** - Build system patterns and templates
- **mise** - Tool version management
- **go-pro**, **rust-pro**, **typescript-pro** - Language-specific setup (run after repo-init)

## What This Skill Does

Creates universal scaffolding that works across all project types:

| File | Purpose |
|------|---------|
| `.gitignore` | Standard ignores + language-specific patterns |
| `CLAUDE.md` | Project conventions for Claude Code |
| `justfile` | Build system skeleton |
| `.mise.toml` | Tool version pinning (empty, ready for `mise use`) |
| `.beads/` | Issue tracking database |
| `.envrc.example` | Environment variable template |

## Flow

```
1. Gather context (language, project type)
2. Create scaffolding
3. Initialize beads
4. Point to language skill for next steps
```

---

## Step 1: Gather Context

Before scaffolding, clarify:

1. **Project language(s)**: Go, Rust, TypeScript, Python, or multi-language?
2. **Project type**: Library, CLI, web app, API, monorepo?
3. **Existing files**: Is this a fresh repo or adding to existing code?

Use AskUserQuestion if unclear from context.

---

## Step 2: Git Setup

```bash
# Initialize git if needed
git init

# Create .gitignore with common patterns
```

### .gitignore Templates

Each language skill provides a comprehensive `.gitignore` in its `references/` directory. These include common patterns (`.env`, `.envrc`, `.DS_Store`, `Thumbs.db`, IDE files) plus language-specific ignores.

**Copy from the appropriate language skill:**

| Language | Source |
|----------|--------|
| Go | `go-pro/references/gitignore` → `.gitignore` |
| Rust | `rust-pro/references/gitignore` → `.gitignore` |
| TypeScript | `typescript-pro/references/gitignore` → `.gitignore` |
| Python | `python-pro/references/gitignore` → `.gitignore` |

**For multi-language repos:** Start with the primary language's gitignore, then merge patterns from others as needed.

**Minimal fallback** (if language skill unavailable):

```gitignore
# Environment
.env
.env.local
.env.*.local
.envrc

# OS
.DS_Store
Thumbs.db

# IDE
.idea/
.vscode/

# Build (customize per language)
dist/
build/
target/
node_modules/
__pycache__/
```

---

## Step 3: CLAUDE.md

Create project conventions file for Claude Code:

```markdown
# Project Name - Claude Instructions

## Overview

Brief description of what this project does.

## Development

```bash
just setup    # First-time setup
just check    # Run all quality gates
```

## Conventions

- [Add project-specific patterns here]
- [Coding standards, naming conventions, etc.]

## Architecture

- [Key directories and their purposes]
- [Important abstractions]
```

Keep it minimal initially. Add conventions as they emerge.

---

## Step 4: Justfile Skeleton

```just
# Project Build System
# Usage: just --list

default:
    @just --list

# First-time setup
setup:
    mise trust
    mise install
    @echo "Ready. Run 'just check' to verify."

# Quality gates - add language-specific checks
check:
    @echo "Add fmt, lint, test recipes"

# Remove build artifacts
clean:
    @echo "Add clean commands"
```

For language-specific recipes, see:
- **just-pro** skill references (`package-go.just`, `package-rust.just`, etc.)

---

## Step 5: Mise Configuration

Create empty `.mise.toml` ready for tool pinning:

```toml
[tools]
# Add tools with: mise use <tool>@<version>
# Examples:
# node = "22"
# go = "1.25"
# rust = "1.83"
# just = "latest"
```

---

## Step 6: Beads Initialization

```bash
bd init -q
```

This creates `.beads/` directory with issue tracking database.

For teams, consider:
- `bd init --team` - Interactive team workflow setup
- `bd init --stealth` - Personal use without affecting collaborators

---

## Step 7: Environment Template

Create `.envrc.example` (committed) as template for `.envrc` (gitignored):

```bash
# Copy to .envrc and fill in values
# cp .envrc.example .envrc && direnv allow

# Mise integration
if command -v mise &> /dev/null; then
  eval "$(mise hook-env -s bash)"
fi

# Project-specific environment
# export DATABASE_URL="postgres://localhost/myapp"
# export API_KEY=""
```

---

## Step 8: Next Steps

After scaffolding, point user to language-specific setup:

| Language | Next Step |
|----------|-----------|
| Go | Invoke **go-pro** skill, run `go mod init`, copy `.golangci.yml` |
| Rust | Invoke **rust-pro** skill, run `cargo init`, copy `clippy.toml` |
| TypeScript | Invoke **typescript-pro** skill, run `npm init` |
| Multi-language | Follow each lang skill for respective packages |

---

## Quick Reference

```bash
# Full init sequence
git init
# Create .gitignore, CLAUDE.md, justfile, .mise.toml, .envrc.example
bd init -q
mise use just@latest
# Then follow language skill for specifics
```

## Monorepo Variant

For monorepos, the root gets:
- Root `justfile` with module imports (see just-pro monorepo patterns)
- Root `.mise.toml` with shared tooling
- Single `.beads/` at root

Each package gets:
- Package-local `justfile`
- Language-specific configs (Cargo.toml, package.json, etc.)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.