# GMAO development environment

## Project

This repository contains the GMAO application.

Primary stack:

- Python
- Flask
- SQLAlchemy
- Git

## Important working rules

Before modifying important parts of the application:

1. inspect the existing code;
2. inspect the current Git status;
3. preserve existing functionality;
4. avoid destructive rewrites unless necessary;
5. run available tests after modifications;
6. check application startup after significant changes;
7. use incremental Git commits.

## Secrets

Never commit:

- .env files;
- passwords;
- API tokens;
- SSH private keys;
- Forgejo tokens;
- database credentials;
- external service credentials.

Before the first push to Forgejo, inspect the complete project for secrets.

If an existing .git history is present, also inspect Git history when appropriate.

## System access

This machine is a dedicated development VM.

sudo is available when administrative access is required.

Avoid unnecessary destructive system operations.

Do not delete or reconfigure:

- SSH;
- network configuration;
- databases;
- Git repositories;
- system services;

without first inspecting their purpose.

## Project directory

/opt/gmao

## Python virtual environment

/opt/gmao/.venv

Activate it with:

source /opt/gmao/.venv/bin/activate

## Forgejo

Forgejo server:

http://192.168.1.103:3001

Forgejo user:

alban

Default repository:

gmao
