rseng-language-guides

Solid

Covers language-specific research software practice: per-language conventions for Python, R, JavaScript/TypeScript, C/C++, Fortran, Rust and Bash - setup, development environments, style standards, packaging, testing, quality assurance, optimization, logging, documentation and dependency management. Use when the user asks which tools or conventions to use FOR A SPECIFIC LANGUAGE in research software (e.g. Python packaging, R style, C++ QA, Fortran tooling, Rust starting points, shell scripting practice), or wants a language-by-language comparison.

Code & Development 14 stars 2 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 83/100

Stars 20%
39
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Language-specific research software practice The process skills in this pack are language-agnostic; this skill answers language-SPECIFIC questions with per-language guidance. Each language guide follows the same template - introduction, information sources, setup, development environments, style standards, packaging, testing, quality assurance, optimization, logging, documentation, dependencies, starting points - so comparable answers exist for every covered language. ## Current-tool quick reference per language The strongest current stack per ecosystem (the pack-wide rule: best current option, runner-up named, reason given - and these move, so verify against the ecosystem when in doubt): - Python: uv for environments/packaging (runner-up: pip+venv - uv is faster and lockfile-native), ruff as the single linter+formatter (replaces flake8/isort/black), pytest for tests, mypy for types, pyproject.toml as the one config home. Python 2 relics (2to3, six) and legacy tool chains belong to migration work, not new projects. - R: usethis/devtools for package workflow, testthat for tests, lintr + styler for quality, roxygen2 for docs, renv for reproducible libraries; rOpenSci's guide is the community bar. - C/C++: CMake as the build lingua franca, Catch2 or GoogleTest for tests, clang-tidy + clang-format for quality, sanitizers (ASan/UBSan) in CI, a package manager (vcpkg/Conan) over vendored sources. - Fortran: fpm (Fortran Package Manager) for new projects, gfo...

Details

Author
fdiblen
Repository
fdiblen/rseng-agent-skills
Created
4 days ago
Last Updated
4 days ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Code & Development Solid

rseng-code-quality

Covers writing readable research code and structuring software projects: naming, formatting, style guides, linters and formatters, pre-commit hooks, modular design, and a conventional directory layout with top-level metadata files. Use when the user asks how to make code readable or clean, pick or enforce a style guide, set up linting/formatting or pre-commit, name variables and functions, organise a repo, or decide where files and data go. For generating a new project from a maintained template see rseng-project-scaffolding; for quantitative complexity and duplication measurement see rseng-software-metrics; for architecture-level structure see rseng-software-design.

14 Updated 4 days ago
fdiblen
Code & Development Solid

r-conventions

R code conventions covering R 4.1+, tidyverse/base style, styler/lintr, roxygen2, testthat, error handling, input validation, C/C++/Rust interop, and CRAN compliance. Load when writing or reviewing R code.

141 Updated 3 days ago
Goldziher
Code & Development Listed

coding-standards

Cross-language coding conventions — naming, type safety, error handling, async, imports, SQL formatting, git commit format, complexity/size limits, security, and a pre-PR review checklist for Python, TypeScript/JavaScript, Rust, and Go. Use when writing or reviewing code, setting a project's style baseline, answering "what's the convention for X", enforcing types/docstrings, formatting a SQL query or commit message, or running the pre-PR checklist. Language deep dives and tool configs live in reference/.

5 Updated yesterday
nxtg-ai