Did you read official codex documentation about theme development?
Anyway here are some points to note
At the very minimum, a WordPress Theme consists of two files:
- style.css
- index.php
functions.php
A theme can optionally use a functions file, which resides in the theme subdirectory and is named functions.php.
This file basically acts like a plugin, and if it is present in the theme you are using, it is automatically loaded during WordPress initialization (both for admin pages and external pages)
Template Files List
Here is the list of the Theme files recognized by WordPress. Of
course, your Theme can contain any other stylesheets, images, or
files. Just keep in mind that the following have special meaning to
WordPress -- see Template Hierarchy for more information.
style.css
The main stylesheet. This must be included with your Theme, and it
must contain the information header for your Theme.
rtl.css
The rtl stylesheet. This will be included automatically if the
website's text direction is right-to-left. This can be generated using
the the RTLer plugin.
index.php
The main template. If your Theme provides its own templates, index.php
must be present.
comments.php
The comments template.
front-page.php
The front page template, it is only used if you use a static front
page.
home.php
The home page template, which is the front page by default. If you use
a static front page this is the template for the page with the latest
posts.
single.php
The single post template. Used when a single post is queried. For this
and all other query templates, index.php is used if the query template
is not present.
single-.php
The single post template used when a single post from a custom post
type is queried. For example, single-books.php would be used for
displaying single posts from the custom post type books. index.php is
used if the query template for the custom post type is not present.
page.php
The page template. Used when an individual Page is queried.
category.php
The category template. Used when a category is queried.
tag.php
The tag template. Used when a tag is queried.
taxonomy.php
The term template. Used when a term in a custom taxonomy is queried.
author.php
The author template. Used when an author is queried.
date.php
The date/time template. Used when a date or time is queried. Year,
month, day, hour, minute, second.
archive.php
The archive template. Used when a category, author, or date is
queried. Note that this template will be overridden by category.php,
author.php, and date.php for their respective query types.
search.php
The search results template. Used when a search is performed.
attachment.php
Attachment template. Used when viewing a single attachment.
image.php
Image attachment template. Used when viewing a single image
attachment. If not present, attachment.php will be used.
404.php
The 404 Not Found template. Used when WordPress cannot find a post or
page that matches the query.
Here are some resources for faster theme development
- WordPress frameworks and parent themes
- framework for plugin/theme options panel
- Best Collection of Code for your functions.php file
- Best collection of code for your .htaccess file