P

Pro App Workspace

Enterprise-grade skill for main, application, building, orchestrator. Includes structured workflows, validation checks, and reusable patterns for business marketing.

SkillClipticsbusiness marketingv1.0.0MIT
0 views0 copies

Pro App Workspace

Unified workspace setup for building professional applications — covering project scaffolding, development environment configuration, code quality tooling, CI/CD integration, and team collaboration standards.

When to Use

Set up a pro workspace when:

  • Starting a new application project with a team
  • Standardizing development practices across repositories
  • Onboarding new developers who need consistent tooling
  • Migrating from ad-hoc development to professional workflows

Use simpler setups when:

  • Personal projects or quick prototypes
  • Single-file scripts or utilities
  • Learning projects where tooling overhead hinders exploration

Quick Start

Project Scaffolding

# Create project structure mkdir -p my-app/{src,tests,docs,scripts,.github/workflows} cd my-app # Initialize git init npm init -y # or: poetry init, cargo init, go mod init # Essential config files touch .gitignore .editorconfig .env.example

Essential Configuration

# .editorconfig - consistent coding style across editors root = true [*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.{py,rs}] indent_size = 4 [*.md] trim_trailing_whitespace = false

Code Quality Setup

// package.json (Node.js example) { "scripts": { "lint": "eslint src/", "format": "prettier --write src/", "test": "vitest", "test:coverage": "vitest --coverage", "typecheck": "tsc --noEmit", "check": "npm run typecheck && npm run lint && npm run test" }, "devDependencies": { "eslint": "^9.0.0", "prettier": "^3.0.0", "vitest": "^2.0.0", "typescript": "^5.0.0" } }

Git Hooks with Husky

# Install and configure npm install -D husky lint-staged npx husky init # Pre-commit hook echo "npx lint-staged" > .husky/pre-commit # lint-staged configuration cat > .lintstagedrc.json << 'EOF' { "*.{ts,tsx,js,jsx}": ["eslint --fix", "prettier --write"], "*.{json,md,yaml}": ["prettier --write"] } EOF

Core Concepts

Workspace Components

ComponentPurposeTools
Version controlCode history, collaborationGit, GitHub/GitLab
Package managementDependency trackingnpm, pnpm, poetry, cargo
LintingCode quality enforcementESLint, Ruff, Clippy
FormattingConsistent code stylePrettier, Black, rustfmt
TestingQuality assuranceVitest, pytest, cargo test
Type checkingStatic analysisTypeScript, mypy, rustc
CI/CDAutomated pipelinesGitHub Actions, GitLab CI
DocumentationKnowledge sharingREADME, JSDoc, Sphinx

Project Structure (Node.js/TypeScript)

my-app/
  ├── src/
  │   ├── index.ts           # Entry point
  │   ├── routes/             # API routes
  │   ├── services/           # Business logic
  │   ├── models/             # Data models
  │   └── utils/              # Shared utilities
  ├── tests/
  │   ├── unit/               # Unit tests
  │   └── integration/        # Integration tests
  ├── docs/                   # Documentation
  ├── scripts/                # Build/deploy scripts
  ├── .github/workflows/      # CI/CD pipelines
  ├── .env.example            # Environment template
  ├── .gitignore
  ├── .editorconfig
  ├── tsconfig.json
  ├── package.json
  └── README.md

Configuration

ToolConfig FilePurpose
TypeScripttsconfig.jsonType checking and compilation
ESLinteslint.config.jsCode quality rules
Prettier.prettierrcCode formatting
Git.gitignoreUntracked files
Editor.editorconfigCross-editor consistency
Environment.env.exampleRequired env vars template
CI/CD.github/workflows/Pipeline definitions

Best Practices

  1. Automate quality checks — lint, format, and test on every commit via git hooks
  2. Use .env.example — document all required environment variables without secrets
  3. Standardize with EditorConfig — every editor respects the same rules
  4. Write a useful README — setup instructions, architecture overview, and contribution guide
  5. Pin dependency versions — use lockfiles (package-lock.json, poetry.lock)
  6. Set up CI on day one — automated checks prevent quality regression

Common Issues

"It works on my machine": Use Docker for consistent environments. Pin Node/Python/Rust versions in CI and .tool-versions. Document exact setup steps in README.

Code style debates: Adopt Prettier/Black with defaults. Auto-format on save and pre-commit. Style is automated, not debated.

Slow CI pipeline: Cache dependencies between runs. Run lint, typecheck, and tests in parallel. Only run tests affected by changed files.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates