diff --git a/.claude/commands/api-docs.md b/.claude/commands/api-docs.md new file mode 100644 index 0000000..3804a47 --- /dev/null +++ b/.claude/commands/api-docs.md @@ -0,0 +1,26 @@ +# API Documentation Generator Command + +> Rationale: API docs should be consistent, complete, and testable. + +## When to Use +- New endpoints are added or changed +- Major API version updates + +## Inputs +- Source code (endpoints/controllers) +- Existing API docs and examples + +## Step-by-Step +1. Identify endpoints and group by resource +2. Extract params, types, auth, and error shapes +3. Create/Update tables and runnable examples +4. Add links to related guides and tutorials +5. Validate curl/HTTP examples locally + +## Example Invocation +- "/api-docs: generate or update docs for the new orders endpoints" + +## Output +- Complete API reference using `docs/templates/api-documentation.md` +- Interactive examples and error handling +- Links to related docs and tutorials diff --git a/.claude/commands/doc-audit.md b/.claude/commands/doc-audit.md new file mode 100644 index 0000000..401baed --- /dev/null +++ b/.claude/commands/doc-audit.md @@ -0,0 +1,32 @@ +# Documentation Audit Command + +> Rationale: Regular audits keep documentation accurate, consistent, and useful. This command defines a repeatable audit workflow for teams and AI assistants. + +## When to Use +- Before a release or milestone +- After large refactors or dependency upgrades +- When onboarding new team members + +## Inputs +- Project docs in `docs/` +- Standards in `standards/` +- Current status in `docs/status/` + +## Step-by-Step +1. Inventory all docs and key sections (index, status, architecture, guides) +2. Validate cross-references and navigation links +3. Verify examples are runnable and up-to-date +4. Identify duplication and move to single source of truth +5. Record gaps, outdated sections, and inconsistencies +6. Propose prioritized actions with owners and timelines + +## Example Invocation +- Ask your assistant: "/doc-audit: audit our docs and produce findings" +- Or run manually following the steps above + +## Output +Create `docs/_working/audit-report-[date].md` including: +- Executive summary +- Gap analysis +- Prioritized recommendations with owners +- Suggested timeline and acceptance criteria diff --git a/.claude/commands/doc-structure.md b/.claude/commands/doc-structure.md new file mode 100644 index 0000000..aef8069 --- /dev/null +++ b/.claude/commands/doc-structure.md @@ -0,0 +1,29 @@ +# Documentation Structure Command + +> Rationale: Designing the structure first prevents duplication and ensures consistent navigation. + +## When to Use +- At project start or major feature kickoff +- After a doc audit that identified gaps + +## Inputs +- Requirements and audience notes +- Existing docs index and status files +- Available templates in `docs/templates/` + +## Step-by-Step +1. Identify personas and their top tasks (developer, operator, PM) +2. Draft IA: index, status, architecture, guides, and cross-links +3. Map each section to a template (API, tutorial, how-to) +4. Define acceptance criteria and examples per section +5. Validate against SSOT: avoid duplicating information + +## Example Invocation +- "/doc-structure: propose an IA and section plan for the new feature" + +## Output +Generate `docs/_working/structure-plan.md` with: +- Outline and navigation +- Cross-reference map +- Template assignments +- Acceptance criteria and example lists diff --git a/.claude/commands/review-cycle.md b/.claude/commands/review-cycle.md new file mode 100644 index 0000000..a9a3694 --- /dev/null +++ b/.claude/commands/review-cycle.md @@ -0,0 +1,19 @@ +# Documentation Review Cycle Command + +> Rationale: A repeatable review cycle ensures docs stay accurate and accessible. + +## When to Use +- Before releases +- After major documentation changes + +## Step-by-Step +1. Technical Accuracy: validate commands, code snippets, and configs +2. Content Quality: clarity, grammar, tone, and completeness +3. UX Review: navigation, headings, scannability, and search +4. Maintenance: ensure SSOT, remove duplicates, add cross-references + +## Example Invocation +- "/review-cycle: run a full review and summarize findings" + +## Output +Generate `docs/_working/review-report-[date].md` with findings and action items. diff --git a/.claude/output-style.md b/.claude/output-style.md new file mode 100644 index 0000000..921a3b7 --- /dev/null +++ b/.claude/output-style.md @@ -0,0 +1,29 @@ +# Documentation Output Style Configuration + +Refer to the root `advanced_ia_doc_workflow.md` for the full version. This file scopes the core rules for this boilerplate. + +## Structure Standards + +### Document Hierarchy +``` +# Primary Title (H1) - Document Purpose +## Major Section (H2) - Key Topics +### Subsection (H3) - Specific Concepts +#### Detail Section (H4) - Implementation Details +``` + +### Required Elements +- Introduction, Prerequisites, Main Content, Examples, Troubleshooting, Next Steps + +## Content Guidelines +- Runnable, complete code examples with syntax highlighting +- Active voice, present tense; define terms on first use +- Use tables for structured comparisons + +## MCP Tool Integration +- Always check existing docs before suggesting changes +- Maintain consistent naming conventions for files + +## Context Efficiency +- Summarize long technical details; link to references in `docs/` +- Use reusable snippets where possible diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4a036b9 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 + diff --git a/.eslintrc.json b/.eslintrc.json index 3722418..e6ff4d6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,12 @@ { - "extends": ["next/core-web-vitals", "next/typescript"] + "root": true, + "extends": ["next/core-web-vitals", "next/typescript"], + "ignorePatterns": [ + ".next/**", + "out/**", + "build/**", + "node_modules/**", + "dist/**", + "next-env.d.ts" + ] } diff --git a/.gitignore b/.gitignore index fd3dbb5..b78caa7 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,6 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +# project management +docs/PROJECT_MANAGEMENT.md diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..4fbf2a5 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,23 @@ +# Dependencies +node_modules/ + +# Build outputs +.next/ +out/ +build/ +dist/ + +# Generated files +next-env.d.ts +*.tsbuildinfo + +# Lock files +yarn.lock +package-lock.json +pnpm-lock.yaml + +# Public assets (don't format) +public/ + +# Coverage +coverage/ diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..1c84e31 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,9 @@ +{ + "semi": false, + "singleQuote": false, + "printWidth": 100, + "tabWidth": 2, + "trailingComma": "es5", + "arrowParens": "always", + "endOfLine": "lf" +} diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..44a4f6e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,66 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Company Context + +**Trees Software** is an umbrella company managing a portfolio of software projects including client work, internal SaaS products, and experimental projects. The company operates from Uruguay with a focus on modern web and mobile applications. + +## Project Portfolio Structure + +This repository serves as the master documentation and management hub for Trees Software. Individual project codebases are maintained in separate repositories. Key project categories: + +- **🟒 Production & Live**: maicemita-site (e-commerce), personal-site (portfolio) +- **🟑 Active Development**: avent-properties (Next.js), linear-clone (Phoenix/Elixir + Next.js), train-uy (Next.js + Supabase), pomodoro (Flutter), radios-blog (Next.js + Supabase), trees-software +- **πŸ’Ό Client Projects**: barber_time, fat_free_crm, Online-Booking-Management, nextjs-appointment-booking (Next.js/TypeScript) +- **πŸ”§ Maintenance**: autox, advanced-react-patterns, project-manager, scrappers +- **πŸ§ͺ Experimental**: ai-assistant-development-kit, docker containerization + +## Technology Stack + +### Primary Technologies +- **Frontend**: Next.js 15, React, TypeScript (90% coverage), TailwindCSS, shadcn/ui +- **Mobile**: Flutter 3.35.3, Dart 3.9.2 +- **Backend**: Phoenix/Elixir, Node.js/Express, Supabase +- **Deployment**: Vercel (primary), various hosting solutions + +### Project Standards +- TypeScript usage target: 90% of projects +- Testing coverage target: 65% of projects +- Documentation requirement: 90% of projects +- CI/CD setup target: 75% of projects + +## Documentation Structure + +All project management and company information is centralized in `/documentation/`: + +- `PROJECT_MANAGEMENT.md` - Single source of truth for all project statuses, priorities, and technical details +- `readme.md` - Company mission, vision, values, and business model +- Additional business documents (presentations, accounting, etc.) + +## Key Operating Principles + +1. **Completion over Features**: Focus on finishing projects rather than adding new features +2. **Quality Standards**: Maintain high technical standards with proper documentation +3. **Client Satisfaction**: Target 95%+ client satisfaction rate +4. **Agile Development**: Fast, iterative development with clear priorities +5. **Modern Design**: Design-first approach with beautiful, user-friendly interfaces + +## Current Priorities (High Priority Items) + +1. Complete avent-properties platform features +2. Complete pomodoro app store submission +3. Finish linear-clone backend integration +4. Deploy train-uy MVP +5. Continue trees-software development + +## Development Workflow + +- Projects are tracked by completion percentage and priority level +- Weekly progress reviews on active development +- Monthly technology stack updates and security audits +- Regular client project status updates with delivery timelines + +## Business Context + +Trees Software operates as both a service provider (client development) and product company (internal SaaS). The company maintains a portfolio approach with multiple revenue streams including client contracts, SaaS subscriptions, and white-label solutions. \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx index a36cde0..4397587 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -14,8 +14,21 @@ const geistMono = localFont({ }); export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", + title: "Trees Software - Custom Web & Mobile Development from Uruguay", + description: "Professional software development company from Uruguay. We transform your ideas into powerful web applications, mobile apps, and SaaS platforms. Expert developers delivering quality solutions worldwide.", + keywords: "software development, web development, mobile apps, Uruguay, custom software, SaaS, e-commerce", + authors: [{ name: "Trees Software" }], + openGraph: { + title: "Trees Software - Custom Development Solutions", + description: "Transform your ideas into powerful software solutions with Trees Software from Uruguay", + type: "website", + locale: "en_US", + }, + twitter: { + card: "summary_large_image", + title: "Trees Software - Custom Development Solutions", + description: "Transform your ideas into powerful software solutions with Trees Software from Uruguay", + }, }; export default function RootLayout({ diff --git a/components/footer.tsx b/components/footer.tsx index a64ce3b..01f52b2 100644 --- a/components/footer.tsx +++ b/components/footer.tsx @@ -5,10 +5,9 @@ export function Footer() {