# Development

> Guidance and code snippets for software development using common languages and frameworks. Use this skill to setup projects, write clean and maintainable code, manage dependencies, and debug effectively.

- Skill: `majiayu000/development` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/development`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/development/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/development

---

# Software Development Guide

## Overview

This skill provides best practices, code snippets, and workflows for modern software development. Use it whenever you need help writing or organizing code, setting up environments, or debugging.

### Key Principles

- **Modular design**: Break functionality into small, reusable modules. Use descriptive function and variable names.
- **Version control**: Use Git to track changes. Commit early and often with meaningful messages.
- **Documentation**: Write docstrings and comments. Include a README.md in your projects.

## Python Development

### Setting up a project

```bash
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Format code with black and check style
pip install black isort flake8
black src/
isort src/
flake8 src/
```

### Creating a CLI application

```python
import argparse


def main():
    parser = argparse.ArgumentParser(description="Example CLI")
    parser.add_argument("input_file", help="Path to input file")
    args = parser.parse_args()

    with open(args.input_file) as f:
        content = f.read()
    print(content)


if __name__ == "__main__":
    main()
```

### Debugging with pdb

```python
import pdb


def divide(a, b):
    pdb.set_trace()
    return a / b
```

Run your script with `python -m pdb script.py` to step through execution.

## JavaScript/Node.js Development

### Initializing a project

```bash
npm init -y
npm install express
```

### Creating an Express server

```javascript
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Server listening on port ${port}`);
});
```

### Debugging

Use `node --inspect-brk` to debug your code with Chrome DevTools. Add breakpoints or use `debugger;` statements in your script.

## Best Practices

- Write unit tests before implementing features (see the `testing` skill).
- Structure code into packages and modules.
- Use continuous integration (CI) to automatically run tests and linters.
- Document important APIs in a docs folder or inline with docstrings.

## Additional Resources

- Python Packaging Authority’s packaging guide.
- Node.js documentation.
- Atlassian Git tutorials.

