North Star Group, Inc.
19901 Quail Circle
Fairhope AL 36532
701-770-9118
michaelh@nsgia.com
Custom Instructions for AI Systems
My Setup and Constraints
I’m using Flask, plain HTML, and custom CSS—no React, Tailwind, or Bootstrap. I’ve got over 200
templates and HTML files, so switching frameworks like React is off the table; don’t suggest it. I’m
69, don’t use an IDE (vision’s weak), and work in the terminal with full files—snippets or diffs are a
nightmare, so always give me complete, working files. My memory fades fast, so I need
everything spelled out to revisit later.
Naming Conventions
Blueprints: End with _blueprint, e.g., admin_routes_blueprint.py.
Templates: Long and clear, e.g., admin_track_user_dashboard.html.
CSS: Matches templates, e.g., admin_track_user_dashboard.css.
Modules: Small, logic-specific, e.g., library_utils.py.
Why: Terminal clarity—I see what’s what instantly.
Change Logs Are Non-Negotiable
Every file gets a detailed change log at the top:
Route: e.g., /library tied to front_routes_blueprint.library.
Blueprint: e.g., front_routes_blueprint.py.
Essential Data: Template folder, static folder, CSS (inline or file), registration (see below).
Dates and Versions: e.g., 2025-04-09 - v1.0: Added X.
Narrative & Tutorial: Why, what, how—like a story. Example: “User wanted rows, not
cards, for 200+ files—moved logic to module.
Details: If replacing lines, say it (e.g., “Swapped lines 10-15 in library.html”).
Funding Opportunities for Modular Housing and Decentralized Energy in Ukraine (2025)
1
HTML Comments: Use <!-- (e.g., <!-- Change log here -->), not {##}, for F12 visibility in the
browser.
Purpose: I forget stuff (age 69!), so this is my memory, guide, and error-cutter. It also helps
you (AI) grok my app later—full files with logs save time.
Blueprint Registration
At the bottom of every blueprint, include this, filled out:
text
CollapseWrapCopy
# To register this blueprint in your app:
# from blueprints.[filename] import [blueprint_name]
# app.register_blueprint([blueprint_name])
Example:
text
CollapseWrapCopy
# To register this blueprint in your app:
# from blueprints.front_routes_blueprint import front
# app.register_blueprint(front)
This is my lifeline for modular_app.py—don’t skip it.
Blueprint Rules
Keep Them Short: Over 300 lines is too much—I can’t handle it. Blueprints are for routing
only; move logic to small modules (e.g., library_utils.py).
Small Modules: If a route needs logic (e.g., sorting, text parsing), put it in a separate file,
even if tiny. Example: library_utils.sort_by_date().
________________________________________________
© North Star Group, Inc. 2025 All rights reserved.
19901 Quail Circle
Fairhope AL 36532
701-770-9118
michaelh@nsgia.com
Funding Opportunities for Modular Housing and Decentralized Energy in Ukraine (2025)
2
Error Checking: Every function starts with error checks (e.g., if not os.path.exists(path):
print("Error: Path missing"); abort(404)), printing to console—I’ll fix logging later, it’s busted
now.
Why: Short blueprints and modules are easier to debug in the terminal. Errors upfront
catch problems fast.
CSS Rules
Inline for Simple Stuff: For quick jobs like the library page, CSS goes in <head> (e.g.,
<style> .thing { color: blue; } </style>)—no hunting base.html or adding files.
Separate Files for Complex Stuff: If it’s big or reused, use a CSS file with a long, unique
name (e.g., admin_track_user_dashboard.css). No Bootstrap or Tailwind—they break my
setup.
Unique Class Names: With 200+ templates and maybe a dozen CSS files in base.html,
classes must be specific (e.g., library-entry, not entry) to dodge conflicts—clashes are
rabbit holes.
Library Now: Inline CSS is fine; one library page. If I add more, I might move it to
base.html, but classes stay unique.
Why: Inline’s easy for small fixes; unique names prevent chaos with many files.
How I Work
Full Files Only: Always give the whole front_routes_blueprint.py or library.html—no
“replace lines 10-12.” I can’t see diffs; full files are copy-paste simple.
One Shot: Deliver once, complete, no revisions unless I ask—hours of tweaks kill me.
Plain English: Say “list with links and text below,” not “interpolations”—tech words lose
me.
Why: No IDE, bad eyes, need self-contained files to stay on track.
Tech Stack
Flask (Python web framework).
Nginx (serves static files).
HTML (plain, long names).
CSS (custom, long names, inline or unique).
Direct MySQL via utils (no ORM, if database stuff comes up).
________________________________________________
© North Star Group, Inc. 2025 All rights reserved.
19901 Quail Circle
Fairhope AL 36532
701-770-9118
michaelh@nsgia.com
Funding Opportunities for Modular Housing and Decentralized Energy in Ukraine (2025)
3
Example Request
“Update library.html to show a list, not cards. Each file gets a clickable title with its date, and
below it, 200 characters of its text, sorted newest first. Use inline CSS in <head>. Keep base.html.
If front_routes_blueprint.py needs sorting or text logic, move it to a small module like
library_utils.py with error checks printing to console. Give me full front_routes_blueprint.py,
library_utils.py (if needed), and library.html, one time, with change logs showing route /library,
blueprint front_routes_blueprint.py, registration at the bottom, and why we’re doing this.
Why This Matters
I’m sharp but forgetful, and my eyes struggle. Full files with logs and modules let me review in the
terminal, fix my own mistakes (e.g., “Where’s the logic? Why’s it crashing?”), and stay
independent. Without this, I drown—explicitness keeps me afloat.
Sessions Note
Sessions (e.g., login checks like “Am I logged in?”) are tricky and need review before use—flag
them for me to check, but don’t apply yet.
Key Additions
Short Blueprints: Logic moves to modules (e.g., library_utils.py), blueprints stay under
300 lines, routing-focused.
Error Checking: Every function prints errors to console from the start.
CSS Conflicts: Unique class names emphasized—big deal with your file count.
Registration: Locked in at the bottom, as requested.
Sessions: Noted as a review item, not today’s task.
This should sing for any AI, respecting your terminal life, bad eyes, and need for clean,
maintainable code. Stick it in your instructions—Claude, Grok, ChatGPT will get it right. Anything
else to nail down?
________________________________________________
© North Star Group, Inc. 2025 All rights reserved.
19901 Quail Circle
Fairhope AL 36532
701-770-9118
michaelh@nsgia.com
Funding Opportunities for Modular Housing and Decentralized Energy in Ukraine (2025)
4
________________________________________________
© North Star Group, Inc. 2025 All rights reserved.
19901 Quail Circle
Fairhope AL 36532
701-770-9118
michaelh@nsgia.com